  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Struts - A MVC web framework | | Tomcat - JSP/Servlet container | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | | JSP - A mailing list about Java Server Pages specification and reference | |
Struts & Hibernate
|
|
|
  | | | TOMCAT and JNI problem... | TOMCAT and JNI problem... 2004-01-26 - By J.Pablo M
Back 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)
|
|
 |