2009/7/9 Felix Röthenbacher <[email protected]>:
> Matthias Wessendorf schrieb:
>>
>> Hey Felix,
>>
>> 2009/7/9 Felix Röthenbacher <[email protected]>:
>>>
>>> Hi
>>>
>>> I recently made some modifications to MyFaces Core and MyFaces Trinidad
>>> to get it running in an OSGi container (Equinox) together with Facelets.
>>>
>>> I wonder if there is any interest in adding bundle metadata to MyFaces
>>> Core and Trinidad to make them runnable in an OSGi environment? If so,
>>> I could finalize my modifications and submit a patch with the necessary
>>> changes.
>>>
>>> Basically, the changes include:
>>>
>>> - adding bundle information in MANIFEST.MF (uses Maven bundle plugin)
>>> - assure that classes and resources are loaded with proper class loaders
>>>
>>> The changes to MyFaces core are minor, e.g. adding a bundle activator
>>> and small modifications to ClassUtil for class loading.
>>>
>>> Modifications to Trinidad comprise a systematic use of ClassLoaderUtils
>>> to
>>> load classes and resources. Currently, often
>>> Thread.currentThread.getContextClassLoader() is used directly, which
>>> doesn't
>>> work well in an OSGi environment.
>>
>> you mean this this one, right ?
>>
>> org.apache.myfaces.trinidad.util.ClassLoaderUtils
>
> Right. To keep it clean, both bundles (api and impl) need class loader utils
> to use their respective bundle class loader. The class loader utils decide
> if the bundle is running in an OSGi environment and if so, uses the bundle
> class loader. The implementation doesn't require a runtime dependency on
> OSGi classes when not running in an OSGi container.
>
> A special case is resource loading, especially the ones under META-INF as
> this package is not exported and therefore not accessible from other
> bundles. MyFaces Core and Trinidad need to access these resources from
> different bundles in order to configure faces.

I am not against that. Sounds good!

-Matthias

>
> - Felix
>
>>
>> -M
>>
>>> WDYT?
>>>
>>> - Felix
>>>
>>
>>
>>
>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Reply via email to