|EclipseLink 2.1.2 on JBoss 6.0.0 Final [message #651436]
||Sun, 30 January 2011 21:12
Registered: January 2011
I'm migrating an application from Glassfish 3.0.1 to JBoss 6.0.0 Final (due to customer requirements). To expedite the migration and avoid a rather hefty persistence layer refactor I'm using EclipseLink 2.1.2 as the JPA provider. Needless to say the application works fine in Glassfish. Anyway...
The application uses EJB 3.1 in a WAR (Servlet 3.0, JSF 2.0), and JPA 2.0 persistence. I have already defined the DataSources needed (included below).
I've almost got it running in JBoss 6. But I have a very strange issue regarding transactions not being properly enlisted by the persistence manager (or, at least, that's what it seems). I keep getting javax.ejb.EJBException: javax.persistence.TransactionRequiredException
I believe the problem may have to do with the fact that I have no "target-server" configuration in my persistence.xml - before you chastise me, it turns out that if I do add that configuration, the error then becomes that EclipseLink can't find (let alone weave/process) any entities.
It seems this is in response to an old JBoss bug wrt classloader wonkiness (can't remember what forum post I read that on).
After looking through the code, it seems obvious that the problem is that EclipseLink isn't finding the JTA transaction manager. This is probably because it's trying to locate it in the wrong place (because JBoss platform isn't active).
It seems I'm in a catch-22 here: if I fix one thing, I irreparably break another.
My question is: how can I make EclipseLink work with JBoss 6 container-managed transactions, AND dynamic entity discovery + weaving?
This is the last hurdle (I think/hope) before completing the migration and beginning the certification process.
Powered by FUDForum
. Page generated in 0.20848 seconds