Thread: Loading of native libraries in PLJAVA
We are facing 2 problems in loading files from Pljava.
1. Loading Native C library from Pljava trigger.
From Pljava trigger, we were trying to load native library, Using System.loadLibrary("<library_name>"), which is
specified in the LD_LIBRARY_PATH.
Also specified the library file under /var/lib/pljava where all the pljava specifc "*.so" files are located, which has an entry in the postgresql.conf - dynamic_library_path for "/var/lib/pljava",
Both theses cases failed to load native library.
we are getting this error in both cases- UnSatisfiedLinkedError
2. Loading Properties file from trigger. (using Properties.load(<properties_name.properties>))
We are unable to load properties file from Properties.load("<properties_name.properties>").
we have included properties file in jar file and installed the jar and set the jar file in the classpath using "sqlj.set_classpath".
Any light on this.
Thnx
Rao
Nageshwar, This is not the right forum for PL/Java issues. You should use mailing list at pljava-dev@gborg.postgresql.org. > We are facing 2 problems in loading files from Pljava. > > 1. Loading Native C library from Pljava trigger. > > From Pljava trigger, we were trying to load native > library, Using System.loadLibrary("<library_name>"), which is > > specified in the LD_LIBRARY_PATH. > The likely cause of this is that this library in turn have dependencies to something not specified in the LD_LIBRARY_PATH or that you have some mismatch in function naming. That in turn should be apparent from the exception message (can't tell since you didn't convey it here). > > Also specified the library file under /var/lib/pljava > where all the pljava specifc "*.so" files are located, which has an > entry in the postgresql.conf - > dynamic_library_path for "/var/lib/pljava", > > > Both theses cases failed to load native library. > > we are getting this error in both cases- > UnSatisfiedLinkedError > The dynamic_library_path is only used by the PostgreSQL backend when it loads a module. It has no effect whatsoever on the System.loadLibrary method. > > 2. Loading Properties file from trigger. (using > Properties.load(<properties_name.properties>)) > We are unable to load properties file from > Properties.load("<properties_name.properties>"). > we have included properties file in jar file and > installed the jar and set the jar file in the classpath using > "sqlj.set_classpath". > To my knowledge there's Properties.load method that takes a String argument. You have to use the Class.getResourceAsString() in order to obtain an InputStream for a resource stored in a jar file. The class in question should be in the same package as the resource (i.e. your properties file). Regards, Thomas Hallgren