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/02 07:06:54 UTC
cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c
costin 02/03/01 22:06:54
Modified: jk/native2/common jk_ajp14_worker.c
Log:
setProperty style for configuration.
Revision Changes Path
1.17 +52 -77 jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
Index: jk_ajp14_worker.c
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- jk_ajp14_worker.c 21 Feb 2002 11:09:31 -0000 1.16
+++ jk_ajp14_worker.c 2 Mar 2002 06:06:54 -0000 1.17
@@ -91,48 +91,49 @@
* Initialize the worker.
*/
static int JK_METHOD
-jk2_worker_ajp14_validate(jk_env_t *env, jk_worker_t *_this,
- jk_map_t *props,
- jk_workerEnv_t *we)
+jk2_worker_ajp14_setProperty(jk_env_t *env, jk_worker_t *_this,
+ char *name, char *value )
{
int port;
char * host;
int err;
jk_worker_t *p = _this;
- jk_worker_t *aw;
char * secret_key;
char *channelType;
-
- aw = _this;
- _this->secret = jk2_map_getStrProp( env, props,
- "worker", aw->name, "secretkey", NULL );
- _this->secret= _this->pool->pstrdup(env, _this->pool, _this->secret);
-
- channelType = jk2_map_getStrProp( env, props,
- "worker", aw->name, "channel", "socket" );
-
- if( _this->channel == NULL ) {
- /* Create a default channel */
- _this->channel=env->getInstance(env, _this->pool,"channel",
- channelType );
-
- if( _this->channel == NULL ) {
- env->l->jkLog(env, env->l, JK_LOG_ERROR,
+
+ if( strcmp( name, "secretkey" )==0 ) {
+ _this->secret = value;
+ } else if( strcmp( name, "cachesize" )==0 ) {
+ _this->cache_sz=atoi( value );
+ } else if( strcmp( name, "channel" )==0 ) {
+ _this->channel=env->getInstance(env, _this->pool,"channel",
+ value );
+ if( _this->channel == NULL ) {
+ env->l->jkLog(env, env->l, JK_LOG_ERROR,
"Error creating %s channel\n", channelType);
- return JK_FALSE;
- }
- }
-
- err=_this->channel->init( env, _this->channel, props, p->name, _this);
- if( err != JK_TRUE ) {
- env->l->jkLog(env, env->l, JK_LOG_ERROR,
- "ajp14.validate(): channel init failed\n");
- return err;
+ return JK_FALSE;
+ }
+ _this->channel->worker=_this;
+ _this->channel->name=value;
+ env->l->jkLog(env, env->l, JK_LOG_INFO, "endpoint.setProperty() channel %s\n",
+ value);
+ } else {
+ /* It's probably a channel property
+ */
+ if( _this->channel==NULL ) {
+ env->l->jkLog(env, env->l, JK_LOG_ERROR,
+ "No channel for %s, set channel before other properties %s=%s\n",
+ _this->name, name, value );
+ return JK_FALSE;
+ }
+
+ env->l->jkLog(env, env->l, JK_LOG_INFO, "endpoint.setProperty() channel %s=%s\n",
+ name, value);
+ _this->channel->setProperty( env, _this->channel, name, value );
}
env->l->jkLog(env, env->l, JK_LOG_INFO,
- "ajp14.validate() %s %s\n", _this->name,
- _this->channel->name);
+ "ajp14.setProperty() %s %s %s\n", _this->name, name, value );
return JK_TRUE;
}
@@ -511,26 +512,20 @@
static int JK_METHOD
-jk2_worker_ajp14_init(jk_env_t *env, jk_worker_t *_this,
- jk_map_t *props,
- jk_workerEnv_t *we)
+jk2_worker_ajp14_init(jk_env_t *env, jk_worker_t *_this)
{
- jk_endpoint_t *e;
int rc;
- int cache_sz;
- /* start the connection cache */
- cache_sz=jk2_map_getIntProp(env, props,
- "worker", _this->name, "cachesize",
- JK_OBJCACHE_DEFAULT_SZ );
- if (cache_sz > 0) {
- int err;
- _this->endpointCache=jk2_objCache_create( env, _this->pool );
+ if( _this->cache_sz == -1 )
+ _this->cache_sz=JK_OBJCACHE_DEFAULT_SZ;
+ if (_this->cache_sz > 0) {
+ _this->endpointCache=jk2_objCache_create( env, _this->pool );
+
if( _this->endpointCache != NULL ) {
- err=_this->endpointCache->init( env, _this->endpointCache,
- cache_sz );
- if( err!= JK_TRUE ) {
+ rc=_this->endpointCache->init( env, _this->endpointCache,
+ _this->cache_sz );
+ if( rc!= JK_TRUE ) {
_this->endpointCache=NULL;
}
}
@@ -538,39 +533,18 @@
_this->endpointCache=NULL;
}
- if (_this->secret == NULL) {
- /* No extra initialization for AJP13 */
- env->l->jkLog(env, env->l, JK_LOG_INFO,
- "ajp14.init() ajp1x worker name=%s\n",
- _this->name);
- return JK_TRUE;
+ if( _this->channel == NULL ) {
+ /* Use default channel */
+ _this->setProperty( env, _this, "channel", "socket" );
}
-
- /* -------------------- Ajp14 discovery -------------------- */
-
- /* (try to) connect with the worker and get any information
- * If the worker is down, we'll use the cached data and update
- * at the first connection
- *
- * Tomcat can triger a 'ping' at startup to force us to
- * update.
- */
-
- if (jk2_worker_ajp14_getEndpoint(env, _this, &e) == JK_FALSE)
- return JK_FALSE;
- rc=jk2_worker_ajp14_connect(env, e);
-
-
- if ( rc == JK_TRUE) {
- env->l->jkLog( env, env->l, JK_LOG_INFO,
- "ajp14.init() %s connected ok\n",
- _this->name );
- } else {
- env->l->jkLog(env, env->l, JK_LOG_INFO,
- "ajp14.init() delayed connection %s\n",
- _this->name);
+ rc=_this->channel->init( env, _this->channel );
+ if( rc != JK_TRUE ) {
+ env->l->jkLog(env, env->l, JK_LOG_ERROR,
+ "ajp14.validate(): channel init failed\n");
+ return rc;
}
+
return JK_TRUE;
}
@@ -622,13 +596,14 @@
}
w->pool = pool;
w->name = NULL;
+ w->cache_sz=-1;
w->endpointCache= NULL;
w->channel= NULL;
w->secret= NULL;
- w->validate= jk2_worker_ajp14_validate;
+ w->setProperty= jk2_worker_ajp14_setProperty;
w->init= jk2_worker_ajp14_init;
w->destroy=jk2_worker_ajp14_destroy;
w->service = jk2_worker_ajp14_service;
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>