[jboss-user] [JBoss Seam] - How to get EntityManager without @In?

gothmog do-not-reply at jboss.com
Fri Aug 31 04:55:28 EDT 2007


Hi,

I have a private thread running inside an application scoped component that wakes up every 5 secs and does some housekeeping work. It needs access to an EntityManager.

The @In is unreliable the em is always null. So I tried this: 


  | EntityManagerFactory emf = Persistence.createEntityManagerFactory("viewDatabase");
  | EntityManager em = emf.createEntityManager();
  | 

but when I tried to use it nothing happened, I figured it wasn't being flushed automatically as I know seam does a lot for you but when I manually tried to flush() it I got complaints about not being in a transaction.

I then tried to get a transaction from em.getTransaction() but then I got:


  | java.lang.IllegalStateException: JTA EntityManager cannot access a transactions
  | 

Makes sense from the reading of done on EJB just now, so then I thought I'll try getting from JNDI as the reading I've done says the persistence context will be associated with a transaction. 

How does one do this? Is this indeed the right thinking (or indeed the right forum for this or shall I post it in the EJB forum or JBoss forum?) Please advise.

Thanks

Troy

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4079879#4079879

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4079879



More information about the jboss-user mailing list