Google
Google
Mailing List
Home
Forum Home
JBoss - Java Application Server
Struts - A MVC web framework
Tomcat - JSP/Servlet container
iText - An open source PDF Java Library
JDOM - JDOM XML Parser
J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition
J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog
Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology
JSP - A mailing list about Java Server Pages specification and reference
Struts & Hibernate
Subjects
JSP editor plugin for eclipse ?
org apache jasper JasperException: Unable to compile class for JSP
Tomcat: Connection reset by peer: socket write error
Cannot retrieve definition for form bean null
Struts Tiles Tutorial (free Struts training)
Where do I download Tomcat 4 0 6?
Data Access Object (DAO) pattern, example DAO 's
Where to download Tomcat v 4 1 24 from?
Tomcat 5 0 16 Requested resource not available
Oracle Connection Pooling in 3 2 2
Servlet : Session invalidate
Servlet action is currently unavailable
Tomcat/Struts Unicode Encoding/Decoding problems
Tomcat and webapplication specific java library path
Running a Simple JMS Example
Mapping in workers2 properties
org apache jasper JasperException
Cannot find message resources under key org apache struts action
   MESSAGE
problem with html:text bean throwing exception
Cannot find message resources under key org apache struts action MESSAGE
invalid direct reference problem with solution
Tool for jsp debug Try Sysdeo Eclipse Plugin
Tomcat 5 Cannot load JDBC driver class 'null ' SQL state: null
weblogic ejbc
java properties file
Jboss 3 2 3 Coyote Can 't re
Tomcat 5, Apache2 and mod jk2 integration problem
JBoss example problem new to J2EE
url string for connecting jboss to oracle
Value attribute of <html:checkbox
javax servlet ServletException: BeanUtils populate
HTTP Status 404 The requested resource is not available
5 0 18: Windows XP Pro vs Windows 2000
 
Tomcat 5, Apache2 and mod_jk2 integration problem

Tomcat 5, Apache2 and mod_jk2 integration problem

2004-01-09       - By Paul.Rathbone@(protected)

 Back
Reply:     1     2  

Hi

I am running RedHat 9 with Tomcat 5.0.16 and Apache 2.0.48 and trying to
get mod_jk2 to work so that I can use apache as the server and just pass
jsp and servlet requests on to tomcat.

In order to get tomcat to auto-generate the apache configuration files I
have had to take tomcat-jk2.jar from the most recent nightly build (to get
ApacheConfig.class) - see bugzilla bug report 25838 and its resolution.

I eventually managed to get mod_jk2 to compile (using configure, make etc
- not ant) and put mod_jk2.so and jkjni.so into apache/modules directory
(and added the LoadModule to httpd.conf).

Below I have pasted in my server.xml, workers2.properties and
jk2.properties files which at least get apache and tomcat to both start
without errors.

My problem is that when I try to open /jsp-examples/ through apache, I get
the following message in the browser : "The servlet container is temporary
unavailable or being upgraded" along with an Internal Error (500), and in
the catalina.out file I get :

Jan 9, 2004 1:53:58 PM
org.apache.tomcat.util.threads.ThreadPool Source code of org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run
SEVERE: Caught exception (java.lang.NoSuchMethodError Source code of java.lang.NoSuchMethodError:
org.apache.coyote.Request Source code of org.apache.coyote.Request()Lorg/apache/tomcat/util/buf/MessageBytes;)
executing org.apache.jk.common.SocketConnection@(protected), terminating
thread

in the apache error_log file is the following :

[Fri Jan 09 13:53:58 2004] [error] msgAjp.receive(): Bad signature 00
[Fri Jan 09 13:53:58 2004] [error] channelSocket.receive(): Bad header
[Fri Jan 09 13:53:58 2004] [error] workerEnv.processCallbacks() Error
reading reply
[Fri Jan 09 13:53:58 2004] [error] ajp13.service() ajpGetReply recoverable
error 120000

I have turned on as much logging as I can find and the jk2.log from
mod_jk2 doesn't log anything after it has started up.

However, I still have tomcat listening on port 8080 and the /jsp-examples/
works fine through there.

>From the contents of the log files I think mod_jk2 is working OK and
passing the request on to Tomcat, but tomcat is failing to process the
request - have I missed a step somewhere ?

I have experimented with [uri:  ...] entries in workers2.properties and
with the <Context > tag in server.xml but haven't succeeded yet - can
anyone help please ?

Thanks for your time.

Paul

(Config files all with their comments removed)

jk2.properties :

shm.file=/usr/local/jakarta-tomcat-5 (See http://cat-5.ora-code.com)/work/jk2.shm

-- ---- ---- ---- ----

workers2.properties :

[shm]
file=/usr/local/jakarta-tomcat-5 (See http://cat-5.ora-code.com)/work/jk2.shm
size=1048576

[channel.socket:localhost:8009]
tomcatId=localhost:8009
info=Ajp13 forwarding over socket

[uri:/jsp-examples/*]

[logger.file:0]
level=DEBUG
file=/usr/local/apache/logs/jk2.log

-- ---- ---- ---- ----

server.xml

<Server port="8005" shutdown="SHUTDOWN" debug="0">
  <Listener
className="org.apache.catalina.mbeans.ServerLifecycleListener Source code of org.apache.catalina.mbeans.ServerLifecycleListener"
           debug="0"/>

 <Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener Source code of org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
           forwardAll="false"
           noRoot="false"/>

 <Listener className="org.apache.jk.config.ApacheConfig Source code of org.apache.jk.config.ApacheConfig"
           modJk="/usr/local/apache/modules/mod_jk2.so"
           workersConfig="/usr/local/apache/conf/workers2.properties"/>

 <GlobalNamingResources>
   <Environment name="simpleValue" type="java.lang.Integer Source code of java.lang.Integer" value="30"/>
   <Resource name="UserDatabase" auth="Container"
             type="org.apache.catalina.UserDatabase Source code of org.apache.catalina.UserDatabase"
      description="User database that can be updated and saved">
   </Resource>
   <ResourceParams name="UserDatabase">
     <parameter>
       <name>factory</name>
       <value>org.apache.catalina.users.MemoryUserDatabaseFactory Source code of org.apache.catalina.users.MemoryUserDatabaseFactory</value>
     </parameter>
     <parameter>
       <name>pathname</name>
       <value>conf/tomcat-users.xml</value>
     </parameter>
   </ResourceParams>
 </GlobalNamingResources>
<Service name="Catalina">
<Connector port="8080"
              maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
              enableLookups="false" redirectPort="8443" acceptCount="100"
              debug="0" connectionTimeout="20000"
              disableUploadTimeout="true" />
   <Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
              port="8009"
              enableLookups="false"
              redirectPort="8443"
              debug="0"
              protocol="AJP/1.3" />
   <Engine name="Catalina" defaultHost="localhost" debug="0">
     <Logger className="org.apache.catalina.logger.FileLogger"
             verbosity="4"
             prefix="catalina_log." suffix=".log"
             timestamp="true"/>
     <Realm className="org.apache.catalina.realm.UserDatabaseRealm Source code of org.apache.catalina.realm.UserDatabaseRealm"
                debug="0" resourceName="UserDatabase"/>
     <Host name="localhost" debug="0" appBase="webapps"
      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">

       <Listener className="org.apache.jk.config.ApacheConfig Source code of org.apache.jk.config.ApacheConfig"
                 append="true"
                 forwardAll="false"
                 modJk="/usr/local/apache/modules/mod_jk2.so" />
       <Logger className="org.apache.catalina.logger.FileLogger"
                verbosity="4"
                directory="logs"  prefix="localhost." suffix=".log"
           timestamp="true"/>
     </Host>
   </Engine>
 </Service>
</Server>


-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
If  you are not the intended recipient please notify the author by
replying to
this  email.   Internet communications are not secure and therefore Red
Squared
plc  does not accept legal responsibility for the contents of this
message.
Although  we  operate  anti-virus programs, Red Squared does not accept
responsibility  for  any damage that may be caused by viruses being
passed.
Any views or opinions presented are solely those of the author and do not
necessarily represent those of Red Squared.