billbarker 2004/01/16 19:24:51 Modified: jk/java/org/apache/jk/core WorkerEnv.java Log: Fix the problem that every Handler was getting added twice. Also, fix the case where we are attempting to replace a Handler (only possible if you are using your own JMX code to control Jk). Revision Changes Path 1.12 +13 -3 jakarta-tomcat-connectors/jk/java/org/apache/jk/core/WorkerEnv.java Index: WorkerEnv.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/core/WorkerEnv.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- WorkerEnv.java 25 Sep 2003 15:24:44 -0000 1.11 +++ WorkerEnv.java 17 Jan 2004 03:24:51 -0000 1.12 @@ -133,6 +133,11 @@ } public void addHandler( String name, JkHandler w ) { + JkHandler oldH = getHandler(name); + if(oldH == w) { + // Already added + return; + } w.setWorkerEnv( this ); w.setName( name ); handlersMap.put( name, w ); @@ -141,9 +146,14 @@ System.arraycopy( handlersTable, 0, newT, 0, handlersTable.length ); handlersTable=newT; } - handlersTable[handlerCount]=w; - w.setId( handlerCount ); - handlerCount++; + if(oldH == null) { + handlersTable[handlerCount]=w; + w.setId( handlerCount ); + handlerCount++; + } else { + handlersTable[oldH.getId()]=w; + w.setId(oldH.getId()); + } // Notify all other handlers of the new one // XXX Could be a Coyote action ?
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]