I have been working on splitting up our monolithic server configuration into smaller bits, including making the web containers and builders into pluggable configurations. This works fine for Jetty but I am running into problems with Tomcat. AFAICT all the tomcat gbeans start properly and deployment appears to work, but when I try to access web applications I either get an NPE in the log or 404 errors in the browser.

The only startup difference I know of is reflected in my change to EngineGBean in rev 267422. When separated into a different configuration, the hosts in the reference collection start after the engine gbean, so need to be registered with the actual engine when they start up rather than when the EngineGBean starts up. Can this possibly be causing the error I see? If so, we need to find a different way of establishing startup order.

The stack trace I get from the NPE is:

11:00:13,235 ERROR [CoyoteAdapter] An exception or error occurred in the container during the request processing
java.lang.NullPointerException
at org.apache.catalina.realm.RealmBase.findSecurityConstraints(RealmBase.ja va:476) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator Base.java:400) at org.apache.geronimo.tomcat.valve.PolicyContextValve.invoke(PolicyContext Valve.java:47) at org.apache.geronimo.tomcat.valve.TransactionContextValve.invoke(Transact ionContextValve.java:53) at org.apache.geronimo.tomcat.valve.ComponentContextValve.invoke(ComponentC ontextValve.java:47) at org.apache.geronimo.tomcat.valve.InstanceContextValve.invoke(InstanceCon textValve.java:60) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:107) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java: 526) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC onnection(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint .java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollow erWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool .java:684)
        at java.lang.Thread.run(Thread.java:552)


and comes from trying to access localhost:8080/console

Trying localhost:8080 or localhost:8080/console/ or anything else I can think of gives 404 errors.

Any assistance, hints, clues, or suggestions where to look would be gratefully appreciated.

thanks
david jencks

Reply via email to