-
Bug
-
Resolution: Done
-
Major
-
1.0.0.GA
-
None
Say you have this bean :
@MyInterceptorBinding
public class MyServiceBean implements MyService {
@PersistenceContext
protected EntityManager entityManager;
@Inject @Any
private Event<MyEvent> myEvent;
public Object persist(Object obj)
{ entityManager.persist(obj); myEvent.fire(new MyEvent()); return obj; }}
Where @MyInterceptorBinding is a simple interceptor binding with a trivial interceptor implementation :
@MyInterceptorBinding @Interceptor
public class MyInterceptor {
@AroundInvoke
public Object doInvoke(InvocationContext context) {
Object result = null;
try
{ return context.proceed(); }catch (Exception e)
{ throw new RuntimeException("error", e); }}
The MyEvent field of the bean is correctly injected, but the entityManager is null.
Note that if injecting @PersistenceContext EntityManager entityManager in the interceptor works fine.
When the bean is not intercepted, its entityManager field is correctly injected.