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] <mailto:[email protected]>> wrote:
thanks Jozef!
On Sun, Jun 21, 2015 at 10:58 PM, Emily Jiang
<[email protected] <mailto:[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] <mailto:[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] <mailto:[email protected]>
_______________________________________________
weld-dev mailing list
[email protected] <mailto:[email protected]>
https://lists.jboss.org/mailman/listinfo/weld-dev
--
Thanks
Emily
=================
Emily Jiang
[email protected] <mailto:[email protected]>
--
Thanks
Emily
=================
Emily Jiang
[email protected] <mailto:[email protected]>
--
Thanks
Emily
=================
Emily Jiang
[email protected] <mailto:[email protected]>
_______________________________________________
weld-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-dev