Hi Pablo
we also use JNI in our web apps. it works (except the reloading issue, but
that's another story).
we use the ./bin/setenv.sh script for our settings, therefore:
...
# must contain the ACE Agent JNI library "libaceagent.so":
LD_LIBRARY_PATH=/home/bgo/deploy/sr-hls/native
export LD_LIBRARY_PATH
...
I assume, your JNI implementation is somehow broken... and this makes Tomcat
stop... but that's just a wild guess from far away...
regards
-Bernd.
> -----Original Message-----
> From: J.Pablo M [mailto:muneto10@(protected)]
> Sent: Montag, 26. Januar 2004 17:20
> To: tomcat-user@(protected)
> Subject: TOMCAT and JNI problem...
>
>
> Hello.
>
> I'm running a JSP based Web aplicacion using Tomcat wich
> uses a Java Class
> that loads a
> native library (JNI).
>
> The files are created as follows:
>
> > javac extractor/HTDInterface.java
> > javah extractor.HTDInterface
>
> then I compile my c++ source code with the header file
> "extractor_HTDInterface.h" to create
> the shared library "libhtd.so"
>
> create a jar file with the Class that implements JNI call
>
> static {
> System.loadLibrary("htd");
>
> >jar cvf extractor.jar extractor/HTDInterface.class
>
> For testing a standalone application I set my CLASSPATH to include
> extractor.jar
> and libhtd.so file is placed inside the JDK at
> /JAVA_HOME/jre/lib/i386/
> I successfully build and run The standalone application usin
> the shared
> library.
>
> For the web application, extractor.jar is placed at
> /common/lib/ TOMCAT
> directory
> I leave the libhtd.so at the /JAVA_HOME/jre/lib/i386/ JDK directory.
> When my JSP based Web application calls the native library method
> the Tomcat just STOPS.... it doesn't work STOPS....
> The message is:
> The connection was refused when attempting to contact
> localhost:8080
> I have to run startup.sh script again.
>
> I took off the libhtd.so file from /JAVA_HOME/jre/lib/i386/
> and I placed it
> in a different directory outside the tomcat:
>
> /home/myuser/lib/libhtd.so
>
> Then I made a script to start the tomcat with the LD_LIBRARY_PATH
> environment variable set up:
> -------------------------------------------------------------
> #!/bin/sh
> export JAVA_HOME=/opt/java
> export CATALINA_HOME=/usr/local/jakarta-tomcat
> export PATH=${JAVA_HOME}/bin:${PATH}
> export JAVA_PATH=${JAVA_HOME}
> # path to load the libhtd.so shared library
> export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/myuser/lib
>
> cd /usr/local/jakarta-tomcat/bin
> sh startup.sh
> -------------------------------------------------------------
>
> BUT the same happens when the Web application calls the native library
> method
> the Tomcat just STOPS.... it doesn't work ......STOPS....
>
> The message is:
> The connection was refused when attempting to contact
> localhost:8080
>
> just like when you try to load the web application and the
> TOMCAT server is
> not UP.
>
> Does anyone knows how to solve this ????
>
> I have read that maybe setting up the CATALINA_OPTS
> environment variable
> can solve this
> problem.... BUT I dont know how to set that variable. ???????
>
> I hope this time I've made myself clear
>
> Another thing: I'm working under Red Hat 9.0 TOMCAT 4.1.27
> and JDK 1.4.2
>
> Pablo Vidal
>
> _________________________________________________________________
> MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-user-unsubscribe@(protected)
> For additional commands, e-mail: tomcat-user-help@(protected)
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@(protected)
For additional commands, e-mail: tomcat-user-help@(protected)