Using GeoTools with Multiple User Accounts
By mattwigway
I have a situation where I have multiple GeoTools applications being run on a server by different users. I was having a lot of issues with exceptions about not being able to decode CRS codes, even though I was sure I had the gt-epsg-hsql
file included in my JAR, and had set up Maven correctly to include the dependency.
It turns out the issue was that the gt-epsg-hsql
extracts its hsql database of projections to Geotools
in the system temporary directory, and if there are multiple geotools apps running as different users, the first one to start gets the directory, and the remaining ones crash because they don’t have permissions to access it.
The workaround is to use separate temporary directories for each user. The easy way to do this is TMPDIR=`mktemp -d` application, which creates a new unique temporary directory each time an application is started.