Howdy, For those interested in integrating tomcat5 and apache2, I managed to get the beasts working together in inprocess mode (tomcat's jvm started within the apache). It is slightly different compared to tomcat 4.x case. I noticed that one has to put additional jars on the classpath to prevent ClassNotFoundException during classloading tomcat bootstrap classes and later on during tomcat startup. (namely jmx.jar and commons-modeler.jar). However, I suppose we should avoid placing anything below ${tomcat.home}/server and ${tomcat.home}/common explicitely on the classpath.
Here is my (stripped-down) working workers2.properties file. Can anyone please take a look at the contents of -Djava.class.path property. I am not quite sure it "compatible" with current classloader architecture. [logger.file:fl] file=${serverRoot}/logs/jk2.log [shm] file=${serverRoot}/logs/jk2.shm size=1048576 [workerEnv:] logger=logger.file:fl [vm:] OPT=-Dcatalina.home=c:/Program Files/Apache Group/Tomcat 5.0 OPT=-Dcatalina.base=c:/Program Files/Apache Group/Tomcat 5.0 OPT=-Djava.class.path=c:/Program Files/Apache Group/Tomcat 5.0/server/lib/tomcat-jni.jar;c:/Program Files/Apache Group/Tomcat 5.0/bin/commons-logging-api.jar;c:/Program Files/Apache Group/Tomcat 5.0/common/lib/jmx.jar;c:/Program Files/Apache Group/Tomcat 5.0/bin/bootstrap.jar;;c:/Program Files/Apache Group/Tomcat 5.0/server/lib/commons-modeler.jar OPT=-Xrs OPT=-Xmx32m OPT=-Xms32m [worker.jni:onStartup] class=org/apache/jk/apr/TomcatStarter ARG=start stdout=${serverRoot}/logs/stdout.log stderr=${serverRoot}/logs/stderr.log [worker.jni:onShutdown] class=org/apache/jk/apr/TomcatStarter ARG=stop [status:status] [uri:/jkstatus] worker=status:status [channel.socket:localhost:8009] host=localhost port=8009 group=lb [uri:/jsp-examples/*] [uri:/jsp-examples/*.jsp] [uri:/servlets-examples/*] [uri:/tomcat-docs/*] [uri:/admin/*] [uri:/manager/*] Is there's a better way to integrate tomcat 5 within apache 2? I also noticed a strange behaviour - tomcat when started (standalone as an nt service or inprocess as described above) after being shutdown *inprocess* fails to deserialize persisted sessions. I do not think it happened in tomcat 5.0.12. Here comes the stdout: 2003-10-30 10:50:17 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 7762 ms 2003-10-30 10:50:18 org.apache.catalina.core.StandardService start INFO: Starting service Catalina 2003-10-30 10:50:18 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/5.0.14 2003-10-30 10:50:18 org.apache.catalina.core.StandardHost start INFO: XML validation disabled 2003-10-30 10:50:18 org.apache.catalina.core.StandardHost getDeployer INFO: Create Host deployer for direct deployment ( non-jmx ) 2003-10-30 10:50:18 org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:C:\Program Files\Apache Group\Tomcat 5.0\conf\Catalina\localhost\admin.xml 2003-10-30 10:50:22 org.apache.catalina.session.StandardManager doLoad SEVERE: IOException while loading persisted sessions: java.io.EOFException java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source) at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source) at java.io.ObjectInputStream.readStreamHeader(Unknown Source) at java.io.ObjectInputStream.(Unknown Source) at org.apache.catalina.util.CustomObjectInputStream.(CustomObjectInputStream.java:104) at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:418) at org.apache.catalina.session.StandardManager.load(StandardManager.java:377) at org.apache.catalina.session.StandardManager.start(StandardManager.java:690) at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:542) at org.apache.catalina.startup.ContextConfig.managerConfig(ContextConfig.java:353) at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:756) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:257) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4116) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:850) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.java:831) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:252) at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256) at org.apache.commons.digester.Rule.end(Rule.java:276) at org.apache.commons.digester.Digester.endElement(Digester.java:1058) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.commons.digester.Digester.parse(Digester.java:1567) at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:511) at org.apache.catalina.core.StandardHost.install(StandardHost.java:890) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:523) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:468) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1002) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:393) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133) at org.apache.catalina.core.StandardHost.start(StandardHost.java:816) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:518) at org.apache.catalina.core.StandardService.start(StandardService.java:519) at org.apache.catalina.core.StandardServer.start(StandardServer.java:2343) at org.apache.catalina.startup.Catalina.start(Catalina.java:580) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:297) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:397) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.jk.apr.TomcatStarter.run(TomcatStarter.java:124) at java.lang.Thread.run(Unknown Source) 2003-10-30 10:50:22 org.apache.catalina.session.StandardManager start SEVERE: Exception loading sessions from persistent storage java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source) at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source) at java.io.ObjectInputStream.readStreamHeader(Unknown Source) at java.io.ObjectInputStream.(Unknown Source) at org.apache.catalina.util.CustomObjectInputStream.(CustomObjectInputStream.java:104) at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:418) at org.apache.catalina.session.StandardManager.load(StandardManager.java:377) at org.apache.catalina.session.StandardManager.start(StandardManager.java:690) at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:542) at org.apache.catalina.startup.ContextConfig.managerConfig(ContextConfig.java:353) at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:756) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:257) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4116) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:866) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:850) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.core.StandardHostDeployer.addChild(StandardHostDeployer.java:831) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:252) at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256) at org.apache.commons.digester.Rule.end(Rule.java:276) at org.apache.commons.digester.Digester.endElement(Digester.java:1058) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.commons.digester.Digester.parse(Digester.java:1567) at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:511) at org.apache.catalina.core.StandardHost.install(StandardHost.java:890) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:523) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:468) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1002) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:393) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133) at org.apache.catalina.core.StandardHost.start(StandardHost.java:816) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:518) at org.apache.catalina.core.StandardService.start(StandardService.java:519) at org.apache.catalina.core.StandardServer.start(StandardServer.java:2343) at org.apache.catalina.startup.Catalina.start(Catalina.java:580) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:297) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:397) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.jk.apr.TomcatStarter.run(TomcatStarter.java:124) at java.lang.Thread.run(Unknown Source) 2003-10-30 10:50:22 org.apache.struts.util.PropertyMessageResources INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true 2003-10-30 10:50:22 org.apache.struts.util.PropertyMessageResources INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true 2003-10-30 10:50:24 org.apache.struts.util.PropertyMessageResources INFO: Initializing, config='org.apache.webapp.admin.ApplicationResources', returnNull=true 2003-10-30 10:50:29 org.apache.catalina.core.StandardHostDeployer install INFO: Processing Context configuration file URL file:C:\Program Files\Apache Group\Tomcat 5.0\conf\Catalina\localhost\manager.xml 2003-10-30 10:50:30 org.apache.catalina.core.StandardHostDeployer install INFO: Installing web application at context path /jsp-examples from URL file:C:\Program Files\Apache Group\Tomcat 5.0\webapps\jsp-examples 2003-10-30 10:50:31 org.apache.catalina.core.StandardHostDeployer install INFO: Installing web application at context path from URL file:C:\Program Files\Apache Group\Tomcat 5.0\webapps\ROOT 2003-10-30 10:50:32 org.apache.catalina.core.StandardHostDeployer install INFO: Installing web application at context path /servlets-examples from URL file:C:\Program Files\Apache Group\Tomcat 5.0\webapps\servlets-examples 2003-10-30 10:50:33 org.apache.catalina.core.StandardHostDeployer install INFO: Installing web application at context path /tomcat-docs from URL file:C:\Program Files\Apache Group\Tomcat 5.0\webapps\tomcat-docs 2003-10-30 10:50:33 org.apache.jk.common.ChannelSocket init INFO: JK2: ajp13 listening on /0.0.0.0:8009 2003-10-30 10:50:34 org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/291 config=c:\Program Files\Apache Group\Tomcat 5.0\conf\jk2.properties 2003-10-30 10:50:34 org.apache.catalina.startup.Catalina start INFO: Server startup in 17226 ms Yep, you're right I should have reported it in bugzilla, but this case seems to me way too complex. Can I have your comments on this, please? regz, /dd --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]