On 3/24/14, 17:18 , [email protected] wrote:
Thanks for your advice Richard. How could this be solved with a more recent
framework release in detail? Despite the fact that we are currently not able to
update to a higher version of Felix, I'm interested to see how OpenJPA would
fit into future product releases.
Well, I won't go into too much detail, since I only glanced at the
patch, but it appears that it tries to access outstanding module
revisions using internal Felix framework API, but now this is possible
using Bundle.adapt(BundleRevisions.class) and from each BundleRevision
you can now get a BundleWiring from which you can get the class loader
associated with the bundle.
It looks like that's all your patch needed, but I could be missing
something. If that's all, then this can be supplied in a bundle outside
of the framework...
-> richard
You are right. We use CQ 5.5 with Apache Felix 3.0.8.
Regards,
Dirk
-----Ursprüngliche Nachricht-----
Von: Richard S. Hall [mailto:[email protected]]
Gesendet: Montag, 24. März 2014 19:01
An: [email protected]
Betreff: Re: OpenJPA Support in Apache Felix
This code looks to be based on a fairly old version of the framework...I would
guess version 3.x, which is prior to OSGi R4.3. You need to do some updates to
get this to work with the latest framework releases (now version 4.4). Further,
I think that OSGi R4.3 introduced some changes that might make it possible to
do this all outside the framework as a bundle now, such as getting access to
bundle revisions (i.e., modules) and their class loaders.
In light of that, I'd say it would be better to consider donating this as a
stand-alone bundle to Apache OpenJPA...
-> richard
On 3/24/14, 06:28 , [email protected] wrote:
Hi all,
in our current project, we intensively use database access to store
information and share it between different (not clustered) instances.
As for the persistence layer, we use Apache OpenJPA in an Apache Felix
container (CQ5.5) with Apache Aries bundles installed. The setting up
faced out some problems related to the special ClassLoader scenario in
the OSGI environment. For a detailed related previous discussion have
a look at [1] and [2].
To sum up, the most frustrating problem was that the Classes loaded by
a special ModuleClassLoader could not be collected by the GC. So, the
static PCRegistry of OpenJPA referenced Classes, whose ClassLoader has
been closed/invalidated by Felix before and on any further access on
these Classes, caused NoClassDefFoundErrors.
To solve this issue we implemented a framework extension that
registers a BundleListener, cleaning up the PCRegistry every time a
Bundle is updated. This code we would like to contribute and any
comments are appreciated.
[1]
http://mail-archives.apache.org/mod_mbox/openjpa-dev/200707.mbox/%3CFB
[email protected]%3E
[2] https://issues.apache.org/jira/browse/OPENJPA-285
Kind regards,
*Dirk Rudolph *
T-Systems Multimedia Solutions GmbH
Organisationseinheit CCS
Dirk Rudolph
Software-Entwicklung, OCJP
Hausanschrift: Riesaer Straße 5, 01129 Dresden
Postanschrift: Postfach 10 02 24, 01072 Dresden
+49 351 2820-5363 (Tel)
E-Mail:[email protected]
<mailto:[email protected]>
Internet: http://www.t-systems-mms.com <http://www.t-systems-mms.de/>
T-Systems Multimedia Solutions GmbH
Aufsichtsrat: Thilo Kusch (Vorsitzender)
Geschäftsführung: Peter Klingenburg, Susanne Heger, Dr. Rolf Werner
Handelsregister: Amtsgericht Dresden HRB 11433 Sitz der Gesellschaft:
Dresden
Ust-IdNr.: DE 811 807 949
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]