To give an example of what Richard is suggesting have a look at LeakDetector [1] class from one of the Apache Sling bundles. This approach allow you to write a generic code which should work on any OSGi container which later version of OSGi spec which provide support for BundleWiring class
Chetan Mehrotra [1] https://github.com/apache/sling/blob/trunk/contrib/extensions/leak-detector/src/main/java/org/apache/sling/extensions/leakdetector/internal/LeakDetector.java#L332 On Tue, Mar 25, 2014 at 3:37 AM, Richard S. Hall <he...@ungoverned.org> wrote: > > On 3/24/14, 17:18 , dirk.rudo...@t-systems.com 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:he...@ungoverned.org] >> Gesendet: Montag, 24. März 2014 19:01 >> An: users@felix.apache.org >> 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 , dirk.rudo...@t-systems.com 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 >>> b27544-a571-4c30-af39-e0822f81d...@gmail.com%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:dirk.rudo...@t-systems.com >>> <mailto:mdirk.rudo...@t-systems-mms.com> >>> 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: users-unsubscr...@felix.apache.org >>> For additional commands, e-mail: users-h...@felix.apache.org >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org >> For additional commands, e-mail: users-h...@felix.apache.org >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@felix.apache.org > For additional commands, e-mail: users-h...@felix.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@felix.apache.org For additional commands, e-mail: users-h...@felix.apache.org