cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Hartmann <>
Subject Re: [2.2 servlet-service] Embedded servlet refreshed before it is initialized
Date Mon, 20 Jul 2009 16:09:10 GMT
Andreas Hartmann schrieb:
> Hi Cocoon devs,
> I get an NPE in an embedded servlet (CXFServlet from Apache CXF) because 
> it references the servletConfig when onApplicationEvent() is processed. 
> Apparently this happens because the ServletFactoryBean calls
>   container.refresh()
> before
>   this.embeddedServlet.init(blockServletConfig).
> Does someone know how this relates to the servlet spec? Is the error on 
> the Cocoon side or on the CXF side? Can I change the order of the calls 
> as a workaround, or would this lead to unpredictable side effects?

Apparently the SitemapServlet relies on this execution order, i.e. it 
expects the WebApplicationContext to be set before init() is called:

java.lang.IllegalStateException: No WebApplicationContext found: no 
ContextLoaderListener registered?
	at org.apache.cocoon.sitemap.SitemapServlet.init(
	at javax.servlet.GenericServlet.init(

Would it make sense to use some kind of lazy loading here? Without 
further investigation it seems more reasonable to initialize the servlet 
before refreshing the context.


-- Andreas

Andreas Hartmann, CTO
BeCompany GmbH
Tel.: +41 (0) 43 818 57 01

View raw message