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

Interceptor for generic bean is not invoked

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.2.2.Final
    • 2.1.2.Final
    • None
    • None

      The following code does not work in Wildfly 8.1.0 CR. I'm getting exception: javax.persistence.TransactionRequiredException. I looks like the Weld issue as the stack trace does not contain Transactional interceptor invocation.

      @Transactional
      public static class Parent<E> {
      protected EntityManager em;

      public void create(E entity)

      { em.persist(entity); }

      }

      @Transactional
      public static class Child extends Parent<EndEntity> {
      @Override
      public void create(EndEntity entity)

      { super.create(entity); }

      }

      then I invoking create() method in submitEntity():

      public class EndEntityController {
      @Inject
      private Child child;

      private Parent<EndEntity> parent()

      { return child; }

      protected void submitEntity(EndEntity entity)

      { EndEntity endEntity = new EndEntity(); parent().create(endEntity); }

      }

      When the Parent class is not generic then the code above works.

              mkouba@redhat.com Martin Kouba
              maniek45_jira Marcin T (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: