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

Reply via email to