But is the select for update done inside the entitymanager object or a query instance? I don't think EntityManager.find(Class,Id) does any type of hold on the object found.
John On Sun, Jul 10, 2011 at 7:15 PM, Mark Struberg <[email protected]> wrote: > Stu, whenever you do a "select for update" or any manual locking, you will > end up with an EntityManager which cannot be transfered to another node. > Even if hibernate marks it's EntityManager Serializable, it just isn't if I > didn't miss something! > > LieGrue, > strub > > --- On Sun, 7/10/11, Stuart Douglas <[email protected]> wrote: > > > From: Stuart Douglas <[email protected]> > > Subject: Re: [seam-dev] [seam-persistence] > ManagedPersistenceContextExtension > > To: "Mark Struberg" <[email protected]> > > Cc: [email protected] > > Date: Sunday, July 10, 2011, 11:07 PM > > > > On 11/07/2011, at 4:07 AM, Mark Struberg wrote: > > > > > Hi folks! > > > > > > While reviewing an OWB bug report, 2 questions came > > up: > > > > > > a.) EnvironmentUtils#isEEEnvironment() relies on the > > absence of 'javax.ejb.Stateless' to decide if a > > PersitenceUnit gets injected or if you need to do it > > yourself. I think this is an unrelieable assumption. E.g. > > there are a few Extensions which emulate Stateless Session > > beans via a CDI Extension by morphing them into > > @ApplicationScoped. > > > > This is not ideal, but I don't think there is really any > > portable way to detect if the environment is an EE > > environment or not. I was originally planning to add a > > method for configuring this, but it appears I did not get > > around to it. > > > > > > > > b.) in > > ManagedPersistenceContextExtension#registerManagedPersistenceContext > > you register the bean for the EntityManager as > > passivationCapable. This is never _never_ NEVER true. The > > EntityManager is not Serializable! There is imo no way to > > have an EntityManager in a bean scoped other than > > @RequestScoped or shorter (e.g. @TransactionalScoped). Any > > other trick is not working in a portable way. This is mainly > > caused by JPA still supporting pessimistic locking (_real_ > > locks in the database) as first class citizens. > > > > > > > Without this it is not possible to have a conversation > > scoped entity manager. The hibernate EntityManager is in > > fact Serializable. Locks should not be a problem as long as > > you do not attempt to serialise the EM in the middle of a > > transaction. > > > > Stuart > > > > > > > But I'd be happy if anyone could enlighten me and tell > > us how it works ;) > > > > > > LieGrue, > > > strub > > > _______________________________________________ > > > seam-dev mailing list > > > [email protected] > > > https://lists.jboss.org/mailman/listinfo/seam-dev > > > > > _______________________________________________ > seam-dev mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/seam-dev >
_______________________________________________ seam-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/seam-dev
