dll's in 3.0.4
kashpaw Nov 20, 2002 2:12 PMI'm in the process of upgrading an app from JBoss2.4.4 to 3.0.4. I'm using JDK1.4.0 and Windows2000.
In 2.4.4, in order for my dll's to be found, I put them in lib/ext, and linked to files of the same name in $JBOSS_HOME/bin (so that they'd be found on the java.library.path - the exec dir is on the library path in Windows). An ejb then called into the native library via a jni wrapper (in another jar in lib/ext) that does the loadLibrary call. One wierd thing is that I had to have the dll's in the bin dir - if I instead explicitly specified that the java.library.path be lib/ext, an UnsatisfiedLinkError would be thrown saying the library couldn't be found. Okay, not pretty, but it worked.
In 3.0.4, I put the dll's in the /lib dir, and linked to files of the same name in bin. But this no longer works - I get an UnsatisfiedLinkError in one of the calls to native code (but at least it doesn't complain that it can't find the library). I've tried moving the dlls to different places (for example, to the jre/lib which loads 'em on startup, but that's no good, since one of my calls into this commercial library does a load too, and the JVM really hates that) and explicitly setting the library path, but nothing has worked.
More specifically, the dll's are Tibco InConcert icjni.dll and inconcert.dll. And here's the stack trace:
12:47:56,805 ERROR [LogInterceptor] Unexpected Error:
java.lang.UnsatisfiedLinkError: initialize
at com.inconcert.icjava.server.IcSessionNImpl.initialize(Native Method)
at com.inconcert.icjava.server.IcSessionRemImpl.initialize(IcSessionRemImpl.java:75)
at com.inconcert.icjava.IcSessionImpl.initialize(IcSessionImpl.java:45)
at com.inconcert.icjava.IcServerImpl.createSession(IcServerImpl.java:37)
at com.inconcert.icjava.IcClient.directInitialize(IcClient.java:129)
at com.skyoptix.platform.meteor.server.workflow.uirqhandler.WfUIRequestHandlerBean.ejbCreate(WfUIRequestHandlerBean.java:294)
Any useful suggestions much appreciated!
Bill