IIS 6.0/ JK2/ Tomcat 5.0.28/ SQL Server

My configuration is 1 W2K3 server running IIS and the JK2 connector, 2 W2K2 
servers (load balanced) running my tomcat web app, and 1 running SQL Server.

When the requests are long (over 2 minutes), occasionally they re-post multiple 
times.  I see the re-post activity on TP threads.  I don't see the request 
originate from 'jakarta' in the IIS log.  So my guess is I've misconfigured 
Tomcat or JK2.  Attached are my workers2.properties and a server.xml from one 
of the tomcats.

Any help is appreciated.  Is there a complete workers2.properties file 
anywhere?  Everyone seems to use the pieces they need and delete the rest.  I 
feel shaky, at best, with the configuration I'm using.

# ++++++++++++++++++++++BEGIN INSTALLATION INSTRUCTIONS+++++++++++++++++++++ # 
# Jakarta ISAPI Connector Installation Steps # # I. Update the server's 
registry settings.  This can be accomplished
#    using either of the following two steps:
#    1. Merge the registry file hosting.isapi_redirector2.reg
#    2. Manually add the following registry entries:
#       a. In the registry, create a new registry key named
#          "HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\
#          Jakarta Isapi Redirector\2.0"
#       b. [serverRoot] = [${JK2_HOME}/jk2-connector]
#       c. [extensionUri] = /jakarta/isapi_redirector2.dll
#       d. [workersFile] = [${JK2_HOME}/conf/workers2.properties]
#       e. [logLevel] = [INFO]
#
# II. Configure IIS
#    1. Using the IIS management console, add a new virtual directory to
#       your default web site. The name of the virtual directory must be
#       jakarta. Map this to C:\jk2-connector\bin\.  
#       While creating this new virtual directory assign it with 
#       execute access (scripts + executables)
#    2. Using the IIS management console, add isapi_redirector2.dll as a
#       filter to the default IIS web site. 
#       The name of the filter does not matter.  Use "jakarta".
#       The path should be C:\jk2-connector\bin\isapi_redirector2.dll
#
# [ 
#    Windows 2003 / IIS 6.0 ONLY:
#
#    3. Add isapi_redirector2.dll to the list of allowed 
#       "Web Service Extensions"
#    4. Create an application pool named 'jakarta' under 
#       "Application Pools\DefaultAppPool"
# ]
#
#    5. Restart IIS
#
#    6. Test by requesting http://host-name/jkstatus
#
# -----------------------END INSTALLATION INSTRUCTIONS----------------------

# +++++++++++++++++++++++++++ BEGIN CONFIGURATION ++++++++++++++++++++++++++ # 
# The following configuration file describes a JK2 installation # which does 
round-robin, session-aware load balancing across all # defined workers.  Having 
a single work 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.
#

#
# Define the status worker, used with the URI: /jkstatus 
# This is useful for testing the health of the connector, and for 
# getting performance statistics
#
# @OPTIONAL: if you don't want a /jkstatus report, omit
#
[status:status]

#
# (1) Create a logger.
# @OPTIONAL: You may customize the path if you wish.
#
[logger.file:0]
level=DEBUG
file=E:/files/jk2-logs/isapi_filter.log

#
# (2) Define a load balancer worker
# @OPTIONAL: You may add  "debug=9" for triage, if needed
#
[lb:lb]
stickySession=1

#
# (3) Define a communication channel to tomcat
#
# @TODO: 
# 1. Replace "@TODO-tomcat-server" with the tomcat server host name
# 2. Update the corresponding tomcat configuration file 
(${CATALINA_HOME/conf/server.xml):
#    Find the line '<Engine ... name="Catalina" ...>' and add the element
#    jvmRoute="@TODO-tomcat-server:8009" >.  The value of jvmRoute must
#    match the "tomcatId" below, or stick session load balancing will not work.
#
# @TODO: Change the host name as appropriate
#
# @OPTIONAL: You may add  "debug=9" for triage, if needed
#
[channel.socket:qailt002:8009]
info=AJP13 forwarding over socket
tomcatId=qailt002:8009

[channel.socket:qailt003:8009]
info=AJP13 forwarding over socket
tomcatId=qailt003:8009

#
# (4) Define a worker which communicates over the channel above
#
# @TODO: Change the host name as appropriate
#
# @OPTIONAL: Changing the lbfactor affects the weighted round-robin 
# load balancing.  Higher numbers means stronger machine which will
# receive more of the requests.
#
# @OPTIONAL: You may add  "debug=9" for triage, if needed
#
[ajp13:qailt002:8009]
channel=channel.socket:qailt002:8009
lbfactor=1

[ajp13:qailt003:8009]
channel=channel.socket:qailt003:8009
lbfactor=1

#
# @OPTIONAL: Repeat steps (3) and (4) here for every tomcat server
# to participate in load balancing.  At least one is required.
# 
# For example, if the load on the single server defined above
# is too great, configure a similar server, and repeat steps (3) and (4)
# to include the new server in the load balancing.
#
# --------------------------- END   CONFIGURATION --------------------------

# +++++++++++++++++++++++++++    BEGIN MAPPING    ++++++++++++++++++++++++++
#
# (5) Map URIs to be forwarded.  
#
# @TODO: For each context deployed on the tomcat-server(s) above,
# define a mapping to be forwarded.
#
# @OPTIONAL: You may add  "debug=9" for triage, if needed
#
# @OPTIONAL: You may change the info= to be descriptive of this application.
#

[uri:/iltsp6150/*]
info=Instructor-Led Training Add-On 1.0.3 + SkillPort 6.1.50
[uri:/iltsp6150a/*]
info=Instructor-Led Training Add-On 1.0.3 + SkillPort 6.1.50
[uri:/iltsp6150b/*]
info=Instructor-Led Training Add-On 1.0.3 + SkillPort 6.1.50


# ---------------------------     END  MAPPING    --------------------------

# +++++++++++++++++++++++++++ /jkstatus MAPPING   ++++++++++++++++++++++++++
#
# @OPTIONAL: This provides a status report on the JK2 connector.  Remove
# if you don't want this available.
#
[uri:/jkstatus/*]
worker=status:status

# --------------------------- /jkstatus MAPPING   --------------------------


<?xml version='1.0' encoding='utf-8'?>
<Server>
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
  <Listener 
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <GlobalNamingResources>
    <Environment description="Hibernate dialect: 
net.sf.Hibernate.dialect.[SQLServerDialect|OracleDialect|Oracle9Dialect]" 
name="hibernate.dialect" override="false" type="java.lang.String" 
value="net.sf.hibernate.dialect.SQLServerDialect"/>
    <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"/>
    <Resource name="com/skillsoft/ilt/jdbc/ILTSP6150A" 
type="javax.sql.DataSource"/>
    <Resource name="com/skillsoft/ilt/jdbc/ILTSP6150B" 
type="javax.sql.DataSource"/>
    <Resource name="com/skillsoft/ilt/jdbc/ILTSP6150" 
type="javax.sql.DataSource"/>
    <Resource name="com/skillsoft/mgs/mail/session" type="javax.mail.Session"/>
    <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>
    <ResourceParams name="com/skillsoft/ilt/jdbc/ILTSP6150A">
      <parameter>
        <name>url</name>
        
<value>jdbc:microsoft:sqlserver://qasql.amr.smtf.ds:1433;selectMethod=cursor;sendStringParametersAsUnicode=true</value>
      </parameter>
      <parameter>
        <name>validationQuery</name>
        <value>SELECT iltVersion FROM iltVersion WHERE 
iltVersion=&apos;1.0.0&apos; AND versionid IN (SELECT param_val FROM 
master_parameters WHERE param_name=&apos;dbVersion&apos;)</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>50</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>100</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
      </parameter>
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>ILTSP6150AMaster</value>
      </parameter>
      <parameter>
        <name>factory</name>
        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>ILTorBUST</value>
      </parameter>
      <parameter>
        <name>defaultCatalog</name>
        <value>ILTSP6150AMaster</value>
      </parameter>
      <parameter>
        <name>initialSize</name>
        <value>25</value>
      </parameter>
    </ResourceParams>
    <ResourceParams name="com/skillsoft/ilt/jdbc/ILTSP6150B">
      <parameter>
        <name>url</name>
        
<value>jdbc:microsoft:sqlserver://qasql.amr.smtf.ds:1433;selectMethod=cursor;sendStringParametersAsUnicode=true</value>
      </parameter>
      <parameter>
        <name>validationQuery</name>
        <value>SELECT iltVersion FROM iltVersion WHERE 
iltVersion=&apos;1.0.0&apos; AND versionid IN (SELECT param_val FROM 
master_parameters WHERE param_name=&apos;dbVersion&apos;)</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>50</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>100</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
      </parameter>
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>ILTSP6150BMaster</value>
      </parameter>
      <parameter>
        <name>factory</name>
        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>ILTorBUST</value>
      </parameter>
      <parameter>
        <name>defaultCatalog</name>
        <value>ILTSP6150BMaster</value>
      </parameter>
      <parameter>
        <name>initialSize</name>
        <value>25</value>
      </parameter>
    </ResourceParams>
    <ResourceParams name="com/skillsoft/mgs/mail/session">
      <parameter>
        <name>mail.smtp.port</name>
        <value>25</value>
      </parameter>
      <parameter>
        <name>mail.smtp.host</name>
        <value>10.20.11.31</value>
      </parameter>
      <parameter>
        <name>mail.smtp.sendpartial</name>
        <value>true</value>
      </parameter>
    </ResourceParams>
    <ResourceParams name="com/skillsoft/ilt/jdbc/ILTSP6150">
      <parameter>
        <name>url</name>
        
<value>jdbc:microsoft:sqlserver://qasql.amr.smtf.ds:1433;selectMethod=cursor;sendStringParametersAsUnicode=true</value>
      </parameter>
      <parameter>
        <name>validationQuery</name>
        <value>SELECT iltVersion FROM iltVersion WHERE 
iltVersion=&apos;1.0.0&apos; AND versionid IN (SELECT param_val FROM 
master_parameters WHERE param_name=&apos;dbVersion&apos;)</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>50</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>100</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
      </parameter>
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>ILTSP6150Master</value>
      </parameter>
      <parameter>
        <name>factory</name>
        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>ILTorBUST</value>
      </parameter>
      <parameter>
        <name>defaultCatalog</name>
        <value>ILTSP6150Master</value>
      </parameter>
      <parameter>
        <name>initialSize</name>
        <value>25</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" disableUploadTimeout="true" port="8009" 
protocol="AJP/1.3" 
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" 
redirectPort="8443">
    </Connector>
    <Engine defaultHost="localhost" jvmRoute="qailt002:8009" 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>


<?xml version='1.0' encoding='utf-8'?>
<Server>
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <GlobalNamingResources>
    <Environment description="Hibernate dialect: net.sf.Hibernate.dialect.[SQLServerDialect|OracleDialect|Oracle9Dialect]" name="hibernate.dialect" override="false" type="java.lang.String" value="net.sf.hibernate.dialect.SQLServerDialect"/>
    <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"/>
    <Resource name="com/skillsoft/ilt/jdbc/ILTSP6150A" type="javax.sql.DataSource"/>
    <Resource name="com/skillsoft/ilt/jdbc/ILTSP6150B" type="javax.sql.DataSource"/>
    <Resource name="com/skillsoft/ilt/jdbc/ILTSP6150" type="javax.sql.DataSource"/>
    <Resource name="com/skillsoft/mgs/mail/session" type="javax.mail.Session"/>
    <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>
    <ResourceParams name="com/skillsoft/ilt/jdbc/ILTSP6150A">
      <parameter>
        <name>url</name>
        <value>jdbc:microsoft:sqlserver://qasql.amr.smtf.ds:1433;selectMethod=cursor;sendStringParametersAsUnicode=true</value>
      </parameter>
      <parameter>
        <name>validationQuery</name>
        <value>SELECT iltVersion FROM iltVersion WHERE iltVersion=&apos;1.0.0&apos; AND versionid IN (SELECT param_val FROM master_parameters WHERE param_name=&apos;dbVersion&apos;)</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>50</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>100</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
      </parameter>
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>ILTSP6150AMaster</value>
      </parameter>
      <parameter>
        <name>factory</name>
        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>ILTorBUST</value>
      </parameter>
      <parameter>
        <name>defaultCatalog</name>
        <value>ILTSP6150AMaster</value>
      </parameter>
      <parameter>
        <name>initialSize</name>
        <value>25</value>
      </parameter>
    </ResourceParams>
    <ResourceParams name="com/skillsoft/ilt/jdbc/ILTSP6150B">
      <parameter>
        <name>url</name>
        <value>jdbc:microsoft:sqlserver://qasql.amr.smtf.ds:1433;selectMethod=cursor;sendStringParametersAsUnicode=true</value>
      </parameter>
      <parameter>
        <name>validationQuery</name>
        <value>SELECT iltVersion FROM iltVersion WHERE iltVersion=&apos;1.0.0&apos; AND versionid IN (SELECT param_val FROM master_parameters WHERE param_name=&apos;dbVersion&apos;)</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>50</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>100</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
      </parameter>
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>ILTSP6150BMaster</value>
      </parameter>
      <parameter>
        <name>factory</name>
        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>ILTorBUST</value>
      </parameter>
      <parameter>
        <name>defaultCatalog</name>
        <value>ILTSP6150BMaster</value>
      </parameter>
      <parameter>
        <name>initialSize</name>
        <value>25</value>
      </parameter>
    </ResourceParams>
    <ResourceParams name="com/skillsoft/mgs/mail/session">
      <parameter>
        <name>mail.smtp.port</name>
        <value>25</value>
      </parameter>
      <parameter>
        <name>mail.smtp.host</name>
        <value>10.20.11.31</value>
      </parameter>
      <parameter>
        <name>mail.smtp.sendpartial</name>
        <value>true</value>
      </parameter>
    </ResourceParams>
    <ResourceParams name="com/skillsoft/ilt/jdbc/ILTSP6150">
      <parameter>
        <name>url</name>
        <value>jdbc:microsoft:sqlserver://qasql.amr.smtf.ds:1433;selectMethod=cursor;sendStringParametersAsUnicode=true</value>
      </parameter>
      <parameter>
        <name>validationQuery</name>
        <value>SELECT iltVersion FROM iltVersion WHERE iltVersion=&apos;1.0.0&apos; AND versionid IN (SELECT param_val FROM master_parameters WHERE param_name=&apos;dbVersion&apos;)</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>50</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>100</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
      </parameter>
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>ILTSP6150Master</value>
      </parameter>
      <parameter>
        <name>factory</name>
        <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>ILTorBUST</value>
      </parameter>
      <parameter>
        <name>defaultCatalog</name>
        <value>ILTSP6150Master</value>
      </parameter>
      <parameter>
        <name>initialSize</name>
        <value>25</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" disableUploadTimeout="true" port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8443">
    </Connector>
    <Engine defaultHost="localhost" jvmRoute="qailt002:8009" 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>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to