[weld-dev] CDI EJB Intergration on Weld

Jozef Hartinger jharting at redhat.com
Thu May 7 03:22:00 EDT 2015


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 at apache.org <mailto:ejiang at apache.org>
>
>
> _______________________________________________
> weld-dev mailing list
> weld-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/weld-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/weld-dev/attachments/20150507/8762141e/attachment.html 


More information about the weld-dev mailing list