I'll take a closer look tomorrow but I believe you are creating a
non-proxyable bean here which is why interceptors aren't working.  If you
get to it before I do, please try another interceptor on this class

A proxyable bean should require a noargs constructor or one with @Inject on
it
On Jan 17, 2016 21:46, "Alex Roytman" <[email protected]> wrote:

> Also, @Transactional behavior seems to be such a useful thing which should
> not be hardwired to EntityManager. Wouldn't it make sense to make
> transactional resource interface be configurable so that it would be easy
> to replicate transactional behavior for any resource as long as it provide
> access to its begin/commit/rollback/rollbackOnly methods?
>
> On Sun, Jan 17, 2016 at 9:12 PM Alex Roytman <[email protected]> wrote:
>
> > John,
> >
> > Here is how I create it:
> >
> > @ApplicationScoped
> > public class JdoEntityManagerProducer {
> >   private final PersistenceManagerFactory gctrackJdoFactory =
> JDOFactory.getFactory();
> >
> >   @Produces
> >   @GCTrack
> >   @RequestScoped
> >   protected EntityManager create() {
> >     return new
> JdoEntityManagerImpl(gctrackJdoFactory.getPersistenceManager());
> >   }
> >
> >   protected void closeEntityManager(@Disposes @GCTrack EntityManager
> entityManager) {
> >     if (entityManager.isOpen()) {
> >       entityManager.close();
> >     }
> >   }
> > }
> >
> >
> > here is how I inject it
> >
> > @Inject @GCTrack private JdoEntityManager entityManager;
> >
> >
> >
> > On Sun, Jan 17, 2016 at 6:12 PM John D. Ament <[email protected]>
> > wrote:
> >
> >> Hi Alex,
> >>
> >> Just want to check, your usecase is something like
> >>
> >> public interface MyEntityManager extends EntityManager {
> >>
> >> }
> >>
> >> but then how are you creating instances of this object?
> >>
> >> John
> >>
> >> On Sun, Jan 17, 2016 at 5:45 PM Alex Roytman <[email protected]>
> wrote:
> >>
> >> > It looks like of a bean is injected with a field of type not
> >> EntityManager
> >> > but an interface extending it, transactional annotation does not work.
> >> Is
> >> > there any way to have transactional to recognize interfaces that
> extend
> >> > from EntityManager
> >> >
> >> > Thanks
> >> > Alex
> >> >
> >>
> >
>

Reply via email to