On 05/11/2015 03:47 PM, Emily Jiang wrote:
Yes. It is not the very same creational context but a new one with a parent-child relationship to the one of the associated bean. This is the same as for @Dependent dependenciesWill the interceptors share the same creational context as the bean it is associated with?1. CDI Interceptors on cdi beansI have a few questions on interceptors:
Yes, Weld manages interceptor bindings associated using interceptor bindings as well as those associated using @InterceptorsWill Weld managed the cdi interceptors as well as the old-styled interceptors?
"Managed bean" is ambiguous. Weld support interceptors on all CDI managed beans (not on producer fields/methods nor extension-provided beans).@Interceptors don't work on other cdi beans except ejb and managed beans, right?
Yes, for EJBs and EE managed beans it is integrator's job to handle those. Weld can handle @AroundConstruct interceptors if needed. I've updated the docs on this topic recently: https://github.com/jharting/core/blob/a1eb6194be36ded86dc9709c6767f5016fb98997/docs/reference/src/main/asciidoc/ri-spi.asciidoc#around-construct-interceptionI think the integrator needs to create these @Interceptors and cdi interceptors.2. Interceptors on ejb beans or managed beans
ejb or managed bean's creational contextWill these interceptors use the non-contextual creational context (scope @Dependent) or use the ejb or managed bean's creational context?
Any time the parent (bean's) creational context is destroyed, the children creational contexts (interceptors') are destroyed also by Weld.
Will Weld destroy the interceptors when the associated beans are destroyed or the integrator need to destroy them? This logic applicable to both cdi interceptors and @Interceptors style interceptors, right?
This depends on how the component classes are managed. Assuming the components are managed using Weld-provided InjectionTarget then it is up to the integrator to decide whether it provides interception support or whether it should be provided by Weld. This can be configured for each InjectionTarget individually using this builder: http://docs.jboss.org/weld/javadoc/2.2/weld-spi/org/jboss/weld/manager/api/WeldInjectionTargetBuilder.htmlI think this interceptors are created by Weld when the JavaEE component classes are created, right? By the way, how can the container make sure to destroy the interceptors?3. Interceptors on JavaEE components
_______________________________________________ weld-dev mailing list weld-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/weld-dev