tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "J.Pablo M" <munet...@hotmail.com>
Subject TOMCAT and JNI problem...
Date Mon, 26 Jan 2004 16:20:03 GMT
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@jakarta.apache.org
For additional commands, e-mail: tomcat-user-help@jakarta.apache.org


Mime
View raw message