For a variety of 'business reasons', we're running tomcat instead of jetty, and would very much benefit from being on the 4.1.10 release. I've been working on getting jboss 3.2 integrate with tomcat 4.10, and for the most part, it's an easy upgrade.
On 9/16, I checked out Branch_3_2, and pulled Tomcat 4.1.10 from Apache. org.apache.catalina.util.xml has been deprecated and removed, in favor of Apache's commons digester package. Rather than port all of the xml digester code, I jarred up the old package, added to build classpaths, and all but a handful of compilation errors were removed. The following additional changes were necessary to get the bundle to build: Add this code to org.jboss.web.catalina.session.ClusteredSessionValve: /** * The lifecycle event support for this component. */ protected LifecycleSupport lifecycle = new LifecycleSupport(this); /** * Get the lifecycle listeners associated with this lifecycle. If this * Lifecycle has no listeners registered, a zero-length array is returned. */ public LifecycleListener[] findLifecycleListeners() { return lifecycle.findLifecycleListeners(); } Add this code to org.jboss.web.catalina.EmbeddedService: private org.apache.catalina.Server catalinaServer=null; public org.apache.catalina.Server getServer() { return catalinaServer; } public void setServer(org.apache.catalina.Server server) { //the current setServer method has a different param type catalinaServer=server; } It looks like none of this code gets called at runtime, but interface additions required the additional methods to be present. build bundle build works, but container won't start edit org.jboss.web.catalina.ConfigHandler, change the FIRST occurrence of org.apache.catalina.core.DefaultContext to org.apache.catalina.core.StandardDefaultContext and the second occurrence to org.apache.catalina.DefaultContext Bundled container then starts successfully. I then tried to deploy the test.ear, which successfully deploys after putting the (once optional, now required) doctype into tomcat-test.jar's ejb-jar.xml. Unfortunately, add goes awry when a jsp page tries to instantiate a session bean. 09:41:06,115 INFO [MainDeployer] Deployed package: file:/D:/jboss-3.2.0beta/server/default/deploy/tomcat-test.ear 09:41:19,099 ERROR [LogInterceptor] RuntimeException: java.lang.IllegalStateException at org.jboss.ejb.StatelessSessionContainer.createHome(StatelessSessionContainer .java:388) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 ) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invokeHome(Stat elessSessionContainer.java:569) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invokeHome(Statele ssSessionInstanceInterceptor.java :57) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor .java:112) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT. java:184) at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:58) at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.jav a:105) at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:131) at org.jboss.ejb.StatelessSessionContainer.invokeHome(StatelessSessionContainer .java:291) at org.jboss.ejb.Container.invoke(Container.java:692) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:100) at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:88) at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77 ) at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80) at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:175) at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:82) at $Proxy35.create(Unknown Source) at org.jboss.test.tomcat.servlet.HelloEJB.testBean(HelloEJB.java:71) at org.jboss.test.tomcat.servlet.HelloEJB.doGet(HelloEJB.java:40) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java :451) at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:180) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2 46) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2397) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java: 1040) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151 ) at java.lang.Thread.run(Thread.java:536) 09:41:19,209 ERROR [LogInterceptor] RuntimeException: java.lang.IllegalStateException at org.jboss.ejb.StatelessSessionContainer.createHome(StatelessSessionContainer .java:388) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39 ) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invokeHome(Stat elessSessionContainer.java:569) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invokeHome(Statele ssSessionInstanceInterceptor.java :57) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor .java:112) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT. java:184) at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:58) at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.jav a:105) at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:131) at org.jboss.ejb.StatelessSessionContainer.invokeHome(StatelessSessionContainer .java:291) at org.jboss.ejb.Container.invoke(Container.java:692) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549) at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:100) at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:88) at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:77 ) at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:80) at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:175) at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:82) at $Proxy35.create(Unknown Source) at org.jboss.test.tomcat.servlet.HelloEJB.testBean(HelloEJB.java:71) at org.jboss.test.tomcat.servlet.HelloEJB.doGet(HelloEJB.java:41) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java :451) at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:180) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2 46) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2397) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171 ) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok eNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java: 1040) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151 ) at java.lang.Thread.run(Thread.java:536) Can someone please point me in the right direction. thanks a million. <<catalina-xml.jar>> <<tomcat-test.ear>>
catalina-xml.jar
Description: Binary data
tomcat-test.ear
Description: Binary data