Gemini JPA: single persistence bundle too restrictive [message #1028016] |
Wed, 27 March 2013 14:20  |
Eclipse User |
|
|
|
I have recently upgraded our OSGi-based business framework to EclipseLink 2.4.x from an older version, and I have come to the conclusion that Gemini is not an option, because it requires that all entities are defined in a single persistence bundle.
Our framework is built up of hundreds of entities spread over tens of separate bundles. That is required to make the code modular and reusable. I have been able to maintain that architecture with the older version of the OSGi support for JPA, including the use of dynamic weaving. But that does not seem to be possible with the current Gemini JPA solution.
Is there any chance that restriction is overcome in a future version ? And will that also include support for dynamic weaving, since the tricky part is precisely in providing the weaver with metadata that must come from annotations on the same classes it is loading ?
|
|
|
Re: Gemini JPA: single persistence bundle too restrictive [message #1028215 is a reply to message #1028016] |
Wed, 27 March 2013 21:08  |
Eclipse User |
|
|
|
Hi Jan,
The earlier version of EclipseLink OSGi was coupled to Equinox and required some very specific Equinox hook support. It also required that EclipseLink be installed as a system extension bundle. Long story short, it was a proprietary point solution and less than ideal.
Gemini JPA provides an implementation of the OSGi JPA standard and will work on any compliant OSGi framework. Unfortunately, the OSGi JPA standard is not as flexible as it could/should have been and does not permit multiple bundles to contribute to the same persistence unit. There is a Gemini JPA enhancement request that is currently open, though, to support this:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=363195
Dynamic weaving might be difficult just because the bundles must not be loaded before the classes get weaved, and the process for finding all of the bundles makes it more likely that at least one of them could get started before it gets found by Gemini JPA. That would likely require a refresh. In any case, if you could please comment and/or respond to questions that I ask in that bug then it would help me as I develop that feature.
Thanks,
-Mike
|
|
|
Powered by
FUDForum. Page generated in 0.09844 seconds