I've run with this configuration elsewhere without error. I'm not certain what the issue is. I have this same problem without using the loadbalancer worker. I can't even get to jkstatus. Any help is greatly appreciated.
server.xml <?xml version='1.0' encoding='utf-8'?> <Server> <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/> <GlobalNamingResources> <Environment name="simpleValue" type="java.lang.Integer" value="30"/> <Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/> <ResourceParams name="UserDatabase"> <parameter> <name>factory</name> <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value> </parameter> <parameter> <name>pathname</name> <value>conf/tomcat-users.xml</value> </parameter> </ResourceParams> </GlobalNamingResources> <Service name="Catalina"> <Connector URIEncoding="UTF-8" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8080" redirectPort="8443"> </Connector> <Connector URIEncoding="UTF-8" port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" disableUploadTimeout="true" maxProcessors="0" redirectPort="8443" debug="9"> </Connector> <Engine defaultHost="localhost" jvmRoute="djk" name="Catalina"> <Host appBase="webapps" name="localhost"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/> </Host> <Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/> <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/> </Engine> </Service> </Server> workers.properties # +++++++++++++++++++++++++++ BEGIN CONFIGURATION ++++++++++++++++++++++++++ # # http://jakarta.apache.org/tomcat/connectors-doc/config/workers.html # # The following configuration file describes a JK installation # which does round-robin, session-aware load balancing across all # defined workers. Having a single worker will balance the load on # that worker. This is the default, even if you don't spell it out, # but it is spelled out here for clarity. @TODO indicates a # configuration must be made here. @OPTIONAL indicates an optional # customization may be made. # # workers.properties - # # Copyright 1999-2004 The Apache Software Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # # This file provides jk derived plugins with the needed information to # connect to the different tomcat workers. Note that the distributed # version of this file requires modification before it is usable by a # plugin. # # As a general note, the characters $( and ) are used internally to define # macros. Do not use them in your own configuration!!! # # Whenever you see a set of lines such as: # x=value # y=$(x)\something # # the final value for y will be value\something # # Normaly all you will need to do is un-comment and modify the first three # properties, i.e. workers.tomcat_home, workers.java_home and ps. # Most of the configuration is derived from these. # # When you are done updating workers.tomcat_home, workers.java_home and ps # you should have 3 workers configured: # # - An ajp12 worker that connects to localhost:8007 # - An ajp13 worker that connects to localhost:8009 # - A jni inprocess worker. # - A load balancer worker # # However by default the plugins will only use the ajp12 worker. To have # the plugins use other workers you should modify the worker.list property. # # # You should configure your environment slash... ps=\ on NT and / on UNIX # and maybe something different elsewhere. # ps=\ # #------ ADVANCED MODE ------------------------------------------------ #--------------------------------------------------------------------- # # #------ DEFAULT worket list ------------------------------------------ #--------------------------------------------------------------------- # # # The workers that your plugins should create and work with # The name of the worker can contain only the alphanumeric characters # [a-z][A-Z][0-9] and is case insensitive. # # Add 'inprocess' if you want JNI connector worker.list=loadbalancer,jkstatus # #------ DEFAULT ajp13 WORKER DEFINITION ------------------------------ #--------------------------------------------------------------------- # # # Defining a worker named ajp13 and of type ajp13 # Note that the name and the type do not have to match. # worker.djk.port=8009 worker.djk.host=sccp1 worker.djk.type=ajp13 # # Specifies the load balance factor when used with # a load balancing worker. # Note: # ----> lbfactor must be > 0 # ----> Low lbfactor means less work done by the worker. worker.djk.lbfactor=1 # # Specify the size of the open connection cache. # Cachesize property is useful when you're using JK in multi threaded # web servers such as Apache 2.0 (worker), IIS and Netscape. # The cachesize property should reflect the number of threads per # child process. # 20 is a guess for IIS 6.0 # Load testing should be done to determine what this number should be. worker.djk.cachesize=100 worker.djk.cache_timeout=600 # #------ DEFAULT LOAD BALANCER WORKER DEFINITION ---------------------- #--------------------------------------------------------------------- # # # The loadbalancer (type lb) workers perform wighted round-robin # load balancing with sticky sessions. # Note: # ----> If a worker dies, the load balancer will check its state # once in a while. Until then all work is redirected to peer # workers. # These workers should not appear in the worker.list property! worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=djk worker.loadbalancer.sticky_session=1 worker.loadbalancer.method=T worker.jkstatus.type=status uriworkermap.properties # # Copyright 1999-2004 The Apache Software Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # /customer=loadbalancer /customer/*=loadbalancer /jkstatus=jkstatus /jkstatus/*=jkstatus /admin=loadbalancer /admin/*=loadbalancer jk 1.2.14 log [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_shm.c (91): Initialized shared memory size=66560 free=65536 addr=0x14e9e18 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (1133): Using registry. [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (1136): Using log file E:\files\jk-logs\isapi_filter.log. [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (1137): Using log level 1. [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (1138): Using extension uri /jakarta/isapi_redirect.dll. [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (1139): Using worker file C:\jk-connector\conf\workers.properties. [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (1140): Using worker mount file C:\jk-connector\conf\uriworkermap.properties. [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (1142): Using uri select 0. [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (268): exact rule /customer=loadbalancer was added [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (260): wildchar rule /customer/*=loadbalancer was added [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (268): exact rule /jkstatus=jkstatus was added [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (260): wildchar rule /jkstatus/*=jkstatus was added [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (268): exact rule /admin=loadbalancer was added [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (260): wildchar rule /admin/*=loadbalancer was added [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_worker.c (229): creating worker loadbalancer [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_worker.c (135): about to create instance loadbalancer of lb [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_worker.c (148): about to validate and init loadbalancer [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_worker.c (135): about to create instance djk of ajp13 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_worker.c (148): about to validate and init djk [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_ajp_common.c (1801): worker djk contact is 'sccp1:8009' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_ajp_common.c (1890): setting socket keepalive to 0 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_ajp_common.c (1929): setting socket timeout to -1 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_ajp_common.c (1933): setting socket buffer size to 0 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_ajp_common.c (1937): setting connection recycle timeout to 0 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_ajp_common.c (1941): setting cache timeout to 600 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_ajp_common.c (1945): setting connect timeout to 0 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_ajp_common.c (1949): setting reply timeout to 0 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_ajp_common.c (1953): setting prepost timeout to 0 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_ajp_common.c (1957): setting recovery opts to 0 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_ajp_common.c (1961): setting number of retries to 3 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_ajp_common.c (1838): setting connection cache size to 100 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_lb_worker.c (804): Balanced worker 0 has name djk in domain [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_worker.c (241): removing old loadbalancer worker [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_worker.c (229): creating worker jkstatus [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_worker.c (135): about to create instance jkstatus of status [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_worker.c (148): about to validate and init jkstatus [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_worker.c (241): removing old jkstatus worker [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (696): Detected IIS >= 5.0 [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (747): Filter started [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (813): Virtual Host redirection of /sccp1/customer [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (442): Attempting to map URI '/sccp1/customer' from 6 maps [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/jkstatus/*' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/customer/*' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/customer' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/jkstatus' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/admin/*' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/admin' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (820): Default redirection of /customer [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (442): Attempting to map URI '/customer' from 6 maps [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/jkstatus/*' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/customer/*' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/customer' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (479): Found an exact match loadbalancer -> /customer [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (830): check if [/customer] is points to the web-inf directory [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (848): [/customer] is a servlet url - should redirect to loadbalancer [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (747): Filter started [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (813): Virtual Host redirection of /sccp1/jakarta/isapi_redirect.dll [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (442): Attempting to map URI '/sccp1/jakarta/isapi_redirect.dll' from 6 maps [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/jkstatus/*' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/customer/*' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/customer' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/jkstatus' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/admin/*' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/admin' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (820): Default redirection of /jakarta/isapi_redirect.dll [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (442): Attempting to map URI '/jakarta/isapi_redirect.dll' from 6 maps [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/jkstatus/*' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/customer/*' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/customer' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/jkstatus' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/admin/*' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_uri_worker_map.c (454): Attempting to map context URI '/admin' [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (830): check if [/jakarta/isapi_redirect.dll] is points to the web-inf directory [Thu May 26 13:41:07 2005] [0252:1968] [debug] jk_isapi_plugin.c (927): [/jakarta/isapi_redirect.dll] is not a servlet url [Thu May 26 13:41:09 2005] [0252:2608] [debug] jk_worker.c (297): Maintaining worker loadbalancer [Thu May 26 13:41:09 2005] [0252:2608] [debug] jk_ajp_common.c (2186): recycled 0 sockets in 0 seconds [Thu May 26 13:41:09 2005] [0252:2608] [debug] jk_worker.c (105): did not find a worker ajp13 [Thu May 26 13:41:09 2005] [0252:2608] [debug] jk_isapi_plugin.c (1004): could not get a worker for name ajp13 [Thu May 26 13:41:09 2005] [0252:2608] [error] jk_isapi_plugin.c (1029): could not get a worker for name ajp13