You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2002/03/26 04:04:54 UTC
cvs commit: jakarta-tomcat-connectors/jk/native2/server/apache2 jk_logger_apache2.c mod_jk2.c
costin 02/03/25 19:04:54
Modified: jk/native2/server/apache13 mod_jk2.c
jk/native2/server/apache2 jk_logger_apache2.c mod_jk2.c
Log:
Update to the interface changes, implement the vargs logging function in logger.apache2
Revision Changes Path
1.8 +25 -11 jakarta-tomcat-connectors/jk/native2/server/apache13/mod_jk2.c
Index: mod_jk2.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache13/mod_jk2.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- mod_jk2.c 25 Mar 2002 03:31:41 -0000 1.7
+++ mod_jk2.c 26 Mar 2002 03:04:54 -0000 1.8
@@ -59,7 +59,7 @@
* Description: Apache 1.3 plugin for Jakarta/Tomcat *
* Author: Gal Shachor <sh...@il.ibm.com> *
* Henri Gomez <hg...@slib.fr> *
- * Version: $Revision: 1.7 $ *
+ * Version: $Revision: 1.8 $ *
***************************************************************************/
/*
@@ -138,6 +138,7 @@
jk_env_t *env;
jk_logger_t *l;
jk_pool_t *globalPool;
+ jk_bean_t *jkb;
/** First create a pool. We use the default ( jk ) pool impl,
* other choices are apr or native.
@@ -156,12 +157,16 @@
/* Create the logger . We use the default jk logger, will output
to a file. Check the logger for default settings.
*/
- l = env->createInstance( env, env->globalPool, "logger.file", "logger");
+ jkb=env->createBean2( env, env->globalPool, "logger.file", "");
+ l = jkb->object;
env->l=l;
+ env->alias( env, "logger.file:", "logger");
/* Create the workerEnv
*/
- workerEnv= env->createInstance( env, env->globalPool,"workerEnv", "workerEnv");
+ jkb=env->createBean2( env, env->globalPool,"workerEnv", "");
+ workerEnv= jkb->object;
+ env->alias( env, "workerEnv:", "workerEnv");
if( workerEnv==NULL || l== NULL ) {
fprintf( stderr, "Error initializing jk, NULL objects \n");
@@ -195,6 +200,7 @@
static void *jk2_create_config(ap_pool *p, server_rec *s)
{
jk_uriEnv_t *newUri;
+ jk_bean_t *jkb;
if( workerEnv==NULL ) {
jk2_create_workerEnv(p, s );
@@ -207,9 +213,10 @@
fprintf( stderr, "Create config for main host\n");
}
- newUri = workerEnv->globalEnv->createInstance( workerEnv->globalEnv,
- workerEnv->pool,
- "uri", NULL );
+ jkb=workerEnv->globalEnv->createBean2( workerEnv->globalEnv,
+ workerEnv->pool,
+ "uri", NULL );
+ newUri = jkb->object;
newUri->workerEnv=workerEnv;
return newUri;
}
@@ -257,6 +264,7 @@
env->l->jkLog(env, env->l, JK_LOG_INFO,
"mod_jk.post_config() init worker env\n");
+
workerEnv->init(env, workerEnv );
workerEnv->server_name = (char *)ap_get_server_version();
@@ -292,13 +300,14 @@
if(uriEnv==NULL || strcmp(r->handler,JK_HANDLER)!= 0 )
return DECLINED;
- /* XXX Get an env instance */
- env = workerEnv->globalEnv;
+ /* Get an env instance */
+ env = workerEnv->globalEnv->getEnv( workerEnv->globalEnv );
/* Set up r->read_chunked flags for chunked encoding, if present */
if(rc = ap_setup_client_block(r, REQUEST_CHUNKED_DECHUNK)) {
env->l->jkLog(env, env->l, JK_LOG_INFO,
"mod_jk.handler() Can't setup client block %d\n", rc);
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return rc;
}
@@ -326,6 +335,7 @@
if(worker==NULL ) {
env->l->jkLog(env, env->l, JK_LOG_ERROR,
"mod_jk.handle() No worker for %s\n", r->uri);
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return 500;
}
@@ -369,11 +379,13 @@
}
if(rc==JK_TRUE) {
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return OK; /* NOT r->status, even if it has changed. */
}
env->l->jkLog(env, env->l, JK_LOG_ERROR,
"mod_jk.handler() Error connecting to tomcat %d\n", rc);
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return 500;
}
@@ -393,12 +405,13 @@
if( workerEnv->uriMap->size == 0 )
return DECLINED;
- /* XXX get_env() */
- env=workerEnv->globalEnv;
+ /* get_env() */
+ env = workerEnv->globalEnv->getEnv( workerEnv->globalEnv );
uriEnv = workerEnv->uriMap->mapUri(env, workerEnv->uriMap,NULL,r->uri );
if(uriEnv==NULL || uriEnv->workerName==NULL) {
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return DECLINED;
}
@@ -408,7 +421,8 @@
env->l->jkLog(env, env->l, JK_LOG_INFO,
"mod_jk.translate(): uriMap %s %s\n",
r->uri, uriEnv->workerName);
-
+
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return OK;
}
1.16 +24 -8 jakarta-tomcat-connectors/jk/native2/server/apache2/jk_logger_apache2.c
Index: jk_logger_apache2.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/jk_logger_apache2.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- jk_logger_apache2.c 23 Mar 2002 17:15:08 -0000 1.15
+++ jk_logger_apache2.c 26 Mar 2002 03:04:54 -0000 1.16
@@ -106,15 +106,15 @@
return JK_TRUE;
}
-static int jk2_logger_apache2_jkLog(jk_env_t *env, jk_logger_t *l,
- const char *file,
- int line,
- int level,
- const char *fmt, ...)
+static int jk2_logger_apache2_jkVLog(jk_env_t *env, jk_logger_t *l,
+ const char *file,
+ int line,
+ int level,
+ char *fmt,
+ va_list args)
{
/* XXX map jk level to apache level */
server_rec *s=(server_rec *)l->logger_private;
- va_list args;
int rc;
/* XXX XXX Change this to "SMALLSTACK" or something, I don't think it's
@@ -134,7 +134,6 @@
return JK_FALSE;
}
- va_start(args, fmt);
#ifdef WIN32
rc = _vsnprintf(buf, HUGE_BUFFER_SIZE, fmt, args);
#elif defined(NETWARE) /* until we get a vsnprintf function */
@@ -146,7 +145,6 @@
#else
rc = vsnprintf(buf, HUGE_BUFFER_SIZE, fmt, args);
#endif
- va_end(args);
rc=strlen( buf );
/* Remove trailing \n. XXX need to change the log() to not include \n */
if( buf[rc-1] == '\n' )
@@ -162,6 +160,23 @@
return rc ;
}
+static int jk2_logger_apache2_jkLog(jk_env_t *env, jk_logger_t *l,
+ const char *file,
+ int line,
+ int level,
+ const char *fmt, ...)
+{
+ va_list args;
+ int rc;
+
+ va_start(args, fmt);
+ rc=jk2_logger_apache2_jkVLog( env, l, file, line, level, fmt, args );
+ va_end(args);
+
+ return rc;
+}
+
+
static int JK_METHOD
jk2_logger_file_setProperty(jk_env_t *env, jk_bean_t *mbean,
char *name, void *valueP )
@@ -194,6 +209,7 @@
l->logger_private = NULL;
l->init =jk2_logger_apache2_init;
l->jkLog = jk2_logger_apache2_jkLog;
+ l->jkVLog = jk2_logger_apache2_jkVLog;
l->level=JK_LOG_ERROR_LEVEL;
1.7 +34 -17 jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c
Index: mod_jk2.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/server/apache2/mod_jk2.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- mod_jk2.c 23 Mar 2002 17:15:08 -0000 1.6
+++ mod_jk2.c 26 Mar 2002 03:04:54 -0000 1.7
@@ -59,7 +59,7 @@
* Description: Apache 2 plugin for Jakarta/Tomcat *
* Author: Gal Shachor <sh...@il.ibm.com> *
* Henri Gomez <hg...@slib.fr> *
- * Version: $Revision: 1.6 $ *
+ * Version: $Revision: 1.7 $ *
***************************************************************************/
/*
@@ -219,9 +219,9 @@
/* We don't know the vhost yet - so path is not
* unique. We'll have to generate a unique name
*/
- jk_uriEnv_t *newUri = workerEnv->globalEnv->createInstance( workerEnv->globalEnv,
- workerEnv->pool,
- "uri", path );
+ jk_bean_t *jkb=workerEnv->globalEnv->createBean2( workerEnv->globalEnv,
+ workerEnv->pool, "uri", path );
+ jk_uriEnv_t *newUri = jkb->object;
newUri->workerEnv=workerEnv;
newUri->mbean->setAttribute( workerEnv->globalEnv, newUri->mbean, "path", path );
return newUri;
@@ -252,7 +252,7 @@
jk_env_t *env;
jk_logger_t *l;
jk_pool_t *globalPool;
-
+ jk_bean_t *jkb;
/** First create a pool. Compile time option
*/
@@ -272,10 +272,14 @@
/* Create the logger */
#ifdef NO_APACHE_LOGGER
- l = env->createInstance( env, env->globalPool, "logger.file", "logger");
+ jkb=env->createBean2( env, env->globalPool, "logger.file", "");
+ env->alias( env, "logger.file:", "logger");
+ l = jkb->object;
#else
env->registerFactory( env, "logger.apache2", jk2_logger_apache2_factory );
- l = env->createInstance( env, env->globalPool, "logger.apache2", "logger");
+ jkb=env->createBean2( env, env->globalPool, "logger.apache2", "");
+ env->alias( env, "logger.apache2:", "logger");
+ l = jkb->object;
l->logger_private=s;
#endif
@@ -285,7 +289,9 @@
ap_server_root_relative(cmd->pool,opt); */
/* Create the workerEnv */
- workerEnv= env->createInstance( env, env->globalPool,"workerEnv", "workerEnv");
+ jkb=env->createBean2( env, env->globalPool,"workerEnv", "");
+ workerEnv= jkb->object;
+ env->alias( env, "workerEnv:" , "workerEnv");
if( workerEnv==NULL ) {
env->l->jkLog(env, env->l, JK_LOG_ERROR, "Error creating workerEnv\n");
@@ -304,6 +310,7 @@
static void *jk2_create_config(apr_pool_t *p, server_rec *s)
{
jk_uriEnv_t *newUri;
+ jk_bean_t *jkb;
if( workerEnv==NULL ) {
jk2_create_workerEnv(p, s );
@@ -316,9 +323,11 @@
fprintf( stderr, "Create config for main host\n");
}
- newUri = workerEnv->globalEnv->createInstance( workerEnv->globalEnv,
- workerEnv->pool,
- "uri", NULL );
+ jkb = workerEnv->globalEnv->createBean2( workerEnv->globalEnv,
+ workerEnv->pool,
+ "uri", NULL );
+ newUri=jkb->object;
+
newUri->workerEnv=workerEnv;
return newUri;
@@ -482,13 +491,14 @@
workerEnv = uriEnv->workerEnv;
- /* XXX Get an env instance */
- env = workerEnv->globalEnv;
+ /* Get an env instance */
+ env = workerEnv->globalEnv->getEnv( workerEnv->globalEnv );
/* Set up r->read_chunked flags for chunked encoding, if present */
if(rc = ap_setup_client_block(r, REQUEST_CHUNKED_DECHUNK)) {
env->l->jkLog(env, env->l, JK_LOG_INFO,
"mod_jk.handler() Can't setup client block %d\n", rc);
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return rc;
}
@@ -505,7 +515,7 @@
worker, uriEnv->webapp );
if( worker==NULL && uriEnv->workerName != NULL ) {
- worker=env->getByName( env, uriEnv->workerName);
+ worker=env->getByName( env, uriEnv->workerName);
env->l->jkLog(env, env->l, JK_LOG_INFO,
"mod_jk.handler() finding worker for %p %p\n",
worker, uriEnv );
@@ -516,6 +526,7 @@
if(worker==NULL ) {
env->l->jkLog(env, env->l, JK_LOG_ERROR,
"mod_jk.handle() No worker for %s\n", r->uri);
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return 500;
}
@@ -560,11 +571,13 @@
}
if(rc==JK_TRUE) {
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return OK; /* NOT r->status, even if it has changed. */
}
env->l->jkLog(env, env->l, JK_LOG_ERROR,
- "mod_jk.handler() Error connecting to tomcat %d\n", rc);
+ "mod_jk.handler() Error connecting to tomcat %d\n", rc);
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return 500;
}
@@ -584,8 +597,8 @@
uriEnv=ap_get_module_config( r->per_dir_config, &jk2_module );
workerEnv=uriEnv->workerEnv;
- /* XXX get_env() */
- env=workerEnv->globalEnv;
+ /* get_env() */
+ env = workerEnv->globalEnv->getEnv( workerEnv->globalEnv );
/* This has been mapped to a location by apache
* In a previous ( experimental ) version we had a sub-map,
@@ -598,6 +611,7 @@
ap_set_module_config( r->request_config, &jk2_module, uriEnv );
r->handler=JK_HANDLER;
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return OK;
}
@@ -608,6 +622,7 @@
/* Check JkMount directives, if any */
if( workerEnv->uriMap->size == 0 )
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return DECLINED;
/* XXX TODO: Split mapping, similar with tomcat. First step will
@@ -618,6 +633,7 @@
uriEnv = workerEnv->uriMap->mapUri(env, workerEnv->uriMap,NULL,r->uri );
if( uriEnv== NULL || uriEnv->workerName == NULL) {
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return DECLINED;
}
@@ -628,6 +644,7 @@
"mod_jk.translate(): uriMap %s %s\n",
r->uri, uriEnv->workerName);
+ workerEnv->globalEnv->releaseEnv( workerEnv->globalEnv, env );
return OK;
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>