deltaspike-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John D. Ament" <john.d.am...@gmail.com>
Subject Re: Transactional with extended EntityManager is not working?
Date Mon, 18 Jan 2016 03:14:40 GMT
Sorry I'm also assuming that you added @Transactional to your jdo entity
manager, and not on other classes.
On Jan 17, 2016 22:13, "John D. Ament" <johndament@apache.org> wrote:

> 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" <roytmana@gmail.com> 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 <roytmana@gmail.com> 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 <johndament@apache.org>
>> > 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 <roytmana@gmail.com>
>> 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
>> >> >
>> >>
>> >
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message