Re: cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server JkCoyoteHandler.java JkMain.java

2004-01-27 Thread Remy Maucherat
[EMAIL PROTECTED] wrote:
billbarker2004/01/26 22:43:18

  Modified:jk/java/org/apache/jk/common ChannelSocket.java
JniHandler.java
   jk/java/org/apache/jk/core JkHandler.java
   jk/java/org/apache/jk/server JkCoyoteHandler.java
JkMain.java
  Log:
  Adding support for the new pause/resume protocol.
You beat me to it. Thanks :)

Rémy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server JkCoyoteHandler.java JkMain.java

2004-01-26 Thread billbarker
billbarker2004/01/26 22:43:18

  Modified:jk/java/org/apache/jk/common ChannelSocket.java
JniHandler.java
   jk/java/org/apache/jk/core JkHandler.java
   jk/java/org/apache/jk/server JkCoyoteHandler.java
JkMain.java
  Log:
  Adding support for the new pause/resume protocol.
  
  Revision  ChangesPath
  1.39  +55 -15
jakarta-tomcat-connectors/jk/java/org/apache/jk/common/ChannelSocket.java
  
  Index: ChannelSocket.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/ChannelSocket.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- ChannelSocket.java16 Jan 2004 06:48:20 -  1.38
  +++ ChannelSocket.java27 Jan 2004 06:43:18 -  1.39
  @@ -277,13 +277,38 @@
   
   /*   */
   ServerSocket sSocket;
  -int socketNote=1;
  -int isNote=2;
  -int osNote=3;
  -int notifNote=4;
  +final int socketNote=1;
  +final int isNote=2;
  +final int osNote=3;
  +final int notifNote=4;
  +boolean paused = false;
  +
  +public void pause() throws Exception {
  +synchronized(this) {
  +paused = true;
  +unLockSocket();
  +}
  +}
  +
  +public void resume() throws Exception {
  +synchronized(this) {
  +paused = false;
  +notify();
  +}
  +}
  +
   
   public void accept( MsgContext ep ) throws IOException {
   if( sSocket==null ) return;
  +synchronized(this) {
  +while(paused) {
  +try{ 
  +wait();
  +} catch(InterruptedException ie) {
  +//Ignore, since can't happen
  +}
  +}
  +}
   Socket s=sSocket.accept();
   ep.setNote( socketNote, s );
   if(log.isDebugEnabled() )
  @@ -412,6 +437,20 @@
   s.close();
   }
   
  +private void unLockSocket() throws IOException {
  + // Need to create a connection to unlock the accept();
  + Socket s;
  + if (inet == null) {
  + s=new Socket(127.0.0.1, port );
  + }else{
  + s=new Socket(inet, port );
  + // setting soLinger to a small value will help shutdown the
  + // connection quicker
  + s.setSoLinger(true, 0);
  + }
  + s.close();
  +}
  +
   public void destroy() throws IOException {
   running = false;
   try {
  @@ -420,17 +459,10 @@
   return;
   tp.shutdown();
   
  -// Need to create a connection to unlock the accept();
  -Socket s;
  -if (inet == null) {
  -s=new Socket(127.0.0.1, port );
  -}else{
  -s=new Socket(inet, port );
  -// setting soLinger to a small value will help shutdown the
  -// connection quicker
  -s.setSoLinger(true, 0);
  -}
  -s.close();
  + if(!paused) {
  + unLockSocket();
  + }
  +
   sSocket.close(); // XXX?
   
   if( tpOName != null )  {
  @@ -575,6 +607,11 @@
   log.debug(Accepting ajp connections on  + port);
   while( running ) {
   try {
  +synchronized(this) {
  +while(paused) {
  +wait();
  +}
  +}
   MsgContext ep=new MsgContext();
   ep.setSource(this);
   ep.setWorkerEnv( wEnv );
  @@ -600,6 +637,9 @@
   try {
   MsgAjp recv=new MsgAjp();
   while( running ) {
  +if(paused) { // Drop the connection on pause
  +break;
  +}
   int status= this.receive( recv, ep );
   if( status = 0 ) {
   if( status==-3)
  
  
  
  1.14  +25 -0 
jakarta-tomcat-connectors/jk/java/org/apache/jk/common/JniHandler.java
  
  Index: JniHandler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/JniHandler.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- JniHandler.java   18 Sep 2003 16:21:00 -  1.13
  +++ JniHandler.java   27 Jan 2004 06:43:18 -  1.14
  @@ -103,6 +103,7 @@
   public static final int MSG_NOTE=0;
   public static final int C2B_NOTE=1;
   public static final int MB_NOTE=2;
  +private boolean paused = false;
   
   
   public JniHandler() {
  @@ -177,11 +178,35 @@
   msg.appendByteChunk( bc );
   }
   
  +

cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server JkCoyoteHandler.java JkMain.java

2003-09-02 Thread billbarker
billbarker2003/09/01 17:17:40

  Modified:jk/java/org/apache/jk/server JkCoyoteHandler.java
JkMain.java
  Log:
  Adding accessors so that the JkCoyote connectors can play nice with the admin webapp.
  
  Revision  ChangesPath
  1.43  +6 -2  
jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java
  
  Index: JkCoyoteHandler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- JkCoyoteHandler.java  30 Jul 2003 02:25:53 -  1.42
  +++ JkCoyoteHandler.java  2 Sep 2003 00:17:40 -   1.43
  @@ -132,9 +132,13 @@
   if( value instanceof String )
   this.setProperty( name, (String)value );
   }
  -
  +
  +/**
  + * Retrieve config info.
  + * Primarily for use with the admin webapp.
  + */   
   public Object getAttribute( String name ) {
  -return null;
  +return getJkMain().getProperty(name);
   }
   
   /** The adapter, used to call the connector 
  
  
  
  1.41  +14 -1 
jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkMain.java
  
  Index: JkMain.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkMain.java,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- JkMain.java   2 Jul 2003 06:30:23 -   1.40
  +++ JkMain.java   2 Sep 2003 00:17:40 -   1.41
  @@ -188,7 +188,20 @@
   saveProperties();
   }
   }
  -
  +/**
  + * Retrieve a property.
  + */
  +public Object getProperty(String name) {
  +String alias = (String)replacements.get(name);
  +Object result = null;
  +if(alias != null) {
  +result = props.get(alias);
  +}
  +if(result == null) {
  +result = props.get(name);
  +}
  +return result;
  +}
   /**
* Set the codechannelClassName/code that will used to connect to
* httpd.
  
  
  

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server JkCoyoteHandler.java JkMain.java

2003-01-20 Thread costin
costin  2003/01/20 15:48:40

  Modified:jk/java/org/apache/jk/common HandlerRequest.java
   jk/java/org/apache/jk/server JkCoyoteHandler.java
JkMain.java
  Log:
  Few updates for RequestInfo.
  
  Revision  ChangesPath
  1.22  +13 -2 
jakarta-tomcat-connectors/jk/java/org/apache/jk/common/HandlerRequest.java
  
  Index: HandlerRequest.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/HandlerRequest.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- HandlerRequest.java   16 Jan 2003 22:13:37 -  1.21
  +++ HandlerRequest.java   20 Jan 2003 23:48:40 -  1.22
  @@ -411,22 +411,33 @@
   }
   
   static int count=0;
  +RequestGroupInfo global=null;
   
   private int decodeRequest( Msg msg, MsgContext ep, MessageBytes tmpMB )
   throws IOException
   {
   // FORWARD_REQUEST handler
   Request req=(Request)ep.getRequest();
  +req.setStartTime(System.currentTimeMillis());
   if( req==null ) {
   req=new Request();
   Response res=new Response();
   req.setResponse(res);
   ep.setRequest( req );
  -RequestProcessor rp=new RequestProcessor(req);
   if( this.getDomain() != null ) {
   try {
  +if( global==null ) {
  +global=new RequestGroupInfo();
  +Registry.getRegistry().registerComponent( global,
  +getDomain(), GlobalRequestProcessor,
  +type=GlobalRequestProcessor,name=jk);
  +}
  +
  +RequestInfo rp=req.getRequestProcessor();
  +rp.setGlobalProcessor(global);
   Registry.getRegistry().registerComponent( rp,
  -getDomain(), RequestProcessor, name=Request + 
count++ );
  +getDomain(), RequestProcessor,
  +type=RequestProcessor,name=JkRequest + count++ );
   } catch( Exception ex ) {
   log.warn(Error registering request);
   }
  
  
  
  1.35  +1 -1  
jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java
  
  Index: JkCoyoteHandler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- JkCoyoteHandler.java  20 Jan 2003 19:20:32 -  1.34
  +++ JkCoyoteHandler.java  20 Jan 2003 23:48:40 -  1.35
  @@ -456,7 +456,7 @@
   {
   // XXX Can we have multiple JkMain ?
   Registry.getRegistry().registerComponent(jkMain, name.getDomain(),
  -JkMain, name=JkMain);
  +JkMain, type=JkHandler,name=JkMain);
   return super.preRegister(server, name);
   }
   }
  
  
  
  1.34  +4 -1  
jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkMain.java
  
  Index: JkMain.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkMain.java,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- JkMain.java   16 Jan 2003 22:17:37 -  1.33
  +++ JkMain.java   20 Jan 2003 23:48:40 -  1.34
  @@ -513,6 +513,9 @@
   String fullName=name;
   String localName=;
   String propName=;
  +// ignore
  +if( name.startsWith(key.)) return;
  +
   int dot=name.indexOf(.);
   int lastDot=name.lastIndexOf(.);
   if( dot  0 ) {
  @@ -564,7 +567,7 @@
   }
   if( this.domain != null ) {
   try {
  -Registry.getRegistry().registerComponent(handler, this.domain, 
JkHandler,
  +Registry.getRegistry().registerComponent(handler, this.domain, 
classN,
   type=JkHandler,name= + fullName);
   } catch (Exception e) {
   log.error( Error registering  + fullName, e );
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server JkCoyoteHandler.java JkMain.java

2003-01-16 Thread costin
costin  2003/01/16 14:17:37

  Modified:jk/java/org/apache/jk/server JkCoyoteHandler.java
JkMain.java
  Log:
  When the coyote handler is registered ( by the Connector or other method ),
  it'll also register JkMain.
  
  JkMain will register all handlers as mbeans.
  
  If the coyote handler is not registered - nothing happens.
  
  Revision  ChangesPath
  1.33  +16 -2 
jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java
  
  Index: JkCoyoteHandler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- JkCoyoteHandler.java  18 Dec 2002 09:15:06 -  1.32
  +++ JkCoyoteHandler.java  16 Jan 2003 22:17:37 -  1.33
  @@ -74,8 +74,14 @@
   import org.apache.tomcat.util.net.SSLSupport;
   
   import org.apache.coyote.*;
  +import org.apache.commons.modeler.Registry;
  +import javax.management.ObjectName;
  +import javax.management.MBeanServer;
   
   /** Plugs Jk2 into Coyote
  + *
  + * @jmx:notification-handler name=org.apache.jk.SEND_PACKET
  + * @jmx:notification-handler name=org.apache.coyote.ACTION_COMMIT
*/
   public class JkCoyoteHandler extends JkHandler implements
   ProtocolHandler,
  @@ -302,8 +308,7 @@
   if( contentLanguage != null ) {
   headers.setValue(Content-Language).setString(contentLanguage);
   }
  -
  -int contentLength = res.getContentLength();
  + int contentLength = res.getContentLength();
   if( contentLength = 0 ) {
   headers.setValue(Content-Length).setInt(contentLength);
   }
  @@ -441,5 +446,14 @@
   logTime.debug(Time pre= + t1 + / service= + t2 +   +
 res.getContentLength() +   + 
 uri );
  +}
  +
  +public ObjectName preRegister(MBeanServer server,
  +  ObjectName name) throws Exception
  +{
  +// XXX Can we have multiple JkMain ?
  +Registry.getRegistry().registerComponent(jkMain, name.getDomain(),
  +JkMain, name=JkMain);
  +return super.preRegister(server, name);
   }
   }
  
  
  
  1.33  +48 -8 
jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkMain.java
  
  Index: JkMain.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkMain.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- JkMain.java   13 Nov 2002 00:19:00 -  1.32
  +++ JkMain.java   16 Jan 2003 22:17:37 -  1.33
  @@ -60,15 +60,15 @@
   package org.apache.jk.server;
   
   import java.io.*;
  -import java.net.*;
   import java.util.*;
   
   import org.apache.jk.core.*;
  -import org.apache.jk.common.*;
   
  -import org.apache.tomcat.util.buf.*;
  -import org.apache.tomcat.util.http.*;
   import org.apache.tomcat.util.IntrospectionUtils;
  +import org.apache.commons.modeler.Registry;
  +import javax.management.ObjectName;
  +import javax.management.MBeanServer;
  +import javax.management.MBeanRegistration;
   
   /** Main class used to startup and configure jk. It manages the conf/jk2.properties 
file
*  and is the target of JMX proxy.
  @@ -102,8 +102,9 @@
*  to see configs based on registry, LDAP, db, etc. ( XML is not necesarily better 
)
* 
* @author Costin Manolache
  + * @deprecated Will be replaced with JMX operations
*/
  -public class JkMain
  +public class JkMain implements MBeanRegistration
   {
   WorkerEnv wEnv=new WorkerEnv();
   String propFile;
  @@ -113,7 +114,7 @@
   boolean modified=false;
   boolean started=false;
   boolean saveProperties=false;
  -
  +
   public JkMain()
   {
   JkMain.jkMain=this;
  @@ -122,6 +123,7 @@
   modules.put(channelJni, org.apache.jk.common.ChannelJni);
   modules.put(apr, org.apache.jk.apr.AprImpl);
   modules.put(mx, org.apache.jk.common.JkMX);
  +modules.put(modeler, org.apache.jk.common.JkModeler);
   modules.put(shm, org.apache.jk.common.Shm);
   modules.put(request,org.apache.jk.common.HandlerRequest);
   modules.put(container,org.apache.jk.common.HandlerRequest);
  @@ -150,7 +152,7 @@
   ex.printStackTrace();
   }
   }
  -
  +
   //  Setting 
   
   /** Load a .properties file into and set the values
  @@ -223,7 +225,7 @@
   public String getJkHome() {
   return wEnv.getJkHome();
   }
  -
  +
   String out;
   String err;
   File propsF;
  @@ -560,7 +562,15 @@
   log.error( Can't create  + fullName, ex );
   return null;
   

cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server JkCoyoteHandler.java JkMain.java

2002-04-25 Thread costin

costin  02/04/25 16:13:24

  Modified:jk/java/org/apache/jk/common ChannelSocket.java
ChannelUn.java JniHandler.java
   jk/java/org/apache/jk/server JkCoyoteHandler.java
JkMain.java
  Log:
  Fewer messages, more info.
  
  We can remove even more - but I would like to keep at least one line
  for each endpoint that is listening.
  
  Revision  ChangesPath
  1.11  +1 -1  
jakarta-tomcat-connectors/jk/java/org/apache/jk/common/ChannelSocket.java
  
  Index: ChannelSocket.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/ChannelSocket.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ChannelSocket.java23 Apr 2002 16:25:04 -  1.10
  +++ ChannelSocket.java25 Apr 2002 23:13:24 -  1.11
  @@ -214,7 +214,7 @@
   log.error(Can't find free port  + startPort +   + maxPort );
   return;
   }
  -log.info(Init  + port );
  +log.info(JK: listening on tcp port  + port );
   
   // If this is not the base port and we are the 'main' channleSocket and
   // SHM didn't already set the localId - we'll set the instance id
  
  
  
  1.17  +2 -2  
jakarta-tomcat-connectors/jk/java/org/apache/jk/common/ChannelUn.java
  
  Index: ChannelUn.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/ChannelUn.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- ChannelUn.java25 Apr 2002 22:04:00 -  1.16
  +++ ChannelUn.java25 Apr 2002 23:13:24 -  1.17
  @@ -128,7 +128,7 @@
   public void init() throws IOException {
   apr=(AprImpl)wEnv.getHandler(apr);
   if( apr==null || ! apr.isLoaded() ) {
  -log.error(Apr is not available, disabling unix channel );
  +log.debug(Apr is not available, disabling unix channel );
   apr=null;
   return;
   }
  @@ -163,7 +163,7 @@
   if (unixListenSocket0)
   throw(new IOException(Cannot create listening socket  + file));
   
  -log.info(Listening on unix socket:  + file );
  +log.info(JK: listening on unix socket:  + file );
   
   // Run a thread that will accept connections.
   tp.start();
  
  
  
  1.3   +3 -2  
jakarta-tomcat-connectors/jk/java/org/apache/jk/common/JniHandler.java
  
  Index: JniHandler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/JniHandler.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JniHandler.java   25 Apr 2002 22:44:23 -  1.2
  +++ JniHandler.java   25 Apr 2002 23:13:24 -  1.3
  @@ -114,7 +114,8 @@
   protected void initNative(String nativeComponentName) {
   apr=(AprImpl)wEnv.getHandler(apr);
   if( apr==null || ! apr.isLoaded() ) { 
  -log.error(No apr, disabling jni proxy );
  +if( log.isDebugEnabled() )
  +log.debug(No apr, disabling jni proxy );
   apr=null;
   return;
   }
  @@ -126,7 +127,7 @@
   log.info(Component not found, creating it  + nativeComponentName ); 
   nativeJkHandlerP=apr.createJkHandler(xEnv, nativeComponentName);
   }
  -log.info(Native proxy  + nativeJkHandlerP );
  +log.debug(Native proxy  + nativeJkHandlerP );
   
   apr.releaseJkEnv(xEnv); 
  }
  
  
  
  1.18  +2 -3  
jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java
  
  Index: JkCoyoteHandler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- JkCoyoteHandler.java  25 Apr 2002 18:27:18 -  1.17
  +++ JkCoyoteHandler.java  25 Apr 2002 23:13:24 -  1.18
  @@ -94,7 +94,8 @@
   protected JkMain jkMain=new JkMain();
   
   public void setProperty( String name, String value ) {
  -log.info(setProperty  + name +   + value );
  +if( log.isDebugEnabled())
  +log.debug(setProperty  + name +   + value );
   jkMain.setProperty( name, value );
   properties.put( name, value );
   }
  @@ -139,8 +140,6 @@
   
   jkMain.init();
   jkMain.start();
  -
  -log.info(Jk2 started );
   
   headersMsgNote=wEnv.getNoteId( WorkerEnv.ENDPOINT_NOTE, headerMsg );
   

cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server JkCoyoteHandler.java JkMain.java

2002-04-24 Thread costin

costin  02/04/24 12:45:09

  Modified:jk/java/org/apache/jk/server JkCoyoteHandler.java
JkMain.java
  Log:
  Potential fix for 8478.
  
  Check if the response has been already commited, and don't recommit.
  
  Display a small info notice - COMMIT action shouldn't be called twice or
  after the first chunk.
  
  Revision  ChangesPath
  1.15  +39 -36
jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java
  
  Index: JkCoyoteHandler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- JkCoyoteHandler.java  23 Apr 2002 08:11:05 -  1.14
  +++ JkCoyoteHandler.java  24 Apr 2002 19:45:09 -  1.15
  @@ -239,47 +239,50 @@
   if( actionCode==ActionCode.ACTION_COMMIT ) {
   org.apache.coyote.Response res=(org.apache.coyote.Response)param;
   
  -if( log.isInfoEnabled() )
  -log.info(COMMIT sending headers  + res +   + 
res.getMimeHeaders() );
  -
  -
  -C2BConverter c2b=(C2BConverter)res.getNote( utfC2bNote );
  -if( c2b==null ) {
  -c2b=new C2BConverter(  UTF8 );
  -res.setNote( utfC2bNote, c2b );
  -}
  -
  -MsgContext ep=(MsgContext)res.getNote( epNote );
  -MsgAjp msg=(MsgAjp)ep.getNote( headersMsgNote );
  -msg.reset();
  -msg.appendByte(HandlerRequest.JK_AJP13_SEND_HEADERS);
  -msg.appendInt( res.getStatus() );
  -
  -// s-b conversion, message
  -msg.appendBytes( null );
  -
  -// XXX add headers
  -
  -MimeHeaders headers=res.getMimeHeaders();
  -int numHeaders = headers.size();
  -msg.appendInt(numHeaders);
  -for( int i=0; inumHeaders; i++ ) {
  -MessageBytes hN=headers.getName(i);
  -// no header to sc conversion - there's little benefit
  -// on this direction
  -c2b.convert ( hN );
  -msg.appendBytes( hN );
  +if(  res.isCommited() ) {
  +if( log.isInfoEnabled() )
  +log.info(Response already commited  );
  +} else {
  +if( log.isInfoEnabled() )
  +log.info(COMMIT sending headers  + res +   + 
res.getMimeHeaders() );
  +
  +C2BConverter c2b=(C2BConverter)res.getNote( utfC2bNote );
  +if( c2b==null ) {
  +c2b=new C2BConverter(  UTF8 );
  +res.setNote( utfC2bNote, c2b );
  +}
  +
  +MsgContext ep=(MsgContext)res.getNote( epNote );
  +MsgAjp msg=(MsgAjp)ep.getNote( headersMsgNote );
  +msg.reset();
  +msg.appendByte(HandlerRequest.JK_AJP13_SEND_HEADERS);
  +msg.appendInt( res.getStatus() );
  +
  +// s-b conversion, message
  +msg.appendBytes( null );
   
  -MessageBytes hV=headers.getValue(i);
  -c2b.convert( hV );
  -msg.appendBytes( hV );
  +// XXX add headers
  +
  +MimeHeaders headers=res.getMimeHeaders();
  +int numHeaders = headers.size();
  +msg.appendInt(numHeaders);
  +for( int i=0; inumHeaders; i++ ) {
  +MessageBytes hN=headers.getName(i);
  +// no header to sc conversion - there's little benefit
  +// on this direction
  +c2b.convert ( hN );
  +msg.appendBytes( hN );
  +
  +MessageBytes hV=headers.getValue(i);
  +c2b.convert( hV );
  +msg.appendBytes( hV );
  +}
  +ep.setType( JkHandler.HANDLE_SEND_PACKET );
  +ep.getSource().invoke( msg, ep );
   }
  -ep.setType( JkHandler.HANDLE_SEND_PACKET );
  -ep.getSource().invoke( msg, ep );
   } else if( actionCode==ActionCode.ACTION_RESET ) {
   if( log.isInfoEnabled() )
   log.info(RESET  );
  -
   } else 

cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server JkCoyoteHandler.java JkMain.java

2002-04-22 Thread costin

costin  02/04/22 12:03:34

  Modified:jk/java/org/apache/jk/server JkCoyoteHandler.java
JkMain.java
  Log:
  Fix the shutdown for jk2.
  
  Revision  ChangesPath
  1.12  +1 -1  
jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java
  
  Index: JkCoyoteHandler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- JkCoyoteHandler.java  17 Apr 2002 22:39:26 -  1.11
  +++ JkCoyoteHandler.java  22 Apr 2002 19:03:34 -  1.12
  @@ -155,7 +155,7 @@
   }
   
   public void destroy() {
  -//  jkMain.stop();
  +jkMain.stop();
   }
   
   //  OutputBuffer implementation 
  
  
  
  1.21  +18 -1 
jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkMain.java
  
  Index: JkMain.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkMain.java,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- JkMain.java   18 Apr 2002 19:13:02 -  1.20
  +++ JkMain.java   22 Apr 2002 19:03:34 -  1.21
  @@ -230,7 +230,24 @@
  shm,
  request,
  container,
  -   channelSocket};
  +   channelSocket,
  +   channelJni,
  +   channelUn};
  +
  +public void stop() 
  +{
  +for( int i=0; iwEnv.getHandlerCount(); i++ ) {
  +if( wEnv.getHandler(i) != null ) {
  +try {
  +wEnv.getHandler(i).destroy();
  +} catch( IOException ex) {
  +log.error(Error stoping  + wEnv.getHandler(i).getName(), ex);
  +}
  +}
  +}
  +
  +started=false;
  +}
   
   public void start() throws IOException
   {
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server JkCoyoteHandler.java JkMain.java

2002-04-10 Thread costin

costin  02/04/10 13:43:41

  Modified:jk/java/org/apache/jk/server JkCoyoteHandler.java
JkMain.java
  Log:
  Few tweaks, pass attributes to jk components, etc.
  
  Revision  ChangesPath
  1.9   +12 -7 
jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java
  
  Index: JkCoyoteHandler.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- JkCoyoteHandler.java  9 Apr 2002 20:51:06 -   1.8
  +++ JkCoyoteHandler.java  10 Apr 2002 20:43:41 -  1.9
  @@ -97,6 +97,8 @@
*/
   public void setAttribute( String name, Object value ) {
   log.info(setAttribute  + name +   + value );
  +if( value instanceof String )
  +jkMain.setProperty( name, (String)value );
   }
   
   public Object getAttribute( String name ) {
  @@ -260,13 +262,11 @@
   msg.appendBytes( hV );
   }
   ep.getChannel().send( msg, ep );
  -}
  -if( actionCode==ActionCode.ACTION_RESET ) {
  +} else if( actionCode==ActionCode.ACTION_RESET ) {
   if( log.isInfoEnabled() )
   log.info(RESET  );
   
  -}
  -if( actionCode==ActionCode.ACTION_CLOSE ) {
  +} else if( actionCode==ActionCode.ACTION_CLOSE ) {
   if( log.isInfoEnabled() )
   log.info(CLOSE  );
   org.apache.coyote.Response res=(org.apache.coyote.Response)param;
  @@ -278,11 +278,16 @@
   msg.appendInt( 1 );
   
   ep.getChannel().send(msg, ep );
  -}
  -if( actionCode==ActionCode.ACTION_ACK ) {
  +} else if( actionCode==ActionCode.ACTION_REQ_SSL_ATTRIBUTE ) {
  +
  +
  +} else if( actionCode==ActionCode.ACTION_REQ_HOST_ATTRIBUTE ) {
  +
  +
  +} else if( actionCode==ActionCode.ACTION_ACK ) {
   if( log.isInfoEnabled() )
   log.info(ACK  );
  -
  +// What should we do here ? Who calls it ? 
   }
   } catch( Exception ex ) {
   log.error( Error in action code , ex );
  
  
  
  1.13  +3 -5  
jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkMain.java
  
  Index: JkMain.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkMain.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- JkMain.java   20 Feb 2002 23:43:43 -  1.12
  +++ JkMain.java   10 Apr 2002 20:43:41 -  1.13
  @@ -70,10 +70,9 @@
   import org.apache.tomcat.util.http.*;
   import org.apache.tomcat.util.IntrospectionUtils;
   
  -/** Main class used for testing jk core and common code and tunning.
  +/** Main class used to startup jk. 
*
  - *  It'll just start/init jk and use a dummy endpoint ( i.e. no servlet
  - *  container ).
  + * It is also useable standalone for testing or as a minimal socket server.
*/
   public class JkMain
   {
  @@ -137,6 +136,7 @@
   String home=wEnv.getJkHome();
   if( home==null ) {
   // XXX use IntrospectionUtil to find myself
  +jkMain.guessHome();
   }
   if( home != null ) {
   File hF=new File(home);
  @@ -252,8 +252,6 @@
   IntrospectionUtils.processArgs( jkMain, args, new String[] {},
   null, new Hashtable());
   
  -jkMain.guessHome();
  -
   jkMain.init();
   jkMain.start();
   } catch( Exception ex ) {
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server JkCoyoteHandler.java JkMain.java

2002-04-10 Thread costin

costin  02/04/10 16:53:11

  Modified:jk/java/org/apache/jk/apr AprImpl.java
   jk/java/org/apache/jk/common ChannelUn.java
   jk/java/org/apache/jk/core JkHandler.java
   jk/java/org/apache/jk/server JkCoyoteHandler.java
JkMain.java
  Log:
  More fixes for the new env.
  
  The properties will find their way to the target jk component ( assuming
  you want to use attributes in server.xml for config - I strongly disagree with this )
  
  conf/jk2.properties ( or whatever name you set ) will be read.
  
  Also: AprImpl and ChannelUn work - assuming you know the magic incantations.
  ( i.e. jk2.properties and LD_LIBRARY_PATH )
  
  Revision  ChangesPath
  1.4   +27 -11jakarta-tomcat-connectors/jk/java/org/apache/jk/apr/AprImpl.java
  
  Index: AprImpl.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/apr/AprImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AprImpl.java  12 Jan 2002 04:01:47 -  1.3
  +++ AprImpl.java  10 Apr 2002 23:53:11 -  1.4
  @@ -10,6 +10,7 @@
   public class AprImpl {
   String baseDir;
   String aprHome;
  +String soExt=so;
   
   /** Initialize APR
*/
  @@ -51,7 +52,11 @@
   public void setBaseDir(String s) {
   baseDir=s;
   }
  -
  +
  +public void setSoExt(String s ) {
  +soExt=s;
  +}
  +
   // XXX maybe install the jni lib in apr-home ?
   public void setAprHome( String s ) {
   aprHome=s;
  @@ -71,16 +76,27 @@
   public void loadNative() {
   if( aprHome==null )
   aprHome=baseDir;
  -File dir=new File(aprHome);
  -// XXX platform independent, etc...
  -File apr=new File( dir, libapr.so);
  -
  -loadNative( apr.getAbsolutePath() );
  -
  -dir=new File(baseDir);
  -File jniConnect=new File( dir, jni_connect.so);
  -
  -loadNative( jniConnect.getAbsolutePath() );
  +if( aprHome==null ) {
  +// Use load()
  +try {
  +System.loadLibrary( apr );
  +System.loadLibrary( jni_connect );
  +} catch( Throwable ex ) {
  +ok=false;
  +ex.printStackTrace();
  +}
  +} else {
  +File dir=new File(aprHome);
  +// XXX platform independent, etc...
  +File apr=new File( dir, libapr. + soExt );
  +
  +loadNative( apr.getAbsolutePath() );
  +
  +dir=new File(baseDir);
  +File jniConnect=new File( dir, jni_connect. + soExt );
  +
  +loadNative( jniConnect.getAbsolutePath() );
  +}
   }
   
   boolean ok=true;
  
  
  
  1.8   +20 -5 
jakarta-tomcat-connectors/jk/java/org/apache/jk/common/ChannelUn.java
  
  Index: ChannelUn.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/ChannelUn.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ChannelUn.java4 Apr 2002 00:55:35 -   1.7
  +++ ChannelUn.java10 Apr 2002 23:53:11 -  1.8
  @@ -82,6 +82,7 @@
   String file;
   ThreadPool tp=new ThreadPool();
   String jkHome;
  +String aprHome;
   
   /*  Tcp socket options  */
   
  @@ -100,6 +101,12 @@
   jkHome=s;
   }
   
  +/** Directory where APR and jni_connect are installed.
  + */
  +public void setAprHome( String s ) {
  +aprHome=s;
  +}
  +
   /*   */
   long unixListenSocket;
   int socketNote=1;
  @@ -120,14 +127,22 @@
   
   public void init() throws IOException {
   apr=new AprImpl();
  -File f=new File( jkHome );
  -File aprBase=new File( jkHome, /WEB-INF/jk2/jni );
  -apr.setBaseDir( aprBase.getAbsolutePath() );
  -apr.loadNative();
  +if( aprHome==null  jkHome != null ) {
  +File f=new File( jkHome );
  +File aprBase=new File( jkHome, jk2/jni );
  +if( aprBase.exists() ) {
  +aprHome=aprBase.getAbsolutePath();
  +}
  +}
  +if( aprHome != null ) {
  +apr.setBaseDir( aprHome );
  +}
   
  +apr.loadNative();
  +
   apr.initialize();
  +if( log.isDebugEnabled() ) log.debug( Creating pool  + gPool );
   gPool=apr.poolCreate( 0 );
  -if( log.isDebugEnabled() ) log.debug( Create pool  + gPool );
   
   File socketFile=new File( file );
   if( socketFile.exists() ) {
  
  
  
  1.5   +1 -1