tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Bilz" <thomas.b...@xplain.de>
Subject RE: JNI & Tomcat
Date Thu, 27 Jul 2000 09:24:48 GMT
I got it, but I'm not very satisfied. The way I managed the problem was to
move the wrapper-classes to the classpath
of tomcat: /usr/local/tomcat/classes. Not a very nice solution!?
I'm very surprised about this. I moved the files to WEB-INF/classes -
nothing happend - I moved them to WEB-INF/lib - nothing at all - so last
possibility was to move them to tomcat/classes. I thought that
WEB-INF/classes of every context would be added to CLASSPATH, but now I know
that's not true.

So at last I'm not content with this solution, but it works,
	Tom

> -----Original Message-----
> From: Amos Shapira [mailto:amos.shapira@webcollage.com]
> Sent: Wednesday, July 26, 2000 7:24 PM
> To: 'tomcat-user@jakarta.apache.org'
> Subject: RE: JNI & Tomcat
>
>
> Hi,
>
> I'm not an expert on this stuff, but as I write this we are
> tackling a similar problem.  Two web applications share the
> same JNI file to lock files using a system call.  When the
> two used their own copies of the .class files under WEB-INF/classes
> (but the same DLL in the PATH) they complaint about the shared object
> already being loaded by "the other application".  Removing the .class
> files from one of them didn't help.  Moved the .class to a
> classpath defined for ServletExec (this is ServletExec 3.0 with
> IIS 5 under Windows 2000) and things startted rocking.
>
> I don't remember the exact errors we had there, but you might want
> to try moving the .class file to one of the "general" directories in
> the classpath (as opposed to a web-application-specific directory)
> and see what happens.
>
> As for finding classes under WEB-INF/classes, yes, my experience
> so far is that just putting a hierarchy there (or sticking a .jar file
> under WEB-INF/lib) causes the classes to be automatically found
> by the servlet engine (I think it works both with Tomcat and
> ServletExec,
> and this is also the behaviour I infer from the Servlet 2.2 spec).
>
> Sorry I can't be more specific, hope this helps and I'm still curious
> what happens with your problem.
>
> Cheers,
>
> --Amos Shapira
> WebCollage
>
> > -----Original Message-----
> > From: Thomas Bilz [mailto:thomas.bilz@xplain.de]
> > Sent: Wednesday, July 26, 2000 6:01 PM
> > To: tomcat-user@jakarta.apache.org
> > Subject: RE: JNI & Tomcat
> >
> >
> > I'll check it, but I don't think the dependencies are the
> > problem. Shouldn't
> > the dependencies be okay, when it works with jserv?
> >
> > In jserv I had to insert a line into the properties-file of
> > the apropriate
> > context:
> > 'wrapper.classpath=/export/home/inetroot/Focus/Inetroot/PM3DC/
> > classes' to
> > make the JNI find the interface-definitions.
> > In Tomcat it should be enough, to put these classes into
> > WEB-INF/classes of
> > the context. Am I right?
> > Do I have to insert special lines into web.xml?
> >
> > Once again: THX, Tom
> >
> > > -----Original Message-----
> > > From: Amos Shapira [mailto:amos.shapira@webcollage.com]
> > > Sent: Wednesday, July 26, 2000 11:33 AM
> > > To: 'tomcat-user@jakarta.apache.org'
> > > Subject: RE: JNI & Tomcat
> > >
> > >
> > > Hi,
> > >
> > > I use JNI with Tomcat, but on Windows 2000.  No problems so
> > > far, though
> > > I use Tomcat as stand-alone environment for development under
> > > JBuilder 3.5.
> > > (it also works with ServletExec 3.0 under IIS on Windows 2000 and
> > > Windows NT).
> > >
> > > What I'd suggest you to double-check would be to see if
> > there are any
> > > unsatisfied dependencies for libNativeCalculator.so, use
> > > "ldd" (I think)
> > > to see if all its dependencies are resolved as well.
> > >
> > > Hope this helps,
> > >
> > > --Amos Shapira
> > > WebCollage
> > >
> > > > -----Original Message-----
> > > > From: Thomas Bilz [mailto:thomas.bilz@xplain.de]
> > > > Sent: Wednesday, July 26, 2000 11:46 AM
> > > > To: tomcat-user@jakarta.apache.org
> > > > Subject: RE: JNI & Tomcat
> > > >
> > > >
> > > > You are right, on Solaris you'll have to place it in
> > > > LD_LIB.... So I placed
> > > > the file libNativeCalculator.so in /usr/local/lib, part of
> > > LD_LIB....
> > > > I think the library is found, because when I delete the
> > > > library common.so in
> > > > /usr/local/lib the error changes to:
> > > > -------------
> > > > java.lang.UnsatisfiedLinkError: no NativeCalculator in shared
> > > > library path
> > > > 	at java.lang.Throwable.(Compiled Code)
> > > > 	at java.lang.Error.(Compiled Code)
> > > > 	at java.lang.LinkageError.(Compiled Code)
> > > > 	at java.lang.UnsatisfiedLinkError.(Compiled Code)
> > > > 	at java.lang.Runtime.loadLibrary(Compiled Code)
> > > > 	at java.lang.System.loadLibrary(Compiled Code)
> > > > 	at
> > > > de.xplain.GenericCalculator.OutputParams.getErrorMessage(Compi
> > > > led Code)
> > > > 	at
> > > >
> > >
> >
> de.xplain.GenericCalculator.Calculator.computeInternal(Compiled Code)
> > > > 	at
> de.xplain.GenericCalculator.Calculator.compute(Compiled Code)
> > > > 	at
> > > > de.xplain.GenericCalculator.Calculators.BarwertCalculator.comp
> > > > ute(Compiled
> > > > Code)
> > > >       .....
> > > > -------------
> > > > In my opinion the system can find the library, when it is
> > placed in
> > > > /usr/local/lib, but JVM can't
> > > > get the right function 'compute'.
> > > > Do you work with JNI and Tomcat? No problems in that?
> > > >
> > > > Thanks for spending your time on that problem,
> > > > 	Tom
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: Amos Shapira [mailto:amos.shapira@webcollage.com]
> > > > > Sent: Tuesday, July 25, 2000 7:18 PM
> > > > > To: 'tomcat-user@jakarta.apache.org'
> > > > > Subject: RE: JNI & Tomcat
> > > > >
> > > > >
> > > > > Hmm, how do you expect Tomcat to find the .so? (I
> assume this is
> > > > > UNIX).
> > > > >
> > > > > At least on Windows 2000, the .DLL files must be on the PATH
> > > > > in order to be found by JNI, I think for Solaris it is enough
> > > > > for them to
> > > > > be on LD_LIBRARYPATH (or somesuch).
> > > > >
> > > > > Hope this helps,
> > > > >
> > > > > --Amos Shapira
> > > > > WebCollage
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Thomas Bilz [mailto:thomas.bilz@xplain.de]
> > > > > > Sent: Tuesday, July 25, 2000 6:12 PM
> > > > > > To: tomcat-user@jakarta.apache.org
> > > > > > Subject: JNI & Tomcat
> > > > > >
> > > > > >
> > > > > > Yesterday I installed Tomcat and most things seem to work,
> > > > > > but I have a
> > > > > > problem with JNI in an old Servlet that ran on JServ before.
> > > > > > I have a shared library, which is loaded, and I have a
> > > > > > wrapper-class for it.
> > > > > > But I can't use this wrapper: every access to my servlet
> > > > ends with a
> > > > > > java.lang.UnsatisfiedLinkError.
> > > > > > -------------
> > > > > > Error: 500
> > > > > > Location: servlet/de.rechentools.servlets.Barwert
> > > > > > Internal Servlet Error:
> > > > > >
> > > > > > java.lang.UnsatisfiedLinkError: compute
> > > > > > 	at
> > > > > >
> > > > >
> > > >
> > >
> >
> de.xplain.GenericCalculator.Calculator.computeInternal(Compiled Code)
> > > > > > 	at
> > > de.xplain.GenericCalculator.Calculator.compute(Compiled Code)
> > > > > > 	at
> > > > > >
> de.xplain.GenericCalculator.Calculators.BarwertCalculator.comp
> > > > > > ute(Compiled
> > > > > > Code)
> > > > > > 	at
> > > > > >
> > de.rechentools.servlets.Barwert.createReplaceList(Compiled Code)
> > > > > > 	at
> > > > > >
> > > de.xplain.GenericServlets.RechenModulServlet.doGet(Compiled Code)
> > > > > > 	at
> > > > > >
> > > de.xplain.GenericServlets.RechenModulServlet.doPost(Compiled Code)
> > > > > > 	at javax.servlet.http.HttpServlet.service(Compiled Code)
> > > > > > 	at javax.servlet.http.HttpServlet.service(Compiled Code)
> > > > > > 	at
> > > > > >
> > > org.apache.tomcat.core.ServletWrapper.handleRequest(Compiled Code)
> > > > > > 	at
> > > org.apache.tomcat.core.ContextManager.service(Compiled Code)
> > > > > > 	at
> > > > > >
> org.apache.tomcat.service.connector.Ajp12ConnectionHandler.pro
> > > > > > cessConnection
> > > > > > (Compiled Code)
> > > > > > 	at
> > > > > >
> > org.apache.tomcat.service.TcpConnectionThread.run(Compiled Code)
> > > > > > 	at java.lang.Thread.run(Compiled Code)
> > > >
> > >
> >
>


Mime
View raw message