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/%[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]

Reply via email to