On Jul 24, 2006, at 9:53 AM, Dain Sundstrom wrote:
On Jul 23, 2006, at 11:14 PM, Alan D. Cabrera wrote:
Dain Sundstrom wrote:
What do you think about converting all interceptors to be
compliant with javax.interceptor? BEA has some good examples on
their site:
http://edocs.bea.com/wls/docs92/ejb30/examples.html#wp1200599
Sounds neat. How would our current container interceptors
dovetail w/ interceptors that application developers create?
To start with there is currently no way for a user to do "dovetail"
in their interceptors at all. I do have a few ideas on how to
allow users to setup interceptors. I think in general we should
allow users to add interceptors to the head and tail of our
container chain (the chain that handles stuff like security and
transaction). To do this, the user should be able to set
interceptors a the class and package level as required by the
spec. Then we should allow our users to specify them at the ejb
module, container and global levels.
Anyway, to keep things simple during the transition, I think we
should simply create our own interface with the following method:
Object invoke(InvocationContext invocationContext) throws Exception;
The big difference between this and the current interceptor
interface we are using from Geronimo is that it has a
InvocationResult return type and allows for a Throwable.
Been burning to do that ever since we (the EJB3 EG) changed
javax.ejb.InvocationContext to javax.interceptor.InvocationContext to
better align with the web services handler concept. Definitely the
main reason I split out the Geronimo interceptor concept into it's
own module.
I say go for it.
-David