On Thu, 2010-09-02 at 12:39 +0100, Brett Delle Grazie wrote:
> Hi,
> 
> We're having some strange errors being reported in the 1.2.30 version of
> mod_jk.  We think they might be related to the performance issues we're
> experiencing under load.
> 
> OS: RHEL 5.5 (fully patched)
> Apache HTTPD: 2.2.3 (from OS vendor)
> mod_jk: 1.2.30 (downloaded from Tomcat site and compiled locally)
> Tomcat: 6.0.29 (binary distribution from apache.org)
> JVM: 1.6.0_21 (Sun, 64-bit).
> 
> A sample is below. I'm mostly concerned about the 'awaited reply cpong
> recieved 3 instead' and the subsequenct close  and failure to send
> request.
> 
> Has anyone seen this before?
> 
> [Thu Sep 02 07:22:47.508 2010] [31759:47279871456000] [info]
> init_jk::mod_jk.c (3189): mod_jk/1.2.30 initialized
> [Thu Sep 02 07:22:47.588 2010] [31763:47279871456000] [info]
> init_jk::mod_jk.c (3189): mod_jk/1.2.30 initialized
> [Thu Sep 02 07:22:52.896 2010] [31781:1237244224] [warn]
> ajp_handle_cping_cpong::jk_ajp_common.c (906): awaited reply cpong,
> received 3 instead. Closing connection
> [Thu Sep 02 07:22:52.896 2010] [31781:1237244224] [info]
> ajp_send_request::jk_ajp_common.c (1518): (jvm2) failed sending request,
> socket -1 prepost cping/cpong failure (errno=0)
> [Thu Sep 02 07:22:59.647 2010] [31781:1258223936] [warn]
> ajp_handle_cping_cpong::jk_ajp_common.c (906): awaited reply cpong,
> received 3 instead. Closing connection
> [Thu Sep 02 07:22:59.647 2010] [31781:1258223936] [info]
> ajp_send_request::jk_ajp_common.c (1518): (jvm2) failed sending request,
> socket -1 prepost cping/cpong failure (errno=0)
> [Thu Sep 02 07:23:02.042 2010] [32082:1253792064] [warn]
> ajp_handle_cping_cpong::jk_ajp_common.c (906): awaited reply cpong,
> received 3 instead. Closing connection
> [Thu Sep 02 07:23:02.042 2010] [32082:1253792064] [info]
> ajp_send_request::jk_ajp_common.c (1518): (jvm2) failed sending request,
> socket -1 prepost cping/cpong failure (errno=0)
> [Thu Sep 02 07:23:06.142 2010] [32049:1325504832] [warn]
> ajp_handle_cping_cpong::jk_ajp_common.c (906): awaited reply cpong,
> received 3 instead. Closing connection
> [Thu Sep 02 07:23:06.142 2010] [32049:1325504832] [info]
> ajp_send_request::jk_ajp_common.c (1518): (jvm1) failed sending request,
> socket -1 prepost cping/cpong failure (errno=0)
> [Thu Sep 02 07:23:11.231 2010] [32082:1211832640] [info]
> ajp_process_callback::jk_ajp_common.c (1882): Writing to client aborted
> or client network problems
> [Thu Sep 02 07:23:11.231 2010] [32082:1211832640] [info]
> ajp_service::jk_ajp_common.c (2540): (jvm1) sending request to tomcat
> failed (unrecoverable), because of client write error (attempt=1)
> [Thu Sep 02 07:23:11.232 2010] [32082:1211832640] [info]
> service::jk_lb_worker.c (1388): service failed, worker jvm1 is in local
> error state
> [Thu Sep 02 07:23:11.232 2010] [32082:1211832640] [info]
> service::jk_lb_worker.c (1407): unrecoverable error 200, request failed.
> Client failed in the middle of request, we can't recover to another
> instance.
> [Thu Sep 02 07:23:11.232 2010] [32082:1211832640] [info]
> jk_handler::mod_jk.c (2611): Aborting connection for worker=balancer
> [Thu Sep 02 07:23:11.444 2010] [32049:1315014976] [info]
> ajp_process_callback::jk_ajp_common.c (1882): Writing to client aborted
> or client network problems
> [Thu Sep 02 07:23:11.444 2010] [32049:1315014976] [info]
> ajp_service::jk_ajp_common.c (2540): (jvm1) sending request to tomcat
> failed (unrecoverable), because of client write error (attempt=1)
> [Thu Sep 02 07:23:11.445 2010] [32049:1315014976] [info]
> service::jk_lb_worker.c (1388): service failed, worker jvm1 is in local
> error state
> [Thu Sep 02 07:23:11.445 2010] [32049:1315014976] [info]
> service::jk_lb_worker.c (1407): unrecoverable error 200, request failed.
> Client failed in the middle of request, we can't recover to another
> instance.
> [Thu Sep 02 07:23:11.445 2010] [32049:1315014976] [info]
> jk_handler::mod_jk.c (2611): Aborting connection for worker=balancer
> [Thu Sep 02 07:23:11.645 2010] [32082:1232812352] [info]
> ajp_process_callback::jk_ajp_common.c (1882): Writing to client aborted
> or client network problems
> [Thu Sep 02 07:23:11.645 2010] [32082:1232812352] [info]
> ajp_service::jk_ajp_common.c (2540): (jvm1) sending request to tomcat
> failed (unrecoverable), because of client write error (attempt=1)
> [Thu Sep 02 07:23:11.646 2010] [32082:1232812352] [info]
> service::jk_lb_worker.c (1388): service failed, worker jvm1 is in local
> error state
> [Thu Sep 02 07:23:11.646 2010] [32082:1232812352] [info]
> service::jk_lb_worker.c (1407): unrecoverable error 200, request failed.
> Client failed in the middle of request, we can't recover to another
> instance.
> [Thu Sep 02 07:23:11.646 2010] [32082:1232812352] [info]
> jk_handler::mod_jk.c (2611): Aborting connection for worker=balancer
> [Thu Sep 02 07:23:17.902 2010] [31927:1298282816] [warn]
> ajp_handle_cping_cpong::jk_ajp_common.c (906): awaited reply cpong,
> received 3 instead. Closing connection
> [Thu Sep 02 07:23:17.902 2010] [31927:1298282816] [info]
> ajp_send_request::jk_ajp_common.c (1518): (jvm1) failed sending request,
> socket -1 prepost cping/cpong failure (errno=0)
> [Thu Sep 02 07:23:17.902 2010] [31927:1298282816] [info]
> ajp_send_request::jk_ajp_common.c (1574): (jvm1) all endpoints are
> disconnected, detected by connect check (0), cping (1), send (0)
> [Thu Sep 02 07:23:20.676 2010] [31927:1140934976] [warn]
> ajp_handle_cping_cpong::jk_ajp_common.c (906): awaited reply cpong,
> received 3 instead. Closing connection
> [Thu Sep 02 07:23:20.676 2010] [31927:1140934976] [info]
> ajp_send_request::jk_ajp_common.c (1518): (jvm2) failed sending request,
> socket -1 prepost cping/cpong failure (errno=0)
> [Thu Sep 02 07:23:29.280 2010] [31927:1182894400] [warn]
> ajp_handle_cping_cpong::jk_ajp_common.c (906): awaited reply cpong,
> received 3 instead. Closing connection
> [Thu Sep 02 07:23:29.280 2010] [31927:1182894400] [info]
> ajp_send_request::jk_ajp_common.c (1518): (jvm2) failed sending request,
> socket -1 prepost cping/cpong failure (errno=0)
> [Thu Sep 02 07:23:33.014 2010] [32082:1138403648] [info]
> ajp_process_callback::jk_ajp_common.c (1882): Writing to client aborted
> or client network problems
> [Thu Sep 02 07:23:33.014 2010] [32082:1138403648] [info]
> ajp_service::jk_ajp_common.c (2540): (jvm1) sending request to tomcat
> failed (unrecoverable), because of client write error (attempt=1)
> [Thu Sep 02 07:23:33.014 2010] [32082:1138403648] [info]
> service::jk_lb_worker.c (1388): service failed, worker jvm1 is in local
> error state
> [Thu Sep 02 07:23:33.014 2010] [32082:1138403648] [info]
> service::jk_lb_worker.c (1407): unrecoverable error 200, request failed.
> Client failed in the middle of request, we can't recover to another
> instance.
> [Thu Sep 02 07:23:33.014 2010] [32082:1138403648] [info]
> jk_handler::mod_jk.c (2611): Aborting connection for worker=balancer
> 
> The rest of the log continues in the same pattern albeit with higher
> frequency as the load increases.
> 

Additional information:

workers.properties:
worker.list=jk-status
worker.jk-status.type=status
worker.jk-status.read_only=true
worker.list=jk-manager
worker.jk-manager.type=status
worker.list=balancer
worker.balancer.type=lb
worker.balancer.error_escalation_time=0
worker.balancer.max_reply_timeouts=10
worker.balancer.balance_workers=jvm1
worker.balancer.balance_workers=jvm2
worker.jvm2.reference=worker.template
worker.jvm2.host=fmp-dun-tapp2
worker.jvm2.port=10303
worker.jvm2.activation=A

# Used for jkmanager / status
worker.list=jvm1
worker.jvm1.reference=worker.template
worker.jvm1.host=localhost
worker.jvm1.port=10303
worker.jvm1.activation=A

worker.template.type=ajp13
worker.template.socket_connect_timeout=5000
worker.template.socket_keepalive=true
worker.template.ping_mode=A
worker.template.ping_timeout=10000
worker.template.connection_pool_minsize=0
worker.template.connection_pool_timeout=600
worker.template.reply_timeout=300000
worker.template.recovery_options=3

mod_jk.conf:
LoadModule jk_module modules/mod_jk.so

<IfModule jk_module>
    JkWorkersFile components/workers.properties
    JkLogFile "|/usr/sbin/rotatelogs /var/log/httpd/mod_jk_log 86400"
    JkLogLevel info
    JkShmFile logs/mod_jk.shm
    LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\" \"%{Cookie}i\" \"%{Set-Cookie}o\" %{pid}P %{tid}P
%{JK_LB_FIRST_NAME}n %{JK_LB_LAST_NAME}n ACC %{JK_LB_LAST_ACCESSED}n ERR
%{JK_LB_LAST_ERRORS}n BSY %{JK_LB_LAST_BUSY}n %{JK_LB_LAST_STATE}n %D"
extended_jk
    JkStripSession On
    JkWatchdogInterval 60
</IfModule>

Relevant httpd.conf global entries:
Timeout 120
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 15

#Worker MPM
StartServers         2
MaxClients         150
MinSpareThreads     25
MaxSpareThreads     75 
ThreadsPerChild     25
MaxRequestsPerChild  0

Relevant vhost entry:
<Directory "/var/www/files/" >
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

<Directory "/var/www/www.example.com/" >
        Options FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

<VirtualHost _default_:80>
        ServerName www.example.com
        DocumentRoot "/var/www/www.example.com"
        
        ErrorDocument 404 /404.jsp
        
        CacheEnable mem /
        CacheIgnoreHeaders Set-Cookie
        # Not available: CacheIgnoreURLSessionIdentifiers jsessionid

        # These files should be made part of the static build structure.
        Alias /files/ "/var/www/files/"
        
        JkMount /|* balancer
        JkUnMount /manager/* balancer
        JkUnMount /files/* balancer
        JkStripSession on
</VirtualHost>

<VirtualHost _default_:443>
        ServerName www.example.com
        DocumentRoot "/var/www/www.example.com"
        
        ErrorDocument 404 /404.jsp

        CacheEnable mem /
        CacheIgnoreHeaders Set-Cookie
        # Not available: CacheIgnoreURLSessionIdentifiers jsessionid

        Alias /files/ "/var/www/files/"
                
        SSLEngine on
        
        SSLProtocol All -SSLv2
        SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:
+MEDIUM
        SSLOptions +OptRenegotiate
        
        SSLCertificateFile /etc/pki/tls/certs/server.crt
        SSLCertificateKeyFile /etc/pki/tls/key/server.key
        SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
        SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt 
        
        SSLVerifyClient none
        
        SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
        <Files ~ "\.(cgi|shtml|phtml|php3?)$">
            SSLOptions +StdEnvVars
        </Files>
        <Directory "/var/www/cgi-bin">
            SSLOptions +StdEnvVars
        </Directory>
        
        SetEnvIf User-Agent ".*MSIE.*" \
                 nokeepalive ssl-unclean-shutdown \
                 downgrade-1.0 force-response-1.0

        JkMount /|* balancer
        
        JkUnMount /manager/* balancer
        JkUnMount /files/* balancer
        JkStripSession on
</VirtualHost>

Tomcat server.xml

<?xml version='1.0' encoding='utf-8'?>
<Server port="10300" shutdown="SHUTDOWN">

        <Listener className="org.apache.catalina.core.AprLifecycleListener"
                SSLEngine="on" />
        <Listener className="org.apache.catalina.core.JasperListener" />
        <Listener
className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
        <Listener
className="org.apache.catalina.mbeans.ServerLifecycleListener" />
        <Listener
className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
                rmiRegistryPortPlatform="10301"
                rmiServerPortPlatform="10302"
                useLocalPorts="true" />
        <Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

        <GlobalNamingResources>
                <Resource name="UserDatabase" auth="Container"
                        type="org.apache.catalina.UserDatabase" 
description="User database
that can be updated and saved"
                        
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                        pathname="conf/tomcat-users.xml" />

                <Resource name="jdbc/Trace2M"
                  auth="Application" 
                  type="javax.sql.DataSource"

connectionProperties="useUsageAdvisor=false;autoSlowLog=false;includeInnodbStatusInDeadlockExceptions=true;logger=com.mysql.jdbc.log.Log4JLogger"
                  defaultAutoCommit="false"
                  driverClassName="com.mysql.jdbc.Driver"
                  initialSize="1"
                  maxActive="10"
                  maxIdle="-1"
                  maxOpenPreparedStatements="10"
                  maxWait="10000"
                  minEvictableIdleTimeMillis="60000"
                  minIdle="1"
                  numTestsPerEvictionRun="3"
                  password="*****"
                  poolPreparedStatements="true"
                  testOnBorrow="true"
                  testOnReturn="false"
                  testWhileIdle="true"
                  timeBetweenEvictionRunsMillis="10000"
                  url="jdbc:mysql://****:3306/example"
                  username="*****"
                  validationQuery="/* ping */"
                  logAbandoned="true" 
                  removeAbandoned="true" 
                  removeAbandonedTimeout="60"
                />

                <Resource name="jdbc/QUARTZ"
                  auth="Application" 
                  type="javax.sql.DataSource"

connectionProperties="useUsageAdvisor=false;autoSlowLog=false;includeInnodbStatusInDeadlockExceptions=true;logger=com.mysql.jdbc.log.Log4JLogger"
                  defaultAutoCommit="false"
                  driverClassName="com.mysql.jdbc.Driver"
                  initialSize="1"
                  maxActive="10"
                  maxIdle="-1"
                  maxOpenPreparedStatements="10"
                  maxWait="10000"
                  minEvictableIdleTimeMillis="60000"
                  minIdle="1"
                  numTestsPerEvictionRun="3"
                  password="*****"
                  poolPreparedStatements="true"
                  testOnBorrow="true"
                  testOnReturn="false"
                  testWhileIdle="true"
                  timeBetweenEvictionRunsMillis="10000"
                  url="jdbc:mysql://****:3306/example"
                  username="****"
                  validationQuery="/* ping */"
                  logAbandoned="true" 
                  removeAbandoned="true" 
                  removeAbandonedTimeout="60"
                />

                <Resource name="jdbc/Trace2M_CMS" 
                  auth="Application" 
                  type="javax.sql.DataSource"

connectionProperties="loadBalanceConnectionGroup=cms;loadBalanceEnableJMX=true;loadBalanceSQLExceptionSubclassFailover=java.sql.SQLTransientConnectionException;loadBalanceBlacklistTimeout=5000;loadBalancePingTimeout=1000;useUsageAdvisor=false;autoSlowLog=false;includeInnodbStatusInDeadlockExceptions=true;logger=com.mysql.jdbc.log.Log4JLogger"
                  defaultAutoCommit="false"
                  driverClassName="com.mysql.jdbc.Driver"
                  initialSize="1"
                  maxActive="10"
                  maxIdle="-1"
                  maxOpenPreparedStatements="10"
                  maxWait="10000"
                  minEvictableIdleTimeMillis="60000"
                  minIdle="1"
                  numTestsPerEvictionRun="3"
                  password="*****"
                  poolPreparedStatements="true"
                  testOnBorrow="true"
                  testOnReturn="false"
                  testWhileIdle="true"
                  timeBetweenEvictionRunsMillis="10000"

url="jdbc:mysql:loadbalance://host1,host2:3306/example"
                  username="****"
                  validationQuery="/* ping */"
                  logAbandoned="true" 
                  removeAbandoned="true" 
                  removeAbandonedTimeout="60"
                />

        <Resource name="jdbc/BMD"
                  auth="Application" 
                  type="javax.sql.DataSource"

connectionProperties="loadBalanceConnectionGroup=bmd;loadBalanceEnableJMX=true;loadBalanceSQLExceptionSubclassFailover=java.sql.SQLTransientConnectionException;loadBalanceBlacklistTimeout=5000;loadBalancePingTimeout=1000;useUsageAdvisor=false;autoSlowLog=false;includeInnodbStatusInDeadlockExceptions=true;logger=com.mysql.jdbc.log.Log4JLogger"
                  defaultAutoCommit="false"
                  driverClassName="com.mysql.jdbc.Driver"
                  initialSize="1"
                  maxActive="10"
                  maxIdle="-1"
                  maxOpenPreparedStatements="10"
                  maxWait="10000"
                  minEvictableIdleTimeMillis="60000"
                  minIdle="1"
                  numTestsPerEvictionRun="3"
                  password="*****"
                  poolPreparedStatements="true"
                  testOnBorrow="true"
                  testOnReturn="false"
                  testWhileIdle="true"
                  timeBetweenEvictionRunsMillis="10000"

url="jdbc:mysql:loadbalance://host1,host2:3306/example"
                  username="*****"
                  validationQuery="/* ping */"
                  logAbandoned="true" 
                  removeAbandoned="true" 
                  removeAbandonedTimeout="60"
                />

        <Resource name="jdbc/SEARCH01"
                  auth="Application" 
                  type="javax.sql.DataSource"

connectionProperties="loadBalanceConnectionGroup=bmd;loadBalanceEnableJMX=true;loadBalanceSQLExceptionSubclassFailover=java.sql.SQLTransientConnectionException;loadBalanceBlacklistTimeout=5000;loadBalancePingTimeout=1000;useUsageAdvisor=false;autoSlowLog=false;includeInnodbStatusInDeadlockExceptions=true;logger=com.mysql.jdbc.log.Log4JLogger"
                  defaultAutoCommit="false"
                  driverClassName="com.mysql.jdbc.Driver"
                  initialSize="1"
                  maxActive="10"
                  maxIdle="-1"
                  maxOpenPreparedStatements="10"
                  maxWait="10000"
                  minEvictableIdleTimeMillis="60000"
                  minIdle="1"
                  numTestsPerEvictionRun="3"
                  password="******"
                  poolPreparedStatements="true"
                  testOnBorrow="true"
                  testOnReturn="false"
                  testWhileIdle="true"
                  timeBetweenEvictionRunsMillis="10000"

url="jdbc:mysql:loadbalance://host1,host2:3306/example"
                  username="*****"
                  validationQuery="/* ping */"
                  logAbandoned="true" 
                  removeAbandoned="true" 
                  removeAbandonedTimeout="60"
                />

                <Resource name="jdbc/TRACE2" auth="Application"
type="javax.sql.DataSource"
                        maxActive="10" maxIdle="-1" maxWait="10000" 
username="******"
                        password="*******" validationQuery="select 1 from 
SYSIBM.SYSDUMMY1"
                        driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2://host1:50000/example:clientRerouteAlternateServerName=host2;clientRerouteAlternatePortNumber=50000;maxRetriesForClientReroute=120;retryIntervalForClientReroute=30;"
 />

                <Resource name="jdbc/C1841" auth="Application"
type="javax.sql.DataSource"
                        maxActive="10" maxIdle="-1" maxWait="10000" 
username="*****"
                        password="******" validationQuery="select 1 from 
SYSIBM.SYSDUMMY1"
                        driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2://host1:50000/example:clientRerouteAlternateServerName=host2;clientRerouteAlternatePortNumber=50000;maxRetriesForClientReroute=120;retryIntervalForClientReroute=30;"
 />

                <Resource name="jdbc/C1851" auth="Application"
type="javax.sql.DataSource"
                        maxActive="10" maxIdle="-1" maxWait="10000" 
username="*****"
                        password="*****" validationQuery="select 1 from 
SYSIBM.SYSDUMMY1"
                        driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2:/host1:50000/example:clientRerouteAlternateServerName=host2;clientRerouteAlternatePortNumber=50000;maxRetriesForClientReroute=120;retryIntervalForClientReroute=30;"
 />

                <Resource name="jdbc/C1861" auth="Application"
type="javax.sql.DataSource"
                        maxActive="10" maxIdle="-1" maxWait="10000" 
username="*****"
                        password="******" validationQuery="select 1 from 
SYSIBM.SYSDUMMY1"
                        driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2://host1:50000/example:clientRerouteAlternateServerName=host2;clientRerouteAlternatePortNumber=50000;maxRetriesForClientReroute=120;retryIntervalForClientReroute=30;"
 />

                <Resource name="jdbc/C1871" auth="Application"
type="javax.sql.DataSource"
                        maxActive="10" maxIdle="-1" maxWait="10000" 
username="*****"
                        password="*****" validationQuery="select 1 from 
SYSIBM.SYSDUMMY1"
                        driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2://host1:50000/example:clientRerouteAlternateServerName=host2;clientRerouteAlternatePortNumber=50000;maxRetriesForClientReroute=120;retryIntervalForClientReroute=30;"
 />

                <Resource name="jdbc/C1881" auth="Application"
type="javax.sql.DataSource"
                        maxActive="10" maxIdle="-1" maxWait="10000" 
username="******"
                        password="*****" validationQuery="select 1 from 
SYSIBM.SYSDUMMY1"
                        driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2://host1:50000/example:clientRerouteAlternateServerName=host2;clientRerouteAlternatePortNumber=50000;maxRetriesForClientReroute=120;retryIntervalForClientReroute=30;"
 />

                <Resource name="jdbc/C1891" auth="Application"
type="javax.sql.DataSource"
                        maxActive="10" maxIdle="-1" maxWait="10000" 
username="*****"
                        password="*****" validationQuery="select 1 from 
SYSIBM.SYSDUMMY1"
                        driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2://host1:50000/example:clientRerouteAlternateServerName=host2;clientRerouteAlternatePortNumber=50000;maxRetriesForClientReroute=120;retryIntervalForClientReroute=30;"
 />

                <Resource name="jdbc/C1901" auth="Application"
type="javax.sql.DataSource"
                        maxActive="10" maxIdle="-1" maxWait="10000" 
username="******"
                        password="******" validationQuery="select 1 from 
SYSIBM.SYSDUMMY1"
                        driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2://host1:50000/example:clientRerouteAlternateServerName=host2;clientRerouteAlternatePortNumber=50000;maxRetriesForClientReroute=120;retryIntervalForClientReroute=30;"
 />

                <Resource name="jdbc/C1911" auth="Application"
type="javax.sql.DataSource"
                        maxActive="10" maxIdle="-1" maxWait="10000" 
username="*****"
                        password="******" 
driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2://host1:50000/example:clientRerouteAlternateServerName=host2;clientRerouteAlternatePortNumber=50000;maxRetriesForClientReroute=120;retryIntervalForClientReroute=30;"
 />

                <Resource name="jdbc/SESS192" auth="Application"
type="javax.sql.DataSource"
                        maxActive="10" maxIdle="-1" maxWait="10000" 
username="*****"
                        password="******" validationQuery="select 1 from 
SYSIBM.SYSDUMMY1"
                        driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2://host11:50000/example:clientRerouteAlternateServerName=host2;clientRerouteAlternatePortNumber=50000;maxRetriesForClientReroute=120;retryIntervalForClientReroute=30;"
 />

                <Resource name="jdbc/ARCHIV" auth="Application"
type="javax.sql.DataSource"
                        maxActive="10" maxIdle="-1" maxWait="10000" 
username="******"
                        password="******" validationQuery="select 1 from 
SYSIBM.SYSDUMMY1"
                        driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2://host1:50000/example:clientRerouteAlternateServerName=host2;clientRerouteAlternatePortNumber=50000;maxRetriesForClientReroute=120;retryIntervalForClientReroute=30;"
 />

                <Resource name="jdbc/BT27" auth="Application"
type="javax.sql.DataSource"
                        maxActive="10" maxIdle="-1" maxWait="10000" 
username="******"
                        password="******" validationQuery="select 1 from 
SYSIBM.SYSDUMMY1"
                        driverClassName="com.ibm.db2.jcc.DB2Driver"

url="jdbc:db2://host1:50000/example:clientRerouteAlternateServerName=host2;clientRerouteAlternatePortNumber=50000;maxRetriesForClientReroute=120;retryIntervalForClientReroute=30;"
 />

                <Resource name="mail/Trace2" auth="Application"
type="javax.mail.Session"
                        mail.smtp.host="localhost" />
        </GlobalNamingResources>

        <Service name="Catalina">

                <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
                        maxThreads="200" minSpareThreads="4" />

                <Connector executor="tomcatThreadPool" enableLookups="false"
                        port="10303" 
protocol="org.apache.coyote.ajp.AjpAprProtocol"
                        redirectPort="443" />

                <Connector executor="tomcatThreadPool" enableLookups="false"
                        port="10304" 
protocol="org.apache.coyote.http11.Http11NioProtocol"
                        connectionTimeout="20000" redirectPort="10305" />
                <Connector executor="tomcatThreadPool" enableLookups="false"
                        port="10305" 
protocol="org.apache.coyote.http11.Http11AprProtocol"
                        SSLEnabled="true" scheme="https" secure="true"
connectionTimeout="20000"
                        
SSLCACertificateFile="${tomcat.directconn.SSLCACertificateFile}"

SSLCertificateChainFile="${tomcat.directconn.SSLCertificateChainFile}"
                        
SSLCertificateFile="${tomcat.directconn.SSLCertificateFile}"
                        
SSLCertificateKeyFile="${tomcat.directconn.SSLCertificateKeyFile}"
                        SSLProtocol="TLSv1" />

                <Engine name="Catalina" defaultHost="localhost"
                        jvmRoute="jvm${tomcat.clusterid}">

                        <Cluster 
className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
                                channelSendOptions="6">

                                <Manager 
className="org.apache.catalina.ha.session.BackupManager"
                                        expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"
                                        mapSendOptions="6" />
                                <Channel 
className="org.apache.catalina.tribes.group.GroupChannel">
                                        <Membership
className="org.apache.catalina.tribes.membership.McastService"
                                                address="228.0.0.4" 
port="45564" frequency="500"
dropTime="3000" />
                                        <Receiver
className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                                                address="auto" port="5000" 
selectorTimeout="100" maxThreads="6" />

                                        <Sender

className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
                                                <Transport

className="org.apache.catalina.tribes.transport.nio.PooledParallelSender" />
                                        </Sender>
                                        <Interceptor

className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector" />
                                        <Interceptor

className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"
 />
                                        <Interceptor

className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor" 
/>
                                </Channel>

                                <Valve 
className="org.apache.catalina.ha.tcp.ReplicationValve"
                                        
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*
\.txt;"
                                        statistics="true" />

                                <Valve
className="org.apache.catalina.ha.session.JvmRouteBinderValve" />

                                <ClusterListener

className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener" />
                                <ClusterListener

className="org.apache.catalina.ha.session.ClusterSessionListener" />
                        </Cluster>

                        <Realm 
className="org.apache.catalina.realm.UserDatabaseRealm"
                                resourceName="UserDatabase" />

                        <Host name="localhost" appBase="webapps" 
unpackWARs="false"
                                autoDeploy="false" xmlValidation="false" 
xmlNamespaceAware="false">
                        </Host>
                        <Host name="aob" appBase="aob"
                                unpackWARs="false" autoDeploy="false" 
xmlValidation="false"
                                xmlNamespaceAware="false">
                                <Alias>example2.com</Alias>
                        </Host>
                </Engine>
        </Service>
</Server>


Any help appreciated.
Thanks, 

-- 
Best Regards,

Brett Delle Grazie

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to