Hi Emily, comments inline.
On 05/06/2015 05:38 PM, Emily Jiang wrote:
I have a few questions on ejb integration on Weld.
1)Does Weld handle the instance creation for ejb (using
injectionTarget.produce) or delegate the instance creation to EJB
container? I guess Weld will create the instead as it can manage
decorators. If not, how can decorators be managed? Please confirm.
Correct. Weld
creates EJB instances using InjectionTarget.produce()
2) When Weld creates the EJB instance, how can the other non-CDI
aroundconstruct interceptors (such as the interceptors defined via
ejb-jar.xml or @Interceptors) be passed in? I found out the
WeldCreationContext and AroundConstructCallback but I cannot find
anything mentioned in the weld reference doc. Is this the right plugin
point?
Correct, AroundConstructCallback is the API you need to use. The JavaDoc
should be helpful. Let me know if anything is not clear. I'll add a note
about it to the refdoc.
3)If Weld creates the EJB instance, how can all interceptors (cdi
style and ejb style) be invoked? Will the instance need to be passed
back to EJB container together with all CDI interceptors (get hold of
them via EjbEndpointServiceImpl.java) and EJB container needs to
manage the interceptors being invoked?
For interception type other than
@AroundConstruct we leave it up to the
EJB implementation to handle interception. Information about CDI
interceptors is exposed to the EJB implementation via
EjbServices.registerInterceptors()
4)In Weld spec, it says you must register the SessionBeanInterceptor
as the inner most interceptor in the stack for all EJBS. Can you
clarify what inner most means? Does this interceptor need to be the
first EJB interceptor to be called or the last EJB interceptor to be
invoked?
Not sure why it says inner most - it should be outer most instead that
is it should be called as first so that the @RequestScope is available
for the other interceptors called later in the chain.
--
Thanks
Emily
=================
Emily Jiang
ejiang(a)apache.org <mailto:ejiang@apache.org>
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/weld-dev