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