-
JNI call from EJB Session Bean (2 messages)
- Posted by: Jineesh P R
- Posted on: November 21 2007 03:47 EST
Hi, I need to call a 3rd party C++ api which is in a Shared library, from my stateless session bean flow. I am using weblogic and Websphere I know that EJB specs does not recommend laoding native libraries. Still, I plan to design in such a way that the native methods will be called directly from my flowcontroller. This is because we are never going to shift platform in near future. I did some testing, and found that the library loading fails by saying it is not in java.libraray.path. Eventhough, it is in LD_LIBRARY_PATH. Anyone knows whether is is supported to load a library from session bean flow? Should i load in StartUp class? If this is not supported, i may need to change the design to do RMI from EJB, and then load and call native APIs from there. Can anyone suggest a good design for this Any help is appreciated. Kindly request to share some toughts ThanksThreaded Messages (2)
- Re: JNI call from EJB Session Bean by Matthias Krause on November 21 2007 07:16 EST
- JNI call from EJB Session Bean in include by Jineesh P R on November 22 2007 03:22 EST
-
Re: JNI call from EJB Session Bean[ Go to top ]
- Posted by: Matthias Krause
- Posted on: November 21 2007 07:16 EST
- in response to Jineesh P R
Use System.load(String) function to load DLL's from a absolute destination. Some examples http://www.inonit.com/cygwin/jni/helloWorld/load.html How to agree this with EJB's in a Application Server is out of my mind. I think to accessing files from an EJB directly is not a good idea. Maybe writing an own ResourceAdpater can help. See http://publib.boulder.ibm.com/infocenter/wasinfo/v5r1//index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/cdat_resourcead.html Best Regards Matthias -
JNI call from EJB Session Bean in include[ Go to top ]
- Posted by: Jineesh P R
- Posted on: November 22 2007 03:22 EST
- in response to Matthias Krause
Thanks Matthias, After using system.load, i think it is better now. It tried loading the library. It looks better now. The failure now is more related to the format. It is something else i guess. Exception in thread "main" java.lang.UnsatisfiedLinkError: /custom/lib/libcrpr9FlLoader.sl: specified file is not a shared library, or a format error was detected. at java.lang.ClassLoader$NativeLibrary.load(Native Method)