on 12-16-2015 2:27 PM
Hi!
I am using some cryptographic functions in message mapping.
One of the Java classes used in UDF calls JNI library in static constructor, like this:
class IPriv_native
{
static
{
System.loadLibrary("jiprivpg");
}
..
}
When I call mapping for the first time, it works perfect.
After that every subsequent call gives an error:
Runtime exception when processing target-field mapping /ns0:MobileCoinsChargeStatus; root message: Exception:[java.lang.UnsatisfiedLinkError: Native Library /usr/sap/POD/J00/exe/libjiprivpg.so already loaded in another classloader] in class com.sap.xi.tf._MobileCoinsCheck_to_MobileCoinsCheckResult_
Is it possible to manage class loaders so that the library could be available from every UDF call?
Will it be useful to put my .jar to some folder from where it could be loaded with every Java server restart?
The issue seems to be solved with help of SAP note 542175.
We put .jar (which is working with shared library) into some folder and put its path to Netweaver VM property "java.class.path". After that all applications are working with shared library using one common .jar which is available due to presence in java.class.path.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Andrey,
Why don;t you import the libraries required in the import secion of the UDF.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
9 | |
9 | |
9 | |
6 | |
6 | |
5 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.