costin      02/05/09 14:03:08

  Modified:    jk/native2/common jk_workerEnv.c
  Log:
  Slight change in workerEnv initialization - ajp workers will be initialized
  at the same time with the channels. That means lb init will report the right
  number of workers.
  
  Filter messages based on the debug level of the worker or current uri
  ( I tried to make everything that is worker-specific depend on worker debug,
  high level messages depend on uri debug - but we may check both )
  
  Revision  Changes    Path
  1.37      +47 -24    jakarta-tomcat-connectors/jk/native2/common/jk_workerEnv.c
  
  Index: jk_workerEnv.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_workerEnv.c,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- jk_workerEnv.c    8 May 2002 23:55:45 -0000       1.36
  +++ jk_workerEnv.c    9 May 2002 21:03:07 -0000       1.37
  @@ -59,7 +59,7 @@
    * Description: Workers controller                                         *
    * Author:      Gal Shachor <[EMAIL PROTECTED]>                           *
    * Author:      Henri Gomez <[EMAIL PROTECTED]>                               *
  - * Version:     $Revision: 1.36 $                                           *
  + * Version:     $Revision: 1.37 $                                           *
    ***************************************************************************/
   
   #include "jk_env.h"
  @@ -162,6 +162,36 @@
       *sizeP=newSize;
   }
   
  +static int jk2_workerEnv_initWorker(jk_env_t *env,
  +                                    jk_workerEnv_t *wEnv, jk_worker_t *w )
  +{
  +
  +    int rc;
  +    
  +    if( (w == NULL) || (w->mbean == NULL) ) return JK_ERR;
  +    
  +    if( w->mbean->disabled ) return JK_OK;
  +        
  +    w->workerEnv=wEnv;
  +
  +    if( w->mbean->state >= JK_STATE_INIT ) return JK_OK;
  +
  +    if( w->init == NULL )
  +        return JK_OK;
  +
  +    rc=w->init(env, w);
  +        
  +    if( rc == JK_OK ) {
  +        w->mbean->state=JK_STATE_INIT;
  +    } else {
  +        w->mbean->state=JK_STATE_DISABLED;
  +        w->mbean->disabled=JK_TRUE;
  +        env->l->jkLog(env, env->l, JK_LOG_ERROR,
  +                      "workerEnv.initWorkers() init failed for %s\n", 
  +                      w->mbean->name); 
  +    } 
  +    return JK_OK;
  +}
   
   static int jk2_workerEnv_initWorkers(jk_env_t *env,
                                        jk_workerEnv_t *wEnv)
  @@ -170,28 +200,16 @@
       jk_worker_t *lb=wEnv->defaultWorker;
   
       for( i=0; i< wEnv->worker_map->size( env, wEnv->worker_map ); i++ ) {
  -
           char *name= wEnv->worker_map->nameAt( env, wEnv->worker_map, i );
           jk_worker_t *w= wEnv->worker_map->valueAt( env, wEnv->worker_map, i );
  -        int err;
  -
  -        if( w->mbean->disabled ) continue;
  -        
  -        w->workerEnv=wEnv;
   
  -        if( w->init != NULL ) {
  -            err=w->init(env, w);
  -    
  -            if(err!=JK_OK) {
  -                env->l->jkLog(env, env->l, JK_LOG_ERROR,
  -                              "workerEnv.initWorkers() init failed for %s\n", 
  -                              name); 
  -            } 
  -        }
  +        jk2_workerEnv_initWorker( env, wEnv, w );
       }
       return JK_OK;
   }
   
  +
  +
   static int jk2_workerEnv_initChannel(jk_env_t *env,
                                        jk_workerEnv_t *wEnv, jk_channel_t *ch)
   {
  @@ -211,6 +229,7 @@
               ch->worker->channel=NULL;
               ch->worker->channelName=NULL;
           }
  +        jk2_workerEnv_initWorker( env, wEnv, ch->worker );
       }
       
       return rc;
  @@ -288,11 +307,11 @@
       env->l->init( env, env->l );
   
       configFile=wEnv->config->file;
  -    env->l->jkLog(env, env->l, JK_LOG_ERROR, "workerEnv.init() %s\n", configFile );
       if(  configFile == NULL ) {
           wEnv->config->setPropertyString( env, wEnv->config,
                                            "config.file",
                                            "${serverRoot}/conf/workers2.properties" );
  +        configFile=wEnv->config->file;
       }
   
       /* Set default worker. It'll be used for all uris that have no worker
  @@ -324,6 +343,7 @@
       
       wEnv->uriMap->init(env, wEnv->uriMap );
   
  +    env->l->jkLog(env, env->l, JK_LOG_INFO, "workerEnv.init() ok %s\n", configFile 
);
       return JK_OK;
   }
   
  @@ -348,10 +368,11 @@
           e->reply->dump(env, e->reply, "Message: ");
           return JK_ERR;
       }
  -        
  -    env->l->jkLog(env, env->l, JK_LOG_INFO,
  -                  "workerEnv.dispatch() Calling %d %s\n", handler->messageId,
  -                  handler->name);
  +
  +    if( e->worker->mbean->debug > 0 ) 
  +        env->l->jkLog(env, env->l, JK_LOG_INFO,
  +                      "workerEnv.dispatch() Calling %d %s\n", handler->messageId,
  +                      handler->name);
       
       /* Call the message handler */
       rc=handler->callback( env, target, e, msg );
  @@ -391,9 +412,11 @@
           rc=-1;
           handler=NULL;
   
  -        env->l->jkLog(env, env->l, JK_LOG_INFO,
  -                        "ajp14.processCallbacks() Waiting reply %s\n",
  -                      ep->worker->channel->mbean->name);
  +        if( ep->worker->mbean->debug > 0 )
  +            env->l->jkLog(env, env->l, JK_LOG_INFO,
  +                          "ajp14.processCallbacks() Waiting reply %s\n",
  +                          ep->worker->channel->mbean->name);
  +        
           msg->reset(env, msg);
           
           rc= ep->worker->channel->recv( env, ep->worker->channel,  ep,
  
  
  

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

Reply via email to