cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/modules/server JNIEndpoint.java JNIConnectionHandler.java
nacho 01/09/23 15:14:35 Modified:src/share/org/apache/tomcat/modules/server JNIEndpoint.java JNIConnectionHandler.java Log: Adding shutdown to JNI. Revision ChangesPath 1.7 +3 -3 jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java Index: JNIEndpoint.java === RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- JNIEndpoint.java 2001/09/23 18:10:11 1.6 +++ JNIEndpoint.java 2001/09/23 22:14:35 1.7 @@ -197,13 +197,13 @@ return 0; } -public void shutdown() -{ -System.out.println(JNI In shutdown); +public void shutdown(){ +handler.shutdown(); } public static interface JniHandler { public void processConnection( long s, long l ); + public void shutdown(); } } 1.15 +13 -4 jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIConnectionHandler.java Index: JNIConnectionHandler.java === RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIConnectionHandler.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- JNIConnectionHandler.java 2001/09/23 18:10:11 1.14 +++ JNIConnectionHandler.java 2001/09/23 22:14:35 1.15 @@ -134,10 +134,10 @@ } // callbacks from web server - + static Vector pool=new Vector(); static boolean reuse=true; - + /** Called from the web server for each request * You can extend JNIConnectionHandler and implement a different * JNIRequest/JNIResponse. Set the new handler on the JNIEndpoint, @@ -151,7 +151,7 @@ JNIResponseAdapter resA=null; try { - + if( reuse ) { synchronized( this ) { if( pool.size()==0 ) { @@ -171,7 +171,7 @@ resA =new JNIResponseAdapter(this); cm.initRequest( reqA , resA ); } - + resA.setRequestAttr(s, l); reqA.readNextRequest(s, l); @@ -193,6 +193,15 @@ } } +public void shutdown() +{ +try{ +cm.log(Shutdown from JNI ); +cm.shutdown(); +} catch (Throwable t){ +cm.log(Exception while JNI shutdown,t); +} +} // Find the native library private void initLibrary()
cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/modules/server JNIEndpoint.java
nacho 01/09/23 15:17:36 Modified:src/share/org/apache/tomcat/modules/server JNIEndpoint.java Log: Add some checks Revision ChangesPath 1.8 +3 -1 jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java Index: JNIEndpoint.java === RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- JNIEndpoint.java 2001/09/23 22:14:35 1.7 +++ JNIEndpoint.java 2001/09/23 22:17:36 1.8 @@ -198,7 +198,9 @@ } public void shutdown(){ -handler.shutdown(); +if ( handler != null running ) { +handler.shutdown(); +} } public static interface JniHandler {
cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/modules/server JNIEndpoint.java
costin 01/08/25 11:15:17 Modified:src/share/org/apache/tomcat/modules/server JNIEndpoint.java Log: Bug 3086 - add a mechansim to specify the timeout on the jni startup thread. Revision ChangesPath 1.5 +19 -4 jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java Index: JNIEndpoint.java === RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- JNIEndpoint.java 2001/08/24 01:15:18 1.4 +++ JNIEndpoint.java 2001/08/25 18:15:17 1.5 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java,v 1.4 2001/08/24 01:15:18 costin Exp $ - * $Revision: 1.4 $ - * $Date: 2001/08/24 01:15:18 $ + * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java,v 1.5 2001/08/25 18:15:17 costin Exp $ + * $Revision: 1.5 $ + * $Date: 2001/08/25 18:15:17 $ * * * @@ -121,6 +121,21 @@ return ep; } +public static final int DEFAULT_TIMEOUT=60*1000; + +public static int getTimeout() { + // # 3086 + String to=System.getProperty(JNIEndpoint.timeout); + if( to!=null ) { + try { + int i=new Integer( to ).intValue(); + return i; + } catch( Exception ex ){ + System.out.println(Invalid timeout + to ); + } + } + return DEFAULT_TIMEOUT; +} // JNI Entry points @@ -154,7 +169,7 @@ System.err.println(Starting up StartupThread); startup.start(); synchronized (this) { -wait(60*1000); +wait(getTimeout()); } System.err.println(End waiting); } catch(Throwable t) {
cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/modules/server JNIEndpoint.java
costin 01/08/23 08:02:42 Modified:src/share/org/apache/tomcat/modules/server JNIEndpoint.java Log: Use Main to start tomcat. Tomcat.java is deprecated, either EmbededTomcat or Main should be used. Revision ChangesPath 1.3 +4 -4 jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java Index: JNIEndpoint.java === RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- JNIEndpoint.java 2001/08/15 02:32:02 1.2 +++ JNIEndpoint.java 2001/08/23 15:02:42 1.3 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java,v 1.2 2001/08/15 02:32:02 mmanders Exp $ - * $Revision: 1.2 $ - * $Date: 2001/08/15 02:32:02 $ + * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java,v 1.3 2001/08/23 15:02:42 costin Exp $ + * $Revision: 1.3 $ + * $Date: 2001/08/23 15:02:42 $ * * * @@ -205,7 +205,7 @@ boolean failed = true; try { System.out.println(Calling main ); -org.apache.tomcat.startup.Tomcat.main(cmdLine); +org.apache.tomcat.startup.Main.main(cmdLine); System.out.println(Main returned ); failed = false; } catch(Throwable t) {
cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/modules/server JNIEndpoint.java
mmanders01/08/14 19:32:02 Modified:src/share/org/apache/tomcat/modules/server JNIEndpoint.java Log: Added necessary synchronization around notify calls and added a stacktrace on exceptions from calls to processConnection. Revision ChangesPath 1.2 +12 -5 jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java Index: JNIEndpoint.java === RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- JNIEndpoint.java 2000/09/17 06:37:53 1.1 +++ JNIEndpoint.java 2001/08/15 02:32:02 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java,v 1.1 2000/09/17 06:37:53 costin Exp $ - * $Revision: 1.1 $ - * $Date: 2000/09/17 06:37:53 $ + * $Header: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/JNIEndpoint.java,v 1.2 2001/08/15 02:32:02 mmanders Exp $ + * $Revision: 1.2 $ + * $Date: 2001/08/15 02:32:02 $ * * * @@ -95,13 +95,17 @@ // the handler is no longer useable if( handler==null ) { running=false; - notify(); +synchronized(this) { +notify(); +} return; } System.out.println(Running ...); running=true; -notify(); +synchronized(this) { +notify(); +} } // JNI Entry points @@ -156,6 +160,9 @@ return 1; } catch(Throwable t) { // Throwables are not allowed into the native code !!! +// print it out so that we can debug it later. +System.out.println(Caught throwable + t); +t.printStackTrace(); } } return 0;