Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-356

@PersistenceContext not injected in target bean when bean is intercepted

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 1.0.1.CR1
    • 1.0.0.GA
    • None
    • JBoss 6.0.0.M1 and GlassFish V3 final

      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.

              marius.bogoevici Marius Bogoevici (Inactive)
              wdrai DRAI William (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: