Just a quick FYI - my day job development team has decided to go with Tapestry for our next project. I gave WebWork2 a good try with the best selling point for WebWork2 over Struts & Tapestry was its testability (and of course IoC/interceptors). Tapestry suits our needs for reusable components (we have a suite of apps to develop in a short period of time that all have common pieces) and the ultra clean HTML templates are very appealing.

WebWork2 rocks! I really like it (see my parting post to struts-dev, for grins). Others on my team found the paradigm shift in Tapestry compelling though, and I let the team consensus dominate over my insistence on WW2 (team harmony is better in the long run!).

Erik


On Monday, August 4, 2003, at 11:38 AM, Erik Hatcher wrote:


Here are further details on this issue:

I turned ApplicationLifecycleListener into a ServletContextAttributeListener too, with these methods added:

    public void attributeAdded(ServletContextAttributeEvent event) {
        log.info("event = " + event.getName());
    }

    public void attributeRemoved(ServletContextAttributeEvent event) {
        log.info("event = " + event.getName());
    }

    public void attributeReplaced(ServletContextAttributeEvent event) {
        log.info("event = " + event.getName());
    }

Here is the relevant order of events:

Aug 4, 2003 11:19:37 AM
com.opensymphony.webwork.lifecycle.ApplicationLifecycleListener
contextInitialized
INFO: application = [EMAIL PROTECTED]
Aug 4, 2003 11:19:37 AM
com.opensymphony.webwork.lifecycle.ApplicationLifecycleListener
contextInitialized
INFO: container =
[EMAIL PROTECTED] 6de29
Aug 4, 2003 11:19:37 AM
com.opensymphony.webwork.lifecycle.ApplicationLifecycleListener
attributeAdded
INFO: event = DefaultComponentManager
Aug 4, 2003 11:19:37 AM
com.opensymphony.webwork.lifecycle.ApplicationLifecycleListener
attributeAdded
INFO: event = ComponentConfiguration
08/04 11:19:37 user JSPServlet: init
08/04 11:19:37 info Deploying enterprise application "Flash Remoting
EAR" from: file:/C:/JRun4/lib/flashgateway.ear
08/04 11:19:37 info Deploying web application "Flash Remoting" from:
file:/C:/JRun4/lib/flashgateway.ear
08/04 11:19:38 user JSPServlet: init
08/04 11:19:38 user FlashGatewayServlet: init
Server default ready (startup time: 34 seconds)
08/04 11:19:44 user FlashGatewayServlet: destroy
Aug 4, 2003 11:19:44 AM
com.opensymphony.webwork.lifecycle.ApplicationLifecycleListener
attributeRemoved
INFO: event = ComponentConfiguration
Aug 4, 2003 11:19:44 AM
com.opensymphony.webwork.lifecycle.ApplicationLifecycleListener
attributeRemoved
INFO: event = DefaultComponentManager
Aug 4, 2003 11:19:44 AM
com.opensymphony.webwork.lifecycle.ApplicationLifecycleListener
contextDestroyed
INFO: event =
javax.servlet.ServletContextEvent[source=jrun.servlet.JRunServletContex [EMAIL PROTECTED]
Aug 4, 2003 11:19:44 AM
com.opensymphony.webwork.lifecycle.ApplicationLifecycleListener
contextDestroyed
INFO: application = [EMAIL PROTECTED]
Aug 4, 2003 11:19:44 AM
com.opensymphony.webwork.lifecycle.ApplicationLifecycleListener
contextDestroyed
INFO: container = null


08/04 11:19:44 error RuntimeException thrown in operation stop
[1]java.lang.NullPointerException
        at
com.opensymphony.webwork.lifecycle.ApplicationLifecycleListener.conte
xtDestroyed(ApplicationLifecycleListener.java:44)
        at
jrun.servlet.JRunServletContext.fireContextDestroyedEvent(JRunServlet
Context.java:365)

As you can probably tell, I added some additional logging in the contextInitialized/Destroyed message.

So, JRun removes things from application scope before calling the contextDestroyed method. I'll patch this up by doing a comparison and cleanup in attributeRemoved and keep the class implementing ServletContextAttributeListener.

After I get this all working on my end, I'll submit a patch.

Erik



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/ direct;at.aspnet_072303_01/01
_______________________________________________
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork





------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork

Reply via email to