EclipseLink 2.1.2 on JBoss 6.0.0 Final [message #651436] |
Sun, 30 January 2011 21:12 |
diego.rivera.cr Messages: 5 Registered: January 2011 |
Junior Member |
|
|
Hello, everyone!
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.
Ideas? Thoughts?
Thanks!
|
|
|
Re: EclipseLink 2.1.2 on JBoss 6.0.0 Final [message #651535 is a reply to message #651436] |
Mon, 31 January 2011 15:25 |
|
JBoss does not support dynamic weaving of JPA Entities. So to use weaving you must use static weaving in EclipseLink. i.e. run the static weaving ant task on your ejb jar. Otherwise you could disable weaving.
You must use the JBoss target-server to integrate with JTA. Other than weaving this should work. EclipseLink works with, and is tested on JBoss nightly.
James : Wiki : Book : Blog : Twitter
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.02282 seconds