From: "Julien Viet" <julien@julienviet.com>
To: "Ken Finnigan" <kfinniga@redhat.com>
Cc: gatein-dev@lists.jboss.org
Sent: Monday, April 15, 2013 11:05:16 AM
Subject: Re: [gatein-dev] CDI Injection for GateIn
All,
The work to have CDI injection into portlets and filters is almost complete, but a difference has been discovered between AS7 and Tomcat.
In essence, the ApplicationDispatcher for Tomcat never fires the ServletRequestEvent on includes, but the ApplicationDispatcher in AS7 has been modified to fire the event when the current TCCL is different to the classloader on the Context.
wouldn't it be better to do it when there is an include between context ? what is the difference ?
Pretty sure that's the intention, but for AS7 they use the Classloader to determine whether the request is in the same context.
I'm proposing that in the Tomcat specific bits of WCI, I create an extended CommandServlet that performs the same check and fires the events as desired.
yes, can you add a test for it so we have guarantees that it will not break later ?
not a problem to add test for it.
However, putting together an implementation has hit a snag in terms of needing access to the Context object from Tomcat to retrieve the application event listeners. We retain an instance of it on TC7WebAppContext, but not sure whether there are issues in either exposing that instance, or adding ability to retrieve the event listeners onto the WebAppContext (and then whether that would be accessible to Dispatcher/Servlet).
Thoughts?
Any concerns or better approaches are most welcome.
one remark: I think we are reaching application spec boundaries. This kind of stuff should be brought to the Portlet 3.0 EG so we can make it specified in the Servlet spec.
Ken
========================
Senior Software Engineer / JBoss Enterprise Middleware Red Hat, Inc.
_______________________________________________
gatein-dev mailing list
gatein-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/gatein-dev