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 >> > >> >
