-
1. Re: How to inject an EntityManager?
bill.burke Jan 26, 2006 5:43 PM (in response to osganian)you can't inject arbitrarily into any class. Injection works only into EJBs, interceptors, and when we support it, servlets/JSPs. Relaly only enterprise components.
-
2. Re: How to inject an EntityManager?
osganian Jan 26, 2006 6:23 PM (in response to osganian)Thanks for the reply. So what are my choices? Do I have to create an InitialContext and look up the EntityManager via JNDI?
I tried and I get an InjectedEntityManager back which throws an exception if I try and get the Transaction from it. If I don't begin a transaction I get an TransactionRequiredException. So what do I do? Is it possible to get an ExtendedEntityManager versus an InjectedEntityManager?
Thanks for any help!
Mike -
3. Re: How to inject an EntityManager?
bill.burke Jan 26, 2006 8:32 PM (in response to osganian)you want an extended entity manager? Lookup the factory in jndi after you've declared jboss.entity.manager.factory.jndi.name and create it from the factory.
-
4. Re: How to inject an EntityManager?
osganian Jan 26, 2006 8:46 PM (in response to osganian)I don't know, do I want an ExtendedEntityManager to do this?
Basically, what is the perferred way to obtaining an EntityManager in a POJO running within JBoss?
Doing:InitialContext ctx = new InitialContext(); EntityManager em = (EntityManager) ctx.lookup("java:/EntityManagers/TestEM");
Returns an EntityManager of type InjectedEntityManager. Which I guess is fine but I get an IllegalStateException if I call:em.getTransaction(); (to begin() & commit()/rollback())
And if I don't call em.getTransaction() and just call em.find(...) I get a TransactionRequiredException.
Damn if I do damn if I don't!
Thanks again for any suggestions!
Mike -
5. Re: How to inject an EntityManager?
bill.burke Jan 26, 2006 11:30 PM (in response to osganian)sorry, i gave you directions on how to obtain factory/entitymanager for the next release which will hopefully be tomorrw.