+1 on revisiting this on the CDI spec. I think adding an additional method on the BeanManager api would be good. Effectively, it is to promote this very method on WeldManager to BeanManager. Shall I raise a CDI jira for this?
On Tue, Jun 23, 2015 at 7:25 AM, Jozef Hartinger <[email protected]> wrote: > Doing this using purely CDI APIs can be a bit tricky. One option that > will most likely work is to combine BeanManager.resolveObserverMethods() > method with a custom implementation of ProcessInjectionTarget interface. > That way you can resolve the matching observer methods and then call their > notify() method to deliver the event. Exception handling needs to be > implemented to match the spec. > > We should update the spec to define a more direct route and for the JPA > spec to mention this requirement. > > Jozef > > > On 06/22/2015 02:25 PM, Emily Jiang wrote: > > Jozef, > Just re-iterate my concern: > The implementation is in eclipse link. I guess they don't want to depend > on a specific CDI implementation. Therefore, what you suggested may not be > accepted by the eclipse link project. > > Thanks > Emily > > > On Sun, Jun 21, 2015 at 10:59 PM, Emily Jiang <[email protected]> > wrote: > >> thanks Jozef! >> >> On Sun, Jun 21, 2015 at 10:58 PM, Emily Jiang <[email protected]> >> wrote: >> >>> Jozef, >>> The implementation is in eclipse link. I guess they don't want to >>> depend on a specific CDI implementation. >>> Thanks >>> Emily >>> >>> On Sun, Jun 21, 2015 at 8:42 PM, Jozef Hartinger <[email protected]> >>> wrote: >>> >>>> Hi Emily, >>>> >>>> the implementation should call the following method >>>> http://docs.jboss.org/weld/javadoc/2.2/weld-spi/org/jboss/weld/manager/api/WeldManager.html#fireProcessInjectionTarget-javax.enterprise.inject.spi.AnnotatedType-javax.enterprise.inject.spi.InjectionTarget- >>>> on Weld BeanManager and use the returned value as the InjectionTarget. >>>> >>>> HTH, >>>> >>>> Jozef >>>> >>>> >>>> On 06/19/2015 12:28 PM, Emily Jiang wrote: >>>> >>>> >>>> In CDI 1.2 spec >>>> 11.5.7. ProcessInjectionPoint event >>>> The container must fire an event for every injection point of every >>>> Java EE component class >>>> supporting injection that may be instantiated by the container at >>>> runtime, including every managed bean declared using @ManagedBean, EJB >>>> session or message-driven bean, bean, interceptor or decorator. >>>> >>>> The JavaEE component classes are mentioned in JavaEE platform EE.5-1, >>>> which includes servlets, servlet filters, entity listeners etc. >>>> >>>> My concern is about entity listeners in JPA. Eclipse link has done all >>>> the injection for entity listeners. It does not fire the event, @See >>>> createEntityListenerAndInjectDependancies(...) >>>> >>>> JPA spec section 3.5.1 does not mention this event requirement. How can >>>> the eclipse cdi implementation satisfy the CDI spec? >>>> >>>> [1] >>>> http://git.eclipse.org/c/eclipselink/eclipselink.runtime.git/tree/foundation/org.eclipse.persistence.core/src/org/eclipse/persistence/internal/sessions/cdi/EntityListenerInjectionManagerImpl.java?h=2.6_WAS >>>> ] >>>> -- >>>> Thanks >>>> Emily >>>> ================= >>>> Emily Jiang >>>> [email protected] >>>> >>>> >>>> _______________________________________________ >>>> weld-dev mailing >>>> [email protected]https://lists.jboss.org/mailman/listinfo/weld-dev >>>> >>>> >>>> >>> >>> >>> -- >>> Thanks >>> Emily >>> ================= >>> Emily Jiang >>> [email protected] >>> >> >> >> >> -- >> Thanks >> Emily >> ================= >> Emily Jiang >> [email protected] >> > > > > -- > Thanks > Emily > ================= > Emily Jiang > [email protected] > > > -- Thanks Emily ================= Emily Jiang [email protected]
_______________________________________________ weld-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/weld-dev
