Hi,

As Kasun mentioned we can use the specified bundles and
<Require-Capability>osgi.extender;
filter:="(osgi.extender=osgi.serviceloader.registrar)"</Require-Capability>
<Provide-Capability>osgi.serviceloader;
osgi.serviceloader=javax.servlet.ServletContainerInitializer</Provide-Capability>

to expose the  ServletContainerInitializer implementations via OSGi.

When we create the OSGI bundle out of the said implementation, we can find
those ServletContainerInitializers using,
getOSGiServices(ServletContainerInitializer.class), method provided by
PrivilegedCarbonContext class

Thanks & Regards,
Denuwanthi.


On Fri, May 30, 2014 at 12:20 PM, Kasun Gajasinghe <[email protected]> wrote:

> Hi Sagara,
>
> Denuwanthi is working on a solution for this problem using spi-fly. SPI
> Fly provides a mechanism to expose Java Service Provider Interfaces via
> OSGi. To make this work,
>
> 1. Add the following spi-fly and its dependency bundles to AS - Download
> links are available at [1]. We need a make a Carbon feature out of this to
> install in AS. @Denuwanthi, please note.
>
> SPI Fly Dynamic Weaving Bundle 1.0.0
> Aries Util 1.1.0
> ASM 4.0.0
>
> 2. You need to make the Myfaces bundle a service provider of
> javax.servlet.ServletContainerInitializer interface under the OSGi
> environment. For that you need to add 'Require-Capability', and
> 'Provide-Capability' Manifest headers as follows.
>
>   Require-Capability: osgi.extender;
> filter:="(osgi.extender=osgi.serviceloader.registrar)"
>
>   Provide-Capability: osgi.serviceloader; osgi.serviceloader=
> *javax.servlet.ServletContainerInitializer*
>
> 3. Since Tomcat uses a custom mechanism to load the service providers, you
> do not need to add Consumer's manifest headers. Consumer part for webapps
> is already handled by our solution.
> [1] http://aries.apache.org/modules/spi-fly.html
>
> Regards,
> KasunG
>
>
>
> On Fri, May 30, 2014 at 12:01 PM, Sagara Gunathunga <[email protected]>
> wrote:
>
>> It looks like we need OSGI aware way to
>> find ServletContainerInitializers. Myfaces use MyFacesContainerInitializer
>> to register MyFaces Servlet but this is not pick up by the AS that's why
>> JSF not work on ASTomEE.
>>
>> Thanks !
>> --
>> Sagara Gunathunga
>>
>> Senior Technical Lead; WSO2, Inc.;  http://wso2.com
>> V.P Apache Web Services;    http://ws.apache.org/
>> Linkedin; http://www.linkedin.com/in/ssagara
>> Blog ;  http://ssagara.blogspot.com
>>
>>
>
>
> --
>
> *Kasun Gajasinghe*Senior Software Engineer, WSO2 Inc.
> email: kasung AT spamfree wso2.com
> linked-in: http://lk.linkedin.com/in/gajasinghe
> blog: http://kasunbg.org
>
>
>



-- 
Denuwanthi De Silva
Software Engineer;
WSO2 Inc.; http://wso2.com,
Email: [email protected]
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to