cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/apr AprImpl.java

2002-06-29 Thread mturk

mturk   2002/06/29 00:43:24

  Modified:jk/java/org/apache/jk/apr AprImpl.java
  Log:
  Introduced new native function jkStatus that signals the
  TC startup status to the server for now.
  
  Revision  ChangesPath
  1.22  +9 -0  jakarta-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.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- AprImpl.java  11 Jun 2002 22:48:46 -  1.21
  +++ AprImpl.java  29 Jun 2002 07:43:24 -  1.22
  @@ -119,6 +119,8 @@
*/
   public native void jkRecycle(long xEnv, long endpointP);
   
  +/* Send a TC status code to the server */
  +public static native void jkStatus(int code);
   
   //  Called from C 
   // XXX Check security, add guard or other protection
  @@ -181,6 +183,13 @@
   jniMode=true;
   }
   
  +public static void jniStatus(int code) throws IOException {
  +try {
  +jkStatus( code);
  +} catch( Throwable t) {   
  +throw new IOException( t.getMessage() );
  +}
  +}
   
   /** This method of loading the libs doesn't require setting
*   LD_LIBRARY_PATH. Assuming a 'right' binary distribution,
  
  
  

--
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/apr TomcatStarter.java

2002-06-29 Thread mturk

mturk   2002/06/29 00:43:38

  Modified:jk/java/org/apache/jk/apr TomcatStarter.java
  Log:
  Introduced new native function jkStatus that signals the
  TC startup status to the server for now.
  
  Revision  ChangesPath
  1.9   +5 -1  
jakarta-tomcat-connectors/jk/java/org/apache/jk/apr/TomcatStarter.java
  
  Index: TomcatStarter.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/apr/TomcatStarter.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- TomcatStarter.java23 Jun 2002 22:48:02 -  1.8
  +++ TomcatStarter.java29 Jun 2002 07:43:38 -  1.9
  @@ -19,7 +19,9 @@
   public static String mainClasses[]={ org.apache.tomcat.startup.Main,

org.apache.catalina.startup.BootstrapService,
org.apache.catalina.startup.Bootstrap};
  -
  +
  +public static final int TC_STARTING=1;
  +public static final int TC_STARTED=2;
   // If someone has time - we can also guess the classpath and do other
   // fancy guessings.
   
  @@ -69,9 +71,11 @@
   public void run() {
   System.err.println(Starting  + c.getName());
   try {
  +AprImpl.jniStatus(TC_STARTING);
   Class argClass=args.getClass();
   Method m=c.getMethod( main, new Class[] {argClass} );
   m.invoke( c, new Object[] { args } );
  +AprImpl.jniStatus(TC_STARTED);
   System.out.println(TomcatStarter: Done);
   } catch( Throwable t ) {
   t.printStackTrace(System.err);
  
  
  

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




cvs commit: jakarta-tomcat-connectors/jk/native2/jni jk_jni_aprImpl.c

2002-06-29 Thread mturk

mturk   2002/06/29 00:44:04

  Modified:jk/native2/jni jk_jni_aprImpl.c
  Log:
  Introduced new native function jkStatus that signals the
  TC startup status to the server for now.
  
  Revision  ChangesPath
  1.38  +14 -0 jakarta-tomcat-connectors/jk/native2/jni/jk_jni_aprImpl.c
  
  Index: jk_jni_aprImpl.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/jni/jk_jni_aprImpl.c,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- jk_jni_aprImpl.c  11 Jun 2002 22:51:29 -  1.37
  +++ jk_jni_aprImpl.c  29 Jun 2002 07:44:04 -  1.38
  @@ -93,6 +93,8 @@
   
   static int jniDebug=0;
   
  +int jk_jni_status_code=0;
  +
   #define JK_GET_REGION 1
   #define JK_GET_BYTE_ARRAY_ELEMENTS 2
   #define JK_DIRECT_BUFFER_NIO 3
  @@ -503,6 +505,14 @@
   return rc;
   }
   
  +/*
  +*/
  +JNIEXPORT void JNICALL 
  +Java_org_apache_jk_apr_AprImpl_jkStatus
  +  (JNIEnv *jniEnv, jobject o, jint statusCode )
  +{
  +jk_jni_status_code = statusCode;
  +}
   
   static JNINativeMethod org_apache_jk_apr_AprImpl_native_methods[] = {
   { 
  @@ -552,6 +562,10 @@
   {
   jkRecycle, (JJ)V,
   Java_org_apache_jk_apr_AprImpl_jkRecycle
  +},
  +{
  +jkStatus, (I)V,
  +Java_org_apache_jk_apr_AprImpl_jkStatus
   },
   };
   
  
  
  

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




cvs commit: jakarta-tomcat-connectors/jk/native2/include jk_worker.h

2002-06-29 Thread mturk

mturk   2002/06/29 00:45:15

  Modified:jk/native2/include jk_worker.h
  Log:
  Added initalized variable to the worker
  
  Revision  ChangesPath
  1.25  +6 -1  jakarta-tomcat-connectors/jk/native2/include/jk_worker.h
  
  Index: jk_worker.h
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_worker.h,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- jk_worker.h   31 May 2002 17:49:07 -  1.24
  +++ jk_worker.h   29 Jun 2002 07:45:15 -  1.25
  @@ -198,6 +198,11 @@
*/
   int in_error_state;
   
  +/* Initialized. Will be set to JK_TRUE after first service 
  + * call to the worker 
  + */
  +int initialized;
  +
   /* Worker priority.
* Workers with lower priority are allways preffered - regardless of lb_value
* This is user to represent 'local' workers ( we can call it 'proximity' or 
'distance' )
  
  
  

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




cvs commit: jakarta-tomcat-connectors/jk/native2/include jk_channel.h

2002-06-29 Thread mturk

mturk   2002/06/29 00:45:46

  Modified:jk/native2/include jk_channel.h
  Log:
  Added status callback function
  
  Revision  ChangesPath
  1.16  +4 -0  jakarta-tomcat-connectors/jk/native2/include/jk_channel.h
  
  Index: jk_channel.h
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_channel.h,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- jk_channel.h  30 May 2002 18:27:16 -  1.15
  +++ jk_channel.h  29 Jun 2002 07:45:45 -  1.16
  @@ -162,6 +162,10 @@
 struct jk_endpoint *endpoint,
 struct jk_ws_service *r );
  
  +/** Obtain the channel status code
  + */
  +int (JK_METHOD *status)(struct jk_env *env, jk_channel_t *_this);
  +
   void *_privatePtr;
   };
   
  
  
  

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




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_lb.c

2002-06-29 Thread mturk

mturk   2002/06/29 00:48:20

  Modified:jk/native2/common jk_worker_lb.c
  Log:
  Serialize the calls to the workers until the first call finishes or times out.
  Added new config param 'timeout' setting the initialization worker
  timeout.
  
  Revision  ChangesPath
  1.21  +88 -7 jakarta-tomcat-connectors/jk/native2/common/jk_worker_lb.c
  
  Index: jk_worker_lb.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_lb.c,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- jk_worker_lb.c22 Jun 2002 16:57:54 -  1.20
  +++ jk_worker_lb.c29 Jun 2002 07:48:20 -  1.21
  @@ -70,6 +70,10 @@
   #include jk_env.h
   #include jk_requtil.h
   
  +#ifdef HAS_APR
  +#include apr_thread_proc.h
  +#endif
  +
   #define DEFAULT_LB_FACTOR   (1.0)
   
   /* Time to wait before retry... XXX make it configurable*/
  @@ -79,6 +83,12 @@
   
   #define NO_WORKER_MSG The servlet container is temporary unavailable or being 
upgraded\n;
   
  +typedef struct {
  +struct jk_mutex *cs;
  +intinit_timeout;
  +intinitializing;
  +} jk_worker_lb_private_t;
  +
   /** Find the best worker. In process, check if timeout expired
   for workers that failed in the past and give them another chance.
   
  @@ -281,6 +291,8 @@
   {
   int attempt=0;
   jk_workerEnv_t *wEnv=lb-workerEnv;
  +jk_worker_lb_private_t *lb_priv = lb-worker_private;
  +jk_worker_t *rec = NULL;
   
   if( s==NULL ) {
   env-l-jkLog(env, env-l, JK_LOG_ERROR,
  @@ -309,10 +321,29 @@
   }
   
   while(1) {
  -jk_worker_t *rec;
   int rc;
   
  -rec=jk2_get_most_suitable_worker(env, lb, s, attempt);
  +/* Since there is potential worker state change
  + * make the find best worker call thread safe 
  + */
  +if (!lb_priv-initializing) {
  +if (lb_priv-cs != NULL)
  +lb_priv-cs-lock(env, lb_priv-cs);
  +rec=jk2_get_most_suitable_worker(env, lb, s, attempt);
  +
  +if (lb_priv-cs != NULL)
  +lb_priv-cs-unLock(env, lb_priv-cs);
  +}
  +else if (!rec){
  +/* If we are initializing the service wait until
  + * the initialization finishes or times out 
  + */
  +if (lb-cs != NULL) {
  +lb-cs-lock(env, lb-cs);
  +lb-cs-unLock(env, lb-cs);
  +}
  +continue;
  +}
   attempt++;
   
   s-is_recoverable_error = JK_FALSE;
  @@ -354,16 +385,45 @@
   s-jvm_route = rec-route;
   
   s-realWorker = rec;
  -
  +if (!rec-initialized  !lb_priv-initializing  lb-cs != NULL) {
  +/* If the worker has not been called yet serialize the call */
  +lb-cs-lock(env, lb-cs);
  +lb_priv-initializing = JK_TRUE;
  +rec-error_time = time(NULL);
  +}
   rc = rec-service(env, rec, s);
   
   if(rc==JK_OK) {
   rec-in_error_state = JK_FALSE;
   rec-error_time = 0;
  -/* the endpoint that succeeded is saved for done() */
  +/* Set the initialized flag to TRUE if that was the first call */
  +if (!rec-initialized  lb-cs != NULL) {
  +rec-initialized = JK_TRUE;
  +lb_priv-initializing = JK_FALSE;
  +lb-cs-unLock(env, lb-cs);
  +}
   return JK_OK;
   }
   
  +if (!rec-initialized  lb-cs != NULL) {
  +time_t now = time(NULL);
  +/* In the case of initialization timeout disable the worker */
  +if ((int)(now - rec-error_time)  lb_priv-init_timeout) {
  +rec-mbean-disabled = JK_TRUE;
  +lb_priv-initializing = JK_FALSE;
  +s-is_recoverable_error = JK_FALSE;
  +env-l-jkLog(env, env-l, JK_LOG_ERROR, 
  +  lb_worker.service() worker init timeout for %s\n,
  +  rec-channelName);
  +lb-cs-unLock(env, lb-cs);
  +}
  +else {
  +#ifdef HAS_APR
  +apr_thread_yield();
  +#endif
  +continue;
  +}
  +}
   env-l-jkLog(env, env-l, JK_LOG_ERROR, 
 lb.service() worker failed %s\n, rec-mbean-name );
   
  @@ -373,7 +433,7 @@
* Time for fault tolerance (if possible)...
*/
   rec-in_error_state = JK_TRUE;
  -rec-error_time = time(0);
  +rec-error_time = time(NULL);
   
   if(!s-is_recoverable_error) {
   /* Error is not recoverable - break with an error. */
  @@ -464,6 

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_ajp13.c

2002-06-29 Thread mturk

mturk   2002/06/29 00:49:30

  Modified:jk/native2/common jk_worker_ajp13.c
  Log:
  If the channel provides the status callback call that and return
  if channel has not been initialized
  
  Revision  ChangesPath
  1.35  +8 -0  jakarta-tomcat-connectors/jk/native2/common/jk_worker_ajp13.c
  
  Index: jk_worker_ajp13.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_ajp13.c,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- jk_worker_ajp13.c 26 Jun 2002 02:41:39 -  1.34
  +++ jk_worker_ajp13.c 29 Jun 2002 07:49:30 -  1.35
  @@ -626,6 +626,14 @@
   if  (err!=JK_OK)
 return err;
   
  +if (w-channel-status) {
  +err = w-channel-status(env, w-channel); 
  +if  (err!=JK_OK) {
  +jk2_worker_ajp13_done( env, w, e);
  +return err;
  +}
  +}
  +
   #ifdef HAS_APR
   if( s-uriEnv!=NULL  s-uriEnv-timing == JK_TRUE ) {
   e-stats-startTime=s-startTime;
  
  
  

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




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_channel_jni.c

2002-06-29 Thread mturk

mturk   2002/06/29 00:51:20

  Modified:jk/native2/common jk_channel_jni.c
  Log:
  Add 'init' param that if set disables the channel until the
  TC startup finishes, or lb timeout occurs.
  
  Revision  ChangesPath
  1.29  +38 -3 jakarta-tomcat-connectors/jk/native2/common/jk_channel_jni.c
  
  Index: jk_channel_jni.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_jni.c,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- jk_channel_jni.c  26 Jun 2002 11:06:58 -  1.28
  +++ jk_channel_jni.c  29 Jun 2002 07:51:20 -  1.29
  @@ -80,6 +80,8 @@
   /* default only, is configurable now */
   #define JAVA_BRIDGE_CLASS_NAME (org/apache/jk/apr/AprImpl)
   
  +#define JNI_TOMCAT_STARTED 2
  +extern int jk_jni_status_code;
   
   /** Information specific for the socket channel
*/
  @@ -90,6 +92,8 @@
   jclass jniBridge;
   
   jmethodID writeMethod;
  +int status;
  +int wait_initialized;
   } jk_channel_jni_private_t;
   
   typedef struct {
  @@ -154,7 +158,7 @@
 channel_jni.open()  NullPointerException, no channel worker 
found\n); 
   return JK_ERR;
   }
  -
  +
   jniCh-vm=(jk_vm_t *)we-vm;
   if( jniCh-vm == NULL ) {
   env-l-jkLog(env, env-l, JK_LOG_ERROR,
  @@ -215,6 +219,10 @@
   env-l-jkLog(env, env-l, JK_LOG_ERROR,
 channel_jni.open() can't find createJavaContext\n); 
   _this-worker-mbean-disabled=JK_TRUE;
  +
  +if( (*jniEnv)-ExceptionCheck( jniEnv ) ) {
  +(*jniEnv)-ExceptionClear( jniEnv );
  +}
   return JK_ERR;
   }
   
  @@ -230,6 +238,9 @@
 channel_jni.open() Can't create java context\n ); 
   epData-jniJavaContext=NULL;
   _this-worker-mbean-disabled=JK_TRUE;
  +if( (*jniEnv)-ExceptionCheck( jniEnv ) ) {
  +(*jniEnv)-ExceptionClear( jniEnv );
  +}
   return JK_ERR;
   }
   epData-jniJavaContext=(*jniEnv)-NewGlobalRef( jniEnv, jobj );
  @@ -297,6 +308,12 @@
   JNIEnv *jniEnv;
   jk_channel_jni_private_t *jniCh=_this-_privatePtr;
   epData=(jk_ch_jni_ep_private_t *)endpoint-channelData;
  +
  +if (epData == NULL) {
  +env-l-jkLog(env, env-l, JK_LOG_INFO,
  +  channel_jni.close() no channel data\n ); 
  +return JK_ERR;
  +}
   jniEnv = (JNIEnv *)jniCh-vm-attach( env, jniCh-vm );
   
   if( jniEnv == NULL ) {
  @@ -524,6 +541,10 @@
   if( strcmp( class, name ) == 0 ) {
   jniInfo-className=value;
   }
  +else if( strcmp( init, name ) == 0 ) {
  +jniInfo-wait_initialized=atoi(value);
  +}
  +
   /* TODO: apache protocol hooks
   else if( strcmp( , name ) == 0 ) {
   jniInfo-=value;
  @@ -557,6 +578,19 @@
   ep-currentRequest, ep, code, ep-reply 
);
   }
   
  +static int JK_METHOD jk2_channel_jni_status(jk_env_t *env,
  +jk_channel_t *_this)
  +{
  +
  +jk_channel_jni_private_t *jniCh=_this-_privatePtr;
  +if ( jniCh-status != JNI_TOMCAT_STARTED  jniCh-wait_initialized) {
  +jniCh-status = jk_jni_status_code;
  +if (jniCh-status != JNI_TOMCAT_STARTED)
  +return JK_ERR;
  +}
  +return JK_OK;
  +}
  +
   
   int JK_METHOD jk2_channel_jni_factory(jk_env_t *env, jk_pool_t *pool, 
 jk_bean_t *result,
  @@ -565,7 +599,7 @@
   jk_channel_t *ch=result-object;
   jk_workerEnv_t *wEnv;
   jk_channel_jni_private_t *jniPrivate;
  -
  +
   ch=(jk_channel_t *)pool-calloc(env, pool, sizeof( jk_channel_t));
   
   ch-recv= jk2_channel_jni_recv;
  @@ -575,7 +609,8 @@
   
   ch-beforeRequest= jk2_channel_jni_beforeRequest;
   ch-afterRequest= jk2_channel_jni_afterRequest;
  -
  +ch-status = jk2_channel_jni_status;
  +
   ch-_privatePtr=jniPrivate=(jk_channel_jni_private_t *)pool-calloc(env, pool,
   sizeof(jk_channel_jni_private_t));
   
  
  
  

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




mod_jk startup

2002-06-29 Thread Mladen Turk


Hi,

Some more explanations about the recent patch.

All the worker initialization checking is done in the load balancer.
The only drawback is that all the calls are disabled until the worker
finishes with the initialization (perhaps it could be done inside the
worker itself but IMO it will be the same).

The load balancer has now the additional config parameter 'initTimeout'
(default is 1 minute).

[lb:lb]
info=Default load balancer.
disabled=0
debug=0
initTimeout=30

That means that all the calls will be locked until the worker finishes
with the initialization or times out.
The cost of the init is small for the socket channels (simple connect),
but the JNI initialization can take a while.

The channel JNI has now new config param 'init' that when set to nonzero
waits until the TomcatStarter class calls the jkStatus native method.


[channel.jni:jni]
info=The jni channel, used if tomcat is started inprocess
disabled=0
debug=0
init=1

That will cause to wait until the TC is started, meaning that all the
calls to the channel will be blocked.

MT.


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




cvs commit: jakarta-tomcat-connectors/jk/native2/server/isapi jk_isapi_plugin.c

2002-06-29 Thread mturk

mturk   2002/06/29 07:17:27

  Modified:jk/native2/server/isapi jk_isapi_plugin.c
  Log:
  Create the thread when DllMain is called with the
  DLL_PROCCESS_ATTACH param that starts the jk2 initalization.
  That enables the inprocess TC to be started, cause it disables the
  thread locking of DllMain itself.
  
  Revision  ChangesPath
  1.30  +34 -8 
jakarta-tomcat-connectors/jk/native2/server/isapi/jk_isapi_plugin.c
  
  Index: jk_isapi_plugin.c
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/native2/server/isapi/jk_isapi_plugin.c,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- jk_isapi_plugin.c 9 Jun 2002 03:10:43 -   1.29
  +++ jk_isapi_plugin.c 29 Jun 2002 14:17:27 -  1.30
  @@ -533,6 +533,19 @@
   }
   
   
  +HANDLE jk2_starter_thread = NULL;
  +
  +DWORD WINAPI jk2_isapi_starter( LPVOID lpParam ) 
  +{ 
  +initialize_extension();
  +if (is_inited) {
  +if (init_jk(NULL))
  +is_mapread = JK_TRUE;
  +}
  +return 0; 
  +} 
  +
  +
   BOOL WINAPI DllMain(HINSTANCE hInst,// Instance Handle of the DLL
   ULONG ulReason, // Reason why NT called this DLL
   LPVOID lpReserved)  // Reserved parameter for future use
  @@ -541,24 +554,37 @@
   char drive[_MAX_DRIVE];
   char dir[_MAX_DIR];
   char fname[_MAX_FNAME];
  +DWORD dwThreadId;
   
   switch (ulReason) {
   case DLL_PROCESS_DETACH:
   __try {
  +if (jk2_starter_thread)
  +CloseHandle(jk2_starter_thread);
   TerminateFilter(HSE_TERM_MUST_UNLOAD);
   } __except(1) {
   }
   break;
   
  +case DLL_PROCESS_ATTACH:
  +if (GetModuleFileName( hInst, file_name, sizeof(file_name))) {
  +_splitpath( file_name, drive, dir, fname, NULL );
  +_makepath( ini_file_name, drive, dir, fname, .properties );
  +
  +jk2_starter_thread = CreateThread( NULL,
  +0,
  +jk2_isapi_starter,
  +NULL,
  +0,
  +dwThreadId);
  +
  +} else {
  +fReturn = JK_FALSE;
  +}
  +break;
   default:
   break;
   } 
  -if (GetModuleFileName( hInst, file_name, sizeof(file_name))) {
  -_splitpath( file_name, drive, dir, fname, NULL );
  -_makepath( ini_file_name, drive, dir, fname, .properties );
  -} else {
  -fReturn = JK_FALSE;
  -}
   return fReturn;
   }
   
  @@ -575,7 +601,7 @@
   /* Logging the initialization type: registry or properties file in virtual dir
   */
   if(strlen(worker_file)){
  -rc=(JK_OK != workerEnv-config-setPropertyString( env, workerEnv-config, 
config.file, worker_file ));
  +rc=(JK_OK == workerEnv-config-setPropertyString( env, workerEnv-config, 
config.file, worker_file ));
   }
   workerEnv-init(env,workerEnv);
   env-l-jkLog(env, env-l, JK_LOG_INFO, Set serverRoot %s\n, server_root);
  
  
  

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




DO NOT REPLY [Bug 10347] - Path Info incorrectly processed for JSP's

2002-06-29 Thread bugzilla

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10347.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10347

Path Info incorrectly processed for JSP's

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|INVALID |



--- Additional Comments From [EMAIL PROTECTED]  2002-06-29 14:30 ---
Should this issue to be addressed to Java Servlet specification group? Because 
some other Servlet container (at least Resin 2.1 and WebLogic 7) interpret 
Section 11.1 Rule 3 differently and not so formal. I believe that rule just 
came from 2.2 specification without reworking.

For instance here is the test for Resin 2.1 - 
http://w8.platonoff.com/index.jsp/aaa/bb?section=all

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




Re: mod_jk startup

2002-06-29 Thread costinm

On Sat, 29 Jun 2002, Mladen Turk wrote:

 All the worker initialization checking is done in the load balancer.

+1 ! ( can I say I was thinking the same ? )
 
 The load balancer has now the additional config parameter 'initTimeout'
 (default is 1 minute).
 
 That means that all the calls will be locked until the worker finishes
 with the initialization or times out.

Not sure about that. It's probably ok, but I think initTimeout should be 
a property of the channel ( and maybe only of the JNI channel, since
socket will connect and reconnect several times ), and only that worker
should wait. 

We can change this later, is not a big problem.

 The channel JNI has now new config param 'init' that when set to nonzero
 waits until the TomcatStarter class calls the jkStatus native method.

Does it have to be an option ? jk1 did wait in all cases, and I don't 
see any reason to set 'init' to 0.

Also, why a new jkStatus method instead of setAttribute() ?

Costin 


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




DO NOT REPLY [Bug 10347] - Path Info incorrectly processed for JSP's

2002-06-29 Thread bugzilla

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10347.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10347

Path Info incorrectly processed for JSP's

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||INVALID



--- Additional Comments From [EMAIL PROTECTED]  2002-06-29 17:02 ---
For the record, Section 11.1 bullet three says (*** added for emphasis):

  If the ***last*** segment in the URL path contains an extension ...

which seems awfully hard to misinterpret from my perspective.  Extension mapping
only looks at the segment after the last '/' character.  An implication of this
(by the definition of extra path info) is that there never will be any.

If you want the servlet spec group to look at this issue, please send feedback
to the address on the spec:

  [EMAIL PROTECTED]

and this is timely because the Servlet 2.4 spec is currently in public review,
so is it's still possible to change things.  One particular requirement of
addressing this differently (besides the backwards compatibility impacts) is the
need to establish specific rules for how to interpret potentially ambiguous URLs
like:

  http://localhost:8080/myapp/foo.jsp/bar.jsp/baz.jsp

so that all containers did them consistently.

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




RE: mod_jk startup

2002-06-29 Thread costinm

On Sat, 29 Jun 2002, Mladen Turk wrote:

  Also, why a new jkStatus method instead of setAttribute() ?
  
 
 Need the static call, cause its called from TomcatStarter, and since I
 don't need to pass nothing fancy, that was the simplest thing I can
 think of.

Well, it's ok - but long term I think we should make setAttribute() 
easier to use and remove jkStatus().

What about 
 static setAttribute( String componentName, String attName, String val ) ?

get/setAttribute doesn't have to be very fast - and that can be 
implemented quite easily. jkStatus() will become 
setAttribute( channel.jni, status, ...).

Costin


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




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_lb.c

2002-06-29 Thread mturk

mturk   2002/06/29 11:28:10

  Modified:jk/native2/common jk_worker_lb.c
  Log:
  Move the worker initalization to channel, so we can skip the channels
  that not need that option.
  
  Revision  ChangesPath
  1.22  +6 -13 jakarta-tomcat-connectors/jk/native2/common/jk_worker_lb.c
  
  Index: jk_worker_lb.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_lb.c,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- jk_worker_lb.c29 Jun 2002 07:48:20 -  1.21
  +++ jk_worker_lb.c29 Jun 2002 18:28:10 -  1.22
  @@ -85,7 +85,6 @@
   
   typedef struct {
   struct jk_mutex *cs;
  -intinit_timeout;
   intinitializing;
   } jk_worker_lb_private_t;
   
  @@ -385,7 +384,7 @@
   s-jvm_route = rec-route;
   
   s-realWorker = rec;
  -if (!rec-initialized  !lb_priv-initializing  lb-cs != NULL) {
  +if (rec-mbean-initialize  !lb_priv-initializing  lb-cs != NULL) {
   /* If the worker has not been called yet serialize the call */
   lb-cs-lock(env, lb-cs);
   lb_priv-initializing = JK_TRUE;
  @@ -397,18 +396,18 @@
   rec-in_error_state = JK_FALSE;
   rec-error_time = 0;
   /* Set the initialized flag to TRUE if that was the first call */
  -if (!rec-initialized  lb-cs != NULL) {
  -rec-initialized = JK_TRUE;
  +if (rec-mbean-initialize  lb-cs != NULL) {
  +rec-mbean-initialize = 0;
   lb_priv-initializing = JK_FALSE;
   lb-cs-unLock(env, lb-cs);
   }
   return JK_OK;
   }
   
  -if (!rec-initialized  lb-cs != NULL) {
  +if (rec-mbean-initialize  lb-cs != NULL) {
   time_t now = time(NULL);
   /* In the case of initialization timeout disable the worker */
  -if ((int)(now - rec-error_time)  lb_priv-init_timeout) {
  +if ((int)(now - rec-error_time)  rec-mbean-initialize) {
   rec-mbean-disabled = JK_TRUE;
   lb_priv-initializing = JK_FALSE;
   s-is_recoverable_error = JK_FALSE;
  @@ -524,11 +523,7 @@
   lb-noWorkerCode=atoi( value );
   } else if( strcmp( name, hwBalanceErr) == 0 ) {
   lb-hwBalanceErr=atoi( value );
  -} else if( strcmp( name, initTimeout) == 0 ) {
  -jk_worker_lb_private_t *priv = lb-worker_private;
  -priv-init_timeout=atoi( value );
   }
  -
   return JK_ERR;
   }
   
  @@ -595,8 +590,6 @@
   worker_private = (jk_worker_lb_private_t *)pool-calloc(env,
 pool, sizeof(jk_worker_lb_private_t));
   
  -/* one minute service startup */
  -worker_private-init_timeout = 60;
   jkb=env-createBean2(env, pool,threadMutex, NULL);
   if( jkb != NULL ) {
   worker_private-cs=jkb-object;
  @@ -625,7 +618,7 @@
   
   w-workerEnv=env-getByName( env, workerEnv );
   w-workerEnv-addWorker( env, w-workerEnv, w );
  -
  +
   return JK_OK;
   }
   
  
  
  

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




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_jni.c

2002-06-29 Thread mturk

mturk   2002/06/29 11:29:09

  Modified:jk/native2/common jk_worker_jni.c
  Log:
  Make the default 60 second worker initalization.
  
  Revision  ChangesPath
  1.20  +1 -1  jakarta-tomcat-connectors/jk/native2/common/jk_worker_jni.c
  
  Index: jk_worker_jni.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_jni.c,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- jk_worker_jni.c   23 Jun 2002 22:48:02 -  1.19
  +++ jk_worker_jni.c   29 Jun 2002 18:29:09 -  1.20
  @@ -390,7 +390,7 @@
   
   _this-workerEnv=env-getByName( env, workerEnv );
   _this-workerEnv-addWorker( env, _this-workerEnv, _this );
  -
  +
   return JK_OK;
   }
   #else
  
  
  

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




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_worker_ajp13.c

2002-06-29 Thread mturk

mturk   2002/06/29 11:29:51

  Modified:jk/native2/common jk_worker_ajp13.c
  Log:
  Changed the call to the service callback.
  
  Revision  ChangesPath
  1.36  +1 -2  jakarta-tomcat-connectors/jk/native2/common/jk_worker_ajp13.c
  
  Index: jk_worker_ajp13.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_worker_ajp13.c,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- jk_worker_ajp13.c 29 Jun 2002 07:49:30 -  1.35
  +++ jk_worker_ajp13.c 29 Jun 2002 18:29:51 -  1.36
  @@ -627,7 +627,7 @@
 return err;
   
   if (w-channel-status) {
  -err = w-channel-status(env, w-channel); 
  +err = w-channel-status(env, w, w-channel); 
   if  (err!=JK_OK) {
   jk2_worker_ajp13_done( env, w, e);
   return err;
  @@ -840,6 +840,5 @@
   w-workerEnv=env-getByName( env, workerEnv );
   w-workerEnv-addWorker( env, w-workerEnv, w );
   
  -
   return JK_OK;
   }
  
  
  

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




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_channel_jni.c

2002-06-29 Thread mturk

mturk   2002/06/29 11:31:01

  Modified:jk/native2/common jk_channel_jni.c
  Log:
  Make default 60 second initialization.
  
  Revision  ChangesPath
  1.30  +7 -8  jakarta-tomcat-connectors/jk/native2/common/jk_channel_jni.c
  
  Index: jk_channel_jni.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_jni.c,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- jk_channel_jni.c  29 Jun 2002 07:51:20 -  1.29
  +++ jk_channel_jni.c  29 Jun 2002 18:31:00 -  1.30
  @@ -93,7 +93,6 @@
   
   jmethodID writeMethod;
   int status;
  -int wait_initialized;
   } jk_channel_jni_private_t;
   
   typedef struct {
  @@ -119,8 +118,10 @@
   if( wEnv-vm == NULL ) {
   env-l-jkLog(env, env-l, JK_LOG_INFO,
 channel_jni.init() no VM found\n );
  -if( jniW-worker != NULL )
  +if( jniW-worker != NULL ) {
   jniW-worker-mbean-disabled=JK_TRUE;
  +jniW-worker-mbean-initialize=60;
  +}
   return JK_ERR;
   }
   return JK_OK;
  @@ -541,10 +542,6 @@
   if( strcmp( class, name ) == 0 ) {
   jniInfo-className=value;
   }
  -else if( strcmp( init, name ) == 0 ) {
  -jniInfo-wait_initialized=atoi(value);
  -}
  -
   /* TODO: apache protocol hooks
   else if( strcmp( , name ) == 0 ) {
   jniInfo-=value;
  @@ -579,11 +576,12 @@
   }
   
   static int JK_METHOD jk2_channel_jni_status(jk_env_t *env,
  +struct jk_worker *worker,
   jk_channel_t *_this)
   {
   
   jk_channel_jni_private_t *jniCh=_this-_privatePtr;
  -if ( jniCh-status != JNI_TOMCAT_STARTED  jniCh-wait_initialized) {
  +if ( jniCh-status != JNI_TOMCAT_STARTED  worker-mbean-initialize) {
   jniCh-status = jk_jni_status_code;
   if (jniCh-status != JNI_TOMCAT_STARTED)
   return JK_ERR;
  @@ -628,7 +626,8 @@
   wEnv-addChannel( env, wEnv, ch );
   
   result-invoke=jk2_channel_jni_invoke;
  -
  +ch-worker-mbean-initialize = 60;
  +
   return JK_OK;
   }
   
  
  
  

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




cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_channel.c

2002-06-29 Thread mturk

mturk   2002/06/29 11:32:30

  Modified:jk/native2/common jk_channel.c
  Log:
  Added 'init' option. This is the number of second that worker
  waits for channel to initialize. Defaults to 0 except for jni channel
  
  Revision  ChangesPath
  1.5   +4 -0  jakarta-tomcat-connectors/jk/native2/common/jk_channel.c
  
  Index: jk_channel.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- jk_channel.c  10 Jun 2002 21:55:06 -  1.4
  +++ jk_channel.c  29 Jun 2002 18:32:30 -  1.5
  @@ -84,6 +84,10 @@
   ch-mbean-disabled=atoi( value );
   if( ch-worker!=NULL)
   ch-worker-mbean-disabled=ch-mbean-disabled;
  +} else if( strcmp( init, name ) == 0 ) {
  +ch-worker-mbean-initialize=atoi( value );
  +if( ch-worker!=NULL)
  +ch-worker-mbean-disabled=ch-mbean-disabled;
   } else {
if( ch-worker!=NULL ) {
   return ch-worker-mbean-setAttribute( env, ch-worker-mbean, name, 
valueP );
  
  
  

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




cvs commit: jakarta-tomcat-connectors/jk/native2/include jk_worker.h

2002-06-29 Thread mturk

mturk   2002/06/29 11:33:06

  Modified:jk/native2/include jk_worker.h
  Log:
  Remove the initalize flag from the worker.
  
  Revision  ChangesPath
  1.26  +2 -7  jakarta-tomcat-connectors/jk/native2/include/jk_worker.h
  
  Index: jk_worker.h
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_worker.h,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- jk_worker.h   29 Jun 2002 07:45:15 -  1.25
  +++ jk_worker.h   29 Jun 2002 18:33:06 -  1.26
  @@ -197,12 +197,7 @@
*  or when the configuration changes.
*/
   int in_error_state;
  -
  -/* Initialized. Will be set to JK_TRUE after first service 
  - * call to the worker 
  - */
  -int initialized;
  -
  +
   /* Worker priority.
* Workers with lower priority are allways preffered - regardless of lb_value
* This is user to represent 'local' workers ( we can call it 'proximity' or 
'distance' )
  
  
  

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




cvs commit: jakarta-tomcat-connectors/jk/native2/include jk_channel.h

2002-06-29 Thread mturk

mturk   2002/06/29 11:33:57

  Modified:jk/native2/include jk_channel.h
  Log:
  Chenged the status callback proto.
  
  Revision  ChangesPath
  1.17  +3 -1  jakarta-tomcat-connectors/jk/native2/include/jk_channel.h
  
  Index: jk_channel.h
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_channel.h,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- jk_channel.h  29 Jun 2002 07:45:45 -  1.16
  +++ jk_channel.h  29 Jun 2002 18:33:57 -  1.17
  @@ -164,7 +164,9 @@
  
   /** Obtain the channel status code
*/
  -int (JK_METHOD *status)(struct jk_env *env, jk_channel_t *_this);
  +int (JK_METHOD *status)(struct jk_env *env, 
  +struct jk_worker *worker,
  +jk_channel_t *_this);
   
   void *_privatePtr;
   };
  
  
  

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




cvs commit: jakarta-tomcat-connectors/jk/native2/include jk_bean.h

2002-06-29 Thread mturk

mturk   2002/06/29 11:34:36

  Modified:jk/native2/include jk_bean.h
  Log:
  Add the initialize flag/timeout.
  
  Revision  ChangesPath
  1.7   +5 -0  jakarta-tomcat-connectors/jk/native2/include/jk_bean.h
  
  Index: jk_bean.h
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_bean.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- jk_bean.h 30 May 2002 18:03:59 -  1.6
  +++ jk_bean.h 29 Jun 2002 18:34:36 -  1.7
  @@ -155,6 +155,11 @@
*/
   int disabled;
   
  +/* Initialize. Will be set to 0 after first service 
  + * call to the worker.
  + */
  +int initialize;
  +
   /** Object 'version'. Used to detect changes in config.
*  XXX will be set to the timestamp of the last config modification.
*/
  
  
  

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




RE: mod_jk startup

2002-06-29 Thread Mladen Turk

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] 
 Sent: 29. lipanj 2002 20:08
 To: Tomcat Developers List
 Subject: RE: mod_jk startup
 
 
 On Sat, 29 Jun 2002, Mladen Turk wrote:
 
   Also, why a new jkStatus method instead of setAttribute() ?
   
  
  Need the static call, cause its called from TomcatStarter, 
 and since I 
  don't need to pass nothing fancy, that was the simplest thing I can 
  think of.
 
 Well, it's ok - but long term I think we should make setAttribute() 
 easier to use and remove jkStatus().
 
 What about 
  static setAttribute( String componentName, String attName, 
 String val ) ?
 
 get/setAttribute doesn't have to be very fast - and that can be 
 implemented quite easily. jkStatus() will become 
 setAttribute( channel.jni, status, ...).
 

Ok, I'll try to do that. (At least one native less :).

I've moved the channel initialization from the worker to the channel
itself.
The jni channel timeout is set to 1 minute, and can be modified using
init param, if larger values are needed.

MT.


--
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/common JkInputStream.java

2002-06-29 Thread nacho

nacho   2002/06/29 15:39:13

  Modified:jk/java/org/apache/jk/common JkInputStream.java
  Log:
  Problems when detecting that post body was exhausted, added a check in doRead..
  
  Revision  ChangesPath
  1.11  +4 -0  
jakarta-tomcat-connectors/jk/java/org/apache/jk/common/JkInputStream.java
  
  Index: JkInputStream.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/JkInputStream.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- JkInputStream.java20 Jun 2002 18:46:59 -  1.10
  +++ JkInputStream.java29 Jun 2002 22:39:13 -  1.11
  @@ -276,6 +276,10 @@
   if( log.isDebugEnabled())
   log.debug( doRead  + pos +   + blen +   + available +   + 
end_of_stream+
+ responseChunk.getOffset()+   + 
responseChunk.getLength());
  +if( contentLength == pos ) {
  +end_of_stream=true;
  +return -1;
  +}
   if( blen == pos ) {
   refillReadBuffer();
   }
  
  
  

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




RE: [4.1.6] Milestone available for testing

2002-06-29 Thread Ignacio J. Ortega

Just fixed a problem when using Slide+IIS ( i suppouse that this was a
problem for apaches too , i dont know not tested ), Sorry, 4.1.7?

Saludos ,
Ignacio J. Ortega

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




cvs commit: jakarta-tomcat-connectors/jk/xdocs configweb.xml index.xml style.css.in style.xsl.in

2002-06-29 Thread nacho

nacho   2002/06/29 20:32:02

  Modified:jk/xdocs configweb.xml index.xml style.css.in style.xsl.in
  Log:
  Adding some more docs,  i dont know already wich is the good layout for the 
components and his properties.. :), i hope we found it sound
  
  Revision  ChangesPath
  1.3   +539 -206  jakarta-tomcat-connectors/jk/xdocs/configweb.xml
  
  Index: configweb.xml
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/xdocs/configweb.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- configweb.xml 20 Jun 2002 20:38:41 -  1.2
  +++ configweb.xml 30 Jun 2002 03:32:01 -  1.3
  @@ -1,79 +1,438 @@
   ?xml version=1.0?
   document
  -  properties
  -titleConfiguration in the Web Server/title
  -author email=[EMAIL PROTECTED]Costin Manolache/author
  -author email=[EMAIL PROTECTED]Jean-Frederic Clere/author
  -  /properties
  -
  -section name=Intro
  -p
  +properties
  +titleConfiguration in the Web Server/title
  +author email=[EMAIL PROTECTED]Costin Manolache/author
  +author email=[EMAIL PROTECTED]Jean-Frederic 
Clere/author
  +/properties
  +section name=Intro
  +p
 This document describes the configuration file used by mod_jk2 on the
 Web Server site. Its default name is ${serverRoot}/conf/workers2.properties,
 where ${serverRoot} is something like /opt/apache.
   /p
  -/section
  -
  -section name=Config options
  -p
  +/section
  +section name=Installation
  +subsection name=Apache 1/
  +subsection name=Apache 2/
  +subsection name=IIS/
  +/section
  +section name=Config file/
  +section name=Components
  +pCommon properties for all components/p
  +p
  +table
  +tr
  +thProperty name/th
  +thDefault/th
  +thDescription/th
  +/tr
  +tr
  +tddisabled/td
  +td0 (false)/td
  +tddisabled state for the component, 1=true 0=false/td
  +/tr
  +tr
  +tddebug/td
  +td0 (false)/td
  +tddebug state for the component, 1=true 0=false/td
  +/tr
  +/table
  +/p
  +subsection name=workerEnv
  +pThis component represent the core jk2, this has the default logger 
for all other components/p
  +p
  +table
  +tr
  +thProperty name/th
  +thDefault/th
  +thDescription/th
  +/tr
  +tr
  +tdlogger/td
  +tdlogger/td
  +tdDefault loger used by jk2 components, can be changed in 
the config file, normally it defaults to logger the Alias for the default logger for 
the Server/platform./td
  +/tr
  +tr
  +tdtiming/td
  +td0/td
  +tdWill jk2 get request timing (needs APR?)/td
  +/tr
  +/table
  +/p
  +/subsection
  +subsection name=config
  +pThe config component, hold the detail of the conifg system, such 
config file name, create global defines/p
  +p
  +table
  +tr
  +thProperty name/th
  +thDefault/th
  +thDescription/th
  +/tr
  +tr
  +tddebugEnv/td
  +td0/td
  +tdSet the debug level of the hidden env component /td
  +/tr
  +/table
  +/p
  +/subsection
  +subsection name=uriMap/
  +subsection name=shm
  +pShared memory descriptor/p
  +p
  +table
  +tr
  +thProperty name/th
  +thDefault/th
  +thDescription/th
  +/tr
  +tr
  +tdfile/td
  +tdNo default value/td
  +tdName of the file that will be mmapped to use as shared 
memory./td
  +/tr
  +tr
  +tdsize/td
  +tdNo default value/td
  +tdSize of the file./td
  +/tr
  +/table
  +/p
  +/subsection
  +subsection name=uri
  +pMaps a resource to a worker/p
  +

cvs commit: jakarta-tomcat-connectors/jk/native2/jni jkjni.dsp

2002-06-29 Thread nacho

nacho   2002/06/29 20:33:06

  Modified:jk/native2/jni jkjni.dsp
  Log:
  * build jkjni not JKJni
  
  Revision  ChangesPath
  1.4   +363 -388  jakarta-tomcat-connectors/jk/native2/jni/jkjni.dsp
  
  Index: jkjni.dsp
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/jni/jkjni.dsp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- jkjni.dsp 12 Jun 2002 23:26:36 -  1.3
  +++ jkjni.dsp 30 Jun 2002 03:33:06 -  1.4
  @@ -1,388 +1,363 @@
  -# Microsoft Developer Studio Project File - Name=Jni - Package Owner=4
  -# Microsoft Developer Studio Generated Build File, Format Version 6.00
  -# ** DO NOT EDIT **
  -
  -# TARGTYPE Win32 (x86) Dynamic-Link Library 0x0102
  -
  -CFG=Jni - Win32 Debug
  -!MESSAGE This is not a valid makefile. To build this project using NMAKE,
  -!MESSAGE use the Export Makefile command and run
  -!MESSAGE 
  -!MESSAGE NMAKE /f JKJni.mak.
  -!MESSAGE 
  -!MESSAGE You can specify a configuration when running NMAKE
  -!MESSAGE by defining the macro CFG on the command line. For example:
  -!MESSAGE 
  -!MESSAGE NMAKE /f JKJni.mak CFG=Jni - Win32 Debug
  -!MESSAGE 
  -!MESSAGE Possible choices for configuration are:
  -!MESSAGE 
  -!MESSAGE Jni - Win32 Release (based on Win32 (x86) Dynamic-Link Library)
  -!MESSAGE Jni - Win32 Debug (based on Win32 (x86) Dynamic-Link Library)
  -!MESSAGE 
  -
  -# Begin Project
  -# PROP AllowPerConfigDependencies 0
  -# PROP Scc_ProjName 
  -# PROP Scc_LocalPath 
  -CPP=cl.exe
  -MTL=midl.exe
  -RSC=rc.exe
  -
  -!IF  $(CFG) == Jni - Win32 Release
  -
  -# PROP BASE Use_MFC 0
  -# PROP BASE Use_Debug_Libraries 0
  -# PROP BASE Output_Dir Release
  -# PROP BASE Intermediate_Dir Release
  -# PROP BASE Target_Dir 
  -# PROP Use_MFC 0
  -# PROP Use_Debug_Libraries 0
  -# PROP Output_Dir Release
  -# PROP Intermediate_Dir Release
  -# PROP Ignore_Export_Lib 0
  -# PROP Target_Dir 
  -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D WIN32 /D NDEBUG /D _WINDOWS /D 
_MBCS /D _USRDLL /D JNI_EXPORTS /YX /FD /c
  -# ADD CPP /nologo /MT /W3 /GX /O2 /I ..\include /I $(JAVA_HOME)\include /I 
$(JAVA_HOME)\include\win32 /I $(APACHE2_HOME)\include /I 
$(APACHE2_HOME)\os\win32 /D WIN32 /D NDEBUG /D _WINDOWS /D _MBCS /D 
_USRDLL /D JNI_EXPORTS /D HAVE_JNI /D HAS_APR /YX /FD /c
  -# ADD BASE MTL /nologo /D NDEBUG /mktyplib203 /win32
  -# ADD MTL /nologo /D NDEBUG /mktyplib203 /win32
  -# ADD BASE RSC /l 0xc0a /d NDEBUG
  -# ADD RSC /l 0xc0a /d NDEBUG
  -BSC32=bscmake.exe
  -# ADD BASE BSC32 /nologo
  -# ADD BSC32 /nologo
  -LINK32=link.exe
  -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 
/nologo /dll /machine:I386
  -# ADD LINK32 libapr.lib libaprutil.lib wsock32.lib advapi32.lib /nologo /dll 
/machine:I386 /libpath:$(APACHE2_HOME)\lib
  -
  -!ELSEIF  $(CFG) == Jni - Win32 Debug
  -
  -# PROP BASE Use_MFC 0
  -# PROP BASE Use_Debug_Libraries 1
  -# PROP BASE Output_Dir Jni___Win32_Debug
  -# PROP BASE Intermediate_Dir Jni___Win32_Debug
  -# PROP BASE Target_Dir 
  -# PROP Use_MFC 0
  -# PROP Use_Debug_Libraries 1
  -# PROP Output_Dir Debug
  -# PROP Intermediate_Dir Debug
  -# PROP Ignore_Export_Lib 0
  -# PROP Target_Dir 
  -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D WIN32 /D _DEBUG /D 
_WINDOWS /D _MBCS /D _USRDLL /D JNI_EXPORTS /YX /FD /GZ /c
  -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I ..\include /I 
$(JAVA_HOME)\include /I $(JAVA_HOME)\include\win32 /I $(APACHE2_HOME)\include /I 
$(APACHE2_HOME)\os\win32 /D WIN32 /D _DEBUG /D _WINDOWS /D _MBCS /D 
_USRDLL /D JNI_EXPORTS /D HAVE_JNI /D HAS_APR /FR /YX /FD /GZ /c
  -# ADD BASE MTL /nologo /D _DEBUG /mktyplib203 /win32
  -# ADD MTL /nologo /D _DEBUG /mktyplib203 /win32
  -# ADD BASE RSC /l 0xc0a /d _DEBUG
  -# ADD RSC /l 0x409 /d _DEBUG
  -BSC32=bscmake.exe
  -# ADD BASE BSC32 /nologo
  -# ADD BSC32 /nologo
  -LINK32=link.exe
  -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 
/nologo /dll /debug /machine:I386 /pdbtype:sept
  -# ADD LINK32 libapr.lib libaprutil.lib wsock32.lib advapi32.lib /nologo /dll /debug 
/machine:I386 /pdbtype:sept /libpath:$(APACHE2_HOME)\lib
  -
  -!ENDIF 
  -
  -# Begin Target
  -
  -# Name Jni - Win32 Release
  -# Name Jni - Win32 Debug
  -# Begin Group Source Files
  -
  -# PROP Default_Filter cpp;c;cxx;rc;def;r;odl;idl;hpj;bat
  -# Begin Source File
  -
  -SOURCE=..\common\jk_channel.c
  -# End Source File
  -# Begin Source File
  -
  -SOURCE=..\common\jk_channel_apr_socket.c
  -# End Source File
  -# Begin Source File
  -
  -SOURCE=..\common\jk_channel_jni.c
  -# End Source File
  -# Begin Source File
  -
  

isapi_redirector2 build using static APR

2002-06-29 Thread Mladen Turk


IMO it would be better to build the non Apache connectors using static
APR builds. That way we don't need to ship the extra dll's with the
connector.
The dll builds are ok for mod_jk2 since Apache is already there.

It would be quite easy to do that adding /D APR_DECLARE_STATIC /D
APU_DECLARE_STATIC, linking with apr.lib and aprutil.lib instead of
libapr and libaprutil

MT.


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