You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@felix.apache.org by Lindley Andrew <An...@ait.ac.at> on 2010/12/16 17:54:42 UTC

using maven-ipojo-plugin in combination with the maven-war-plugin

I am trying to configure <artifactId>maven-ipojo-plugin</artifactId> to be used in combination with the <artifactId>maven-war-plugin</artifactId>
The overall goal is to have a <packaging>war</packaging> which can also be exposed as a bundle.

I have managed that the <maven-bundle-plugin> generates a manifest, which is picked up and included in the war. However the next step, using ipojo for handling the service and service instances isn't working. It's not being included in the manifest.

Please find attached the relevant snapshots of my maven pom:

Thanks for your support,
Kr Andrew

<plugins>
            <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-war-plugin</artifactId>
                        <configuration>
                                   <warSourceDirectory>web</warSourceDirectory>
                                   <archive>
                                               <!-- add the generated manifest of the osgi-bundle plugin to the war -->
                                               <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                                   </archive>
                                   <webXml>src/main/web/WEB-INF/web.xml</webXml>
                        </configuration>
            </plugin>
            <plugin>
                        <!--
                                   The goal here is to be able to use a different packaging type than "bundle", say "war" packaging, and still get benefits of the maven-bundle-plugin.
                                   The major benefit is of course having the manifest being generated by the BND tool.
                                   If your project is packaged as "war", you can still use the maven-bundle-plugin to generate the manifest if you add "war" to supportedProjectTypes:
                                   -->
                        <groupId>org.apache.felix</groupId>
                        <artifactId>maven-bundle-plugin</artifactId>
                        <version>2.1.0</version>
                        <executions>
                                   <execution>
                                               <id>bundle-manifest</id>
                                               <phase>process-classes</phase>
                                               <goals>
                                                           <goal>manifest</goal>
                                               </goals>
                                   </execution>
                        </executions>
                        <extensions>true</extensions>
                        <configuration>
                                   <supportedProjectTypes>
                                               <supportedProjectType>jar</supportedProjectType>
                                               <supportedProjectType>bundle</supportedProjectType>
                                               <supportedProjectType>war</supportedProjectType>
                                   </supportedProjectTypes>
                                   <instructions>
                                               <Bundle-SymbolicName>Planets Service - JTidy</Bundle-SymbolicName>
                                               <Bundle-Version>${pom.version}</Bundle-Version>
                                               <!--assume public classes are in the top package, and private classes are under ".internal"-->
                                               <Export-Package>eu.planets_project.services.migrate.jtidy.*;version="${pom.version}"</Export-Package>
                                               <!--each module can override these defaults in their osgi.bnd file-->
                                               <_include>-osgi.bnd</_include>
                                   </instructions>
                        </configuration>
            </plugin>
            <!-- osgi - ipojo: meta.xml located in src>main>osgi>ipojo -->
            <plugin>
                        <groupId>org.apache.felix</groupId>
                        <artifactId>maven-ipojo-plugin</artifactId>
                        <version>1.4.2</version>
                        <executions>
                                   <execution>
                                               <goals>
                                                           <goal>ipojo-bundle</goal>
                                               </goals>
                                               <configuration>
                                                           <metadata>src/main/osgi/ipojo/meta.xml</metadata>
                                               </configuration>
                                   </execution>
                        </executions>
            </plugin>
</plugins>



Re: iPojo with HttpServlet and WhiteboardExtender - when using iPojo 'requires'

Posted by "Richard S. Hall" <he...@ungoverned.org>.
On 2/7/11 5:18, Lindley Andrew wrote:
> Hi Clement,
>
> Thanks for pointing me to the ipojo webconsole plugin
> I noticed that one of my 'required' services is in the state invalid. That's the issue.
>
> It probably could have saved me lots of time if I had seen this information when deploying an iPojo service in the command line.

Then you could consider deploying the iPOJO architecture command for 
Gogo, whose purpose is to allow you to inspect such things from the 
command line.

-> richard

> Thanks,
> Kr Andrew
>
> -----Original Message-----
> From: Clement Escoffier [mailto:clement.escoffier@gmail.com]
> Sent: Friday, February 04, 2011 8:01 PM
> To: Apache Felix - Users Mailing List
> Subject: Re: iPojo with HttpServlet and WhiteboardExtender - when using iPojo 'requires'
>
> Hi,
>
> If you're using the felix web console, could you deploy:
> http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.ipojo.webco
> nsole/1.4.4/org.apache.felix.ipojo.webconsole-1.4.4.jar
> And check the state of the sampleServlet2 instance (before and after the
> issue). To get the state, in the web console, just go to the iPOJO Tab.
>
> Regards,
>
> Clement
>
> On 04.02.11 17:36, "Richard S. Hall"<he...@ungoverned.org>  wrote:
>
>>
>> On 2/4/11 11:24, Lindley Andrew wrote:
>>> I am having issues with iPojo in combination with Servlets and the
>>> whiteboard-extender when iPojos 'requires' functionality is used. Let me
>>> explain my setup in more detail:
>>>
>>> *) I've got a very simple TestServlet which just extends the
>>> HttpServlet and overrides the init, destroy and doGet methods.
>>>
>>> public class TestServlet2 extends HttpServlet
>>>
>>> *) that's my iPojo configuration - it perfectly works. Please note the
>>> static property alias='/sampleservlet' which is used for the Servlet path
>>>
>>> <ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>      xsi:schemaLocation="org.apache.felix.ipojo
>>>                http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd"
>>>      xmlns="org.apache.felix.ipojo">
>>>
>>>      <component name="TestServlet2"
>>>
>>> classname="org.apache.felix.http.samples.whiteboard.TestServlet2">
>>>
>>>          <provides>
>>>              <property name="servletname" field="name" />
>>>              <property name="alias" value="/servletmapping"
>>> type="java.lang.String"/>
>>>          </provides>
>>>
>>>      </component>
>>>
>>>      <instance name="sampleServlet2" component="TestServlet2">
>>>          <property name="alias" value="/sampleservlet" />
>>>          <property name="servletname" value="Test-Servlet2 Name"/>
>>>      </instance>
>>> </ipojo>
>>>
>>> *) Within the POM I'm using the maven-bundle-plugin and
>>> maven-ipojo-plugin to build the bundle - just as you would expect.
>>>
>>>       <name>Apache Felix Http Samples - Whiteboard</name>
>>>       <artifactId>org.apache.felix.http.samples.whiteboard</artifactId>
>>>       <packaging>bundle</packaging>
>>>
>>>       <build>
>>>       <plugins>
>>>         <plugin>
>>>           <groupId>org.apache.felix</groupId>
>>>           <artifactId>maven-bundle-plugin</artifactId>
>>>           <version>2.1.0</version>
>>>           <extensions>true</extensions>
>>>           <configuration>
>>>             <instructions>
>>>               <Bundle-Category>sample</Bundle-Category>
>>>               <Bundle-SymbolicName>${artifactId}</Bundle-SymbolicName>
>>>               <Export-Package></Export-Package>
>>>             </instructions>
>>>           </configuration>
>>>         </plugin>
>>>         <plugin>
>>>           <groupId>org.apache.felix</groupId>
>>>           <artifactId>maven-ipojo-plugin</artifactId>
>>>           <version>1.4.2</version>
>>>           <executions>
>>>             <execution>
>>>               <goals>
>>>                 <goal>ipojo-bundle</goal>
>>>               </goals>
>>>               <configuration>
>>>                 <metadata>src/main/ipojo/meta.xml</metadata>
>>>               </configuration>
>>>             </execution>
>>>           </executions>
>>>         </plugin>
>>>       </plugins>
>>>     </build>
>>>
>>> *) On my system I'm running karaf with the 'http' and 'war' feature
>>> installed. i.e. I've got the jetty-bundle up and running and I'm able to
>>> use the org.ops4j.pax.web/pax-web-extender-whiteboard/0.7.3 for servlet
>>> deployment
>>>
>>> This setup works like charm and the servlet is properly picked up and
>>> exposed by the whiteboard-extender. I'm able to access it at
>>> http://localhost:8181/sampleservlet and the bundle description states
>>>
>>> alias = /servletmapping
>>> factory.name = TestServlet2
>>> instance.name = sampleServlet2
>>> objectClass = javax.servlet.Servlet, javax.servlet.ServletConfig,
>>> java.io.Serializable
>>> service.id = 189
>>> servletname = Test-Servlet2 Name
>>>
>>> HOWEVER, as soon as I use the iPojo 'requires' functionality the
>>> Servlet is no longer exposed. I didn't change anything else in the above
>>> configuration. Both required services 'service' (private
>>> BookshelfService service) and 'logger' (private BookshelfLogHelper
>>> logger) are available on the system as bundles.
>> Are these bundles also active and providing their services?
>>
>> ->  richard
>>
>>> The bundle description does no longer contain information on the alias
>>> or instance.name??? Thanks for your help, I have no idea what's going
>>> wrong here?!
>>>
>>> <ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>      xsi:schemaLocation="org.apache.felix.ipojo
>>>                http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd"
>>>      xmlns="org.apache.felix.ipojo">
>>>
>>>      <component name="TestServlet2"
>>>
>>> classname="org.apache.felix.http.samples.whiteboard.TestServlet2">
>>>
>>>          <provides>
>>>              <property name="servletname" field="name" />
>>>              <property name="alias" value="/servletmapping"
>>> type="java.lang.String"/>
>>>          </provides>
>>>
>>>          <requires field="service" />
>>>          <requires field="logger" />
>>>
>>>      </component>
>>>
>>>      <instance name="sampleServlet2" component="TestServlet2">
>>>          <property name="alias" value="/sampleservlet " />
>>>          <property name="servletname" value="Test-Servlet2 Name"/>
>>>      </instance>
>>> </ipojo>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>>> For additional commands, e-mail: users-help@felix.apache.org
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


RE: iPojo with HttpServlet and WhiteboardExtender - when using iPojo 'requires'

Posted by Lindley Andrew <An...@ait.ac.at>.
Hi Clement,

Thanks for pointing me to the ipojo webconsole plugin
I noticed that one of my 'required' services is in the state invalid. That's the issue.

It probably could have saved me lots of time if I had seen this information when deploying an iPojo service in the command line.

Thanks,
Kr Andrew

-----Original Message-----
From: Clement Escoffier [mailto:clement.escoffier@gmail.com] 
Sent: Friday, February 04, 2011 8:01 PM
To: Apache Felix - Users Mailing List
Subject: Re: iPojo with HttpServlet and WhiteboardExtender - when using iPojo 'requires'

Hi,

If you're using the felix web console, could you deploy:
http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.ipojo.webco
nsole/1.4.4/org.apache.felix.ipojo.webconsole-1.4.4.jar
And check the state of the sampleServlet2 instance (before and after the
issue). To get the state, in the web console, just go to the iPOJO Tab.

Regards,

Clement

On 04.02.11 17:36, "Richard S. Hall" <he...@ungoverned.org> wrote:

>
>
>On 2/4/11 11:24, Lindley Andrew wrote:
>> I am having issues with iPojo in combination with Servlets and the
>>whiteboard-extender when iPojos 'requires' functionality is used. Let me
>>explain my setup in more detail:
>>
>> *) I've got a very simple TestServlet which just extends the
>>HttpServlet and overrides the init, destroy and doGet methods.
>>
>> public class TestServlet2 extends HttpServlet
>>
>> *) that's my iPojo configuration - it perfectly works. Please note the
>>static property alias='/sampleservlet' which is used for the Servlet path
>>
>> <ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>     xsi:schemaLocation="org.apache.felix.ipojo
>>               http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd"
>>     xmlns="org.apache.felix.ipojo">
>>
>>     <component name="TestServlet2"
>>         
>>classname="org.apache.felix.http.samples.whiteboard.TestServlet2">
>>
>>         <provides>
>>             <property name="servletname" field="name" />
>>             <property name="alias" value="/servletmapping"
>>type="java.lang.String"/>
>>         </provides>
>>
>>     </component>
>>
>>     <instance name="sampleServlet2" component="TestServlet2">
>>         <property name="alias" value="/sampleservlet" />
>>         <property name="servletname" value="Test-Servlet2 Name"/>
>>     </instance>
>> </ipojo>
>>
>> *) Within the POM I'm using the maven-bundle-plugin and
>>maven-ipojo-plugin to build the bundle - just as you would expect.
>>
>>      <name>Apache Felix Http Samples - Whiteboard</name>
>>      <artifactId>org.apache.felix.http.samples.whiteboard</artifactId>
>>      <packaging>bundle</packaging>
>>
>>      <build>
>>      <plugins>
>>        <plugin>
>>          <groupId>org.apache.felix</groupId>
>>          <artifactId>maven-bundle-plugin</artifactId>
>>          <version>2.1.0</version>
>>          <extensions>true</extensions>
>>          <configuration>
>>            <instructions>
>>              <Bundle-Category>sample</Bundle-Category>
>>              <Bundle-SymbolicName>${artifactId}</Bundle-SymbolicName>
>>              <Export-Package></Export-Package>
>>            </instructions>
>>          </configuration>
>>        </plugin>
>>        <plugin>
>>          <groupId>org.apache.felix</groupId>
>>          <artifactId>maven-ipojo-plugin</artifactId>
>>          <version>1.4.2</version>
>>          <executions>
>>            <execution>
>>              <goals>
>>                <goal>ipojo-bundle</goal>
>>              </goals>
>>              <configuration>
>>                <metadata>src/main/ipojo/meta.xml</metadata>
>>              </configuration>
>>            </execution>
>>          </executions>
>>        </plugin>
>>      </plugins>
>>    </build>
>>
>> *) On my system I'm running karaf with the 'http' and 'war' feature
>>installed. i.e. I've got the jetty-bundle up and running and I'm able to
>>use the org.ops4j.pax.web/pax-web-extender-whiteboard/0.7.3 for servlet
>>deployment
>>
>> This setup works like charm and the servlet is properly picked up and
>>exposed by the whiteboard-extender. I'm able to access it at
>>http://localhost:8181/sampleservlet and the bundle description states
>>
>> alias = /servletmapping
>> factory.name = TestServlet2
>> instance.name = sampleServlet2
>> objectClass = javax.servlet.Servlet, javax.servlet.ServletConfig,
>>java.io.Serializable
>> service.id = 189
>> servletname = Test-Servlet2 Name
>>
>> HOWEVER, as soon as I use the iPojo 'requires' functionality the
>>Servlet is no longer exposed. I didn't change anything else in the above
>>configuration. Both required services 'service' (private
>>BookshelfService service) and 'logger' (private BookshelfLogHelper
>>logger) are available on the system as bundles.
>
>Are these bundles also active and providing their services?
>
>-> richard
>
>> The bundle description does no longer contain information on the alias
>>or instance.name??? Thanks for your help, I have no idea what's going
>>wrong here?!
>>
>> <ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>     xsi:schemaLocation="org.apache.felix.ipojo
>>               http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd"
>>     xmlns="org.apache.felix.ipojo">
>>
>>     <component name="TestServlet2"
>>         
>>classname="org.apache.felix.http.samples.whiteboard.TestServlet2">
>>
>>         <provides>
>>             <property name="servletname" field="name" />
>>             <property name="alias" value="/servletmapping"
>>type="java.lang.String"/>
>>         </provides>
>>
>>         <requires field="service" />
>>         <requires field="logger" />
>>         
>>     </component>
>>
>>     <instance name="sampleServlet2" component="TestServlet2">
>>         <property name="alias" value="/sampleservlet " />
>>         <property name="servletname" value="Test-Servlet2 Name"/>
>>     </instance>
>> </ipojo>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>For additional commands, e-mail: users-help@felix.apache.org
>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: iPojo with HttpServlet and WhiteboardExtender - when using iPojo 'requires'

Posted by Clement Escoffier <cl...@gmail.com>.
Hi,

If you're using the felix web console, could you deploy:
http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.ipojo.webco
nsole/1.4.4/org.apache.felix.ipojo.webconsole-1.4.4.jar
And check the state of the sampleServlet2 instance (before and after the
issue). To get the state, in the web console, just go to the iPOJO Tab.

Regards,

Clement

On 04.02.11 17:36, "Richard S. Hall" <he...@ungoverned.org> wrote:

>
>
>On 2/4/11 11:24, Lindley Andrew wrote:
>> I am having issues with iPojo in combination with Servlets and the
>>whiteboard-extender when iPojos 'requires' functionality is used. Let me
>>explain my setup in more detail:
>>
>> *) I've got a very simple TestServlet which just extends the
>>HttpServlet and overrides the init, destroy and doGet methods.
>>
>> public class TestServlet2 extends HttpServlet
>>
>> *) that's my iPojo configuration - it perfectly works. Please note the
>>static property alias='/sampleservlet' which is used for the Servlet path
>>
>> <ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>     xsi:schemaLocation="org.apache.felix.ipojo
>>               http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd"
>>     xmlns="org.apache.felix.ipojo">
>>
>>     <component name="TestServlet2"
>>         
>>classname="org.apache.felix.http.samples.whiteboard.TestServlet2">
>>
>>         <provides>
>>             <property name="servletname" field="name" />
>>             <property name="alias" value="/servletmapping"
>>type="java.lang.String"/>
>>         </provides>
>>
>>     </component>
>>
>>     <instance name="sampleServlet2" component="TestServlet2">
>>         <property name="alias" value="/sampleservlet" />
>>         <property name="servletname" value="Test-Servlet2 Name"/>
>>     </instance>
>> </ipojo>
>>
>> *) Within the POM I'm using the maven-bundle-plugin and
>>maven-ipojo-plugin to build the bundle - just as you would expect.
>>
>>      <name>Apache Felix Http Samples - Whiteboard</name>
>>      <artifactId>org.apache.felix.http.samples.whiteboard</artifactId>
>>      <packaging>bundle</packaging>
>>
>>      <build>
>>      <plugins>
>>        <plugin>
>>          <groupId>org.apache.felix</groupId>
>>          <artifactId>maven-bundle-plugin</artifactId>
>>          <version>2.1.0</version>
>>          <extensions>true</extensions>
>>          <configuration>
>>            <instructions>
>>              <Bundle-Category>sample</Bundle-Category>
>>              <Bundle-SymbolicName>${artifactId}</Bundle-SymbolicName>
>>              <Export-Package></Export-Package>
>>            </instructions>
>>          </configuration>
>>        </plugin>
>>        <plugin>
>>          <groupId>org.apache.felix</groupId>
>>          <artifactId>maven-ipojo-plugin</artifactId>
>>          <version>1.4.2</version>
>>          <executions>
>>            <execution>
>>              <goals>
>>                <goal>ipojo-bundle</goal>
>>              </goals>
>>              <configuration>
>>                <metadata>src/main/ipojo/meta.xml</metadata>
>>              </configuration>
>>            </execution>
>>          </executions>
>>        </plugin>
>>      </plugins>
>>    </build>
>>
>> *) On my system I'm running karaf with the 'http' and 'war' feature
>>installed. i.e. I've got the jetty-bundle up and running and I'm able to
>>use the org.ops4j.pax.web/pax-web-extender-whiteboard/0.7.3 for servlet
>>deployment
>>
>> This setup works like charm and the servlet is properly picked up and
>>exposed by the whiteboard-extender. I'm able to access it at
>>http://localhost:8181/sampleservlet and the bundle description states
>>
>> alias = /servletmapping
>> factory.name = TestServlet2
>> instance.name = sampleServlet2
>> objectClass = javax.servlet.Servlet, javax.servlet.ServletConfig,
>>java.io.Serializable
>> service.id = 189
>> servletname = Test-Servlet2 Name
>>
>> HOWEVER, as soon as I use the iPojo 'requires' functionality the
>>Servlet is no longer exposed. I didn't change anything else in the above
>>configuration. Both required services 'service' (private
>>BookshelfService service) and 'logger' (private BookshelfLogHelper
>>logger) are available on the system as bundles.
>
>Are these bundles also active and providing their services?
>
>-> richard
>
>> The bundle description does no longer contain information on the alias
>>or instance.name??? Thanks for your help, I have no idea what's going
>>wrong here?!
>>
>> <ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>     xsi:schemaLocation="org.apache.felix.ipojo
>>               http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd"
>>     xmlns="org.apache.felix.ipojo">
>>
>>     <component name="TestServlet2"
>>         
>>classname="org.apache.felix.http.samples.whiteboard.TestServlet2">
>>
>>         <provides>
>>             <property name="servletname" field="name" />
>>             <property name="alias" value="/servletmapping"
>>type="java.lang.String"/>
>>         </provides>
>>
>>         <requires field="service" />
>>         <requires field="logger" />
>>         
>>     </component>
>>
>>     <instance name="sampleServlet2" component="TestServlet2">
>>         <property name="alias" value="/sampleservlet " />
>>         <property name="servletname" value="Test-Servlet2 Name"/>
>>     </instance>
>> </ipojo>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>> For additional commands, e-mail: users-help@felix.apache.org
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>For additional commands, e-mail: users-help@felix.apache.org
>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: iPojo with HttpServlet and WhiteboardExtender - when using iPojo 'requires'

Posted by "Richard S. Hall" <he...@ungoverned.org>.

On 2/4/11 11:24, Lindley Andrew wrote:
> I am having issues with iPojo in combination with Servlets and the whiteboard-extender when iPojos 'requires' functionality is used. Let me explain my setup in more detail:
>
> *) I've got a very simple TestServlet which just extends the HttpServlet and overrides the init, destroy and doGet methods.
>
> public class TestServlet2 extends HttpServlet
>
> *) that's my iPojo configuration - it perfectly works. Please note the static property alias='/sampleservlet' which is used for the Servlet path
>
> <ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	xsi:schemaLocation="org.apache.felix.ipojo
>               http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd"
> 	xmlns="org.apache.felix.ipojo">
>
> 	<component name="TestServlet2"
> 		classname="org.apache.felix.http.samples.whiteboard.TestServlet2">
>
> 		<provides>
> 			<property name="servletname" field="name" />
> 			<property name="alias" value="/servletmapping" type="java.lang.String"/>
> 		</provides>
>
> 	</component>
>
> 	<instance name="sampleServlet2" component="TestServlet2">
> 		<property name="alias" value="/sampleservlet" />
> 		<property name="servletname" value="Test-Servlet2 Name"/>
> 	</instance>
> </ipojo>
>
> *) Within the POM I'm using the maven-bundle-plugin and maven-ipojo-plugin to build the bundle - just as you would expect.
>
>      <name>Apache Felix Http Samples - Whiteboard</name>
>      <artifactId>org.apache.felix.http.samples.whiteboard</artifactId>
>      <packaging>bundle</packaging>
>
>      <build>
>      <plugins>
>        <plugin>
>          <groupId>org.apache.felix</groupId>
>          <artifactId>maven-bundle-plugin</artifactId>
>          <version>2.1.0</version>
>          <extensions>true</extensions>
>          <configuration>
>            <instructions>
>              <Bundle-Category>sample</Bundle-Category>
>              <Bundle-SymbolicName>${artifactId}</Bundle-SymbolicName>
>              <Export-Package></Export-Package>
>            </instructions>
>          </configuration>
>        </plugin>
>        <plugin>
>          <groupId>org.apache.felix</groupId>
>          <artifactId>maven-ipojo-plugin</artifactId>
>          <version>1.4.2</version>
>          <executions>
>            <execution>
>              <goals>
>                <goal>ipojo-bundle</goal>
>              </goals>
>              <configuration>
>                <metadata>src/main/ipojo/meta.xml</metadata>
>              </configuration>
>            </execution>
>          </executions>
>        </plugin>
>      </plugins>
>    </build>
>
> *) On my system I'm running karaf with the 'http' and 'war' feature installed. i.e. I've got the jetty-bundle up and running and I'm able to use the org.ops4j.pax.web/pax-web-extender-whiteboard/0.7.3 for servlet deployment
>
> This setup works like charm and the servlet is properly picked up and exposed by the whiteboard-extender. I'm able to access it at http://localhost:8181/sampleservlet and the bundle description states
>
> alias = /servletmapping
> factory.name = TestServlet2
> instance.name = sampleServlet2
> objectClass = javax.servlet.Servlet, javax.servlet.ServletConfig, java.io.Serializable
> service.id = 189
> servletname = Test-Servlet2 Name
>
> HOWEVER, as soon as I use the iPojo 'requires' functionality the Servlet is no longer exposed. I didn't change anything else in the above configuration. Both required services 'service' (private BookshelfService service) and 'logger' (private BookshelfLogHelper logger) are available on the system as bundles.

Are these bundles also active and providing their services?

-> richard

> The bundle description does no longer contain information on the alias or instance.name??? Thanks for your help, I have no idea what's going wrong here?!
>
> <ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> 	xsi:schemaLocation="org.apache.felix.ipojo
>               http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd"
> 	xmlns="org.apache.felix.ipojo">
>
> 	<component name="TestServlet2"
> 		classname="org.apache.felix.http.samples.whiteboard.TestServlet2">
>
> 		<provides>
> 			<property name="servletname" field="name" />
> 			<property name="alias" value="/servletmapping" type="java.lang.String"/>
> 		</provides>
>
> 		<requires field="service" />
> 		<requires field="logger" />
> 		
> 	</component>
>
> 	<instance name="sampleServlet2" component="TestServlet2">
> 		<property name="alias" value="/sampleservlet " />
> 		<property name="servletname" value="Test-Servlet2 Name"/>
> 	</instance>
> </ipojo>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
> For additional commands, e-mail: users-help@felix.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


iPojo with HttpServlet and WhiteboardExtender - when using iPojo 'requires'

Posted by Lindley Andrew <An...@ait.ac.at>.
I am having issues with iPojo in combination with Servlets and the whiteboard-extender when iPojos 'requires' functionality is used. Let me explain my setup in more detail:

*) I've got a very simple TestServlet which just extends the HttpServlet and overrides the init, destroy and doGet methods.

public class TestServlet2 extends HttpServlet

*) that's my iPojo configuration - it perfectly works. Please note the static property alias='/sampleservlet' which is used for the Servlet path 

<ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="org.apache.felix.ipojo
             http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd"
	xmlns="org.apache.felix.ipojo">

	<component name="TestServlet2"
		classname="org.apache.felix.http.samples.whiteboard.TestServlet2">

		<provides>
			  <property name="servletname" field="name" />
			  <property name="alias" value="/servletmapping" type="java.lang.String"/>
		</provides>

	</component>

	<instance name="sampleServlet2" component="TestServlet2">
		<property name="alias" value="/sampleservlet" />
		<property name="servletname" value="Test-Servlet2 Name"/>
	</instance>
</ipojo>

*) Within the POM I'm using the maven-bundle-plugin and maven-ipojo-plugin to build the bundle - just as you would expect.

    <name>Apache Felix Http Samples - Whiteboard</name>
    <artifactId>org.apache.felix.http.samples.whiteboard</artifactId>
    <packaging>bundle</packaging>

    <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>2.1.0</version>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-Category>sample</Bundle-Category>
            <Bundle-SymbolicName>${artifactId}</Bundle-SymbolicName>
            <Export-Package></Export-Package>
          </instructions>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-ipojo-plugin</artifactId>
        <version>1.4.2</version>
        <executions>
          <execution>
            <goals>
              <goal>ipojo-bundle</goal>
            </goals>
            <configuration>
              <metadata>src/main/ipojo/meta.xml</metadata>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

*) On my system I'm running karaf with the 'http' and 'war' feature installed. i.e. I've got the jetty-bundle up and running and I'm able to use the org.ops4j.pax.web/pax-web-extender-whiteboard/0.7.3 for servlet deployment 

This setup works like charm and the servlet is properly picked up and exposed by the whiteboard-extender. I'm able to access it at http://localhost:8181/sampleservlet and the bundle description states

alias = /servletmapping
factory.name = TestServlet2
instance.name = sampleServlet2
objectClass = javax.servlet.Servlet, javax.servlet.ServletConfig, java.io.Serializable
service.id = 189
servletname = Test-Servlet2 Name

HOWEVER, as soon as I use the iPojo 'requires' functionality the Servlet is no longer exposed. I didn't change anything else in the above configuration. Both required services 'service' (private BookshelfService service) and 'logger' (private BookshelfLogHelper logger) are available on the system as bundles. The bundle description does no longer contain information on the alias or instance.name??? Thanks for your help, I have no idea what's going wrong here?!

<ipojo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="org.apache.felix.ipojo
             http://felix.apache.org/ipojo/schemas/CURRENT/core.xsd"
	xmlns="org.apache.felix.ipojo">

	<component name="TestServlet2"
		classname="org.apache.felix.http.samples.whiteboard.TestServlet2">

		<provides>
			  <property name="servletname" field="name" />
			  <property name="alias" value="/servletmapping" type="java.lang.String"/>
		</provides>

		<requires field="service" />
		<requires field="logger" />
		
	</component>

	<instance name="sampleServlet2" component="TestServlet2">
		<property name="alias" value="/sampleservlet " />
		<property name="servletname" value="Test-Servlet2 Name"/>
	</instance>
</ipojo>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: using maven-ipojo-plugin in combination with the maven-war-plugin

Posted by Clement Escoffier <cl...@gmail.com>.
Hi,

I've opened and tried a first fix :
https://issues.apache.org/jira/browse/FELIX-2733
Could you check with the maven-ipojo-plugin from the trunk
(1.7.0-SNAPSHOT) (I can also deploy a snapshot if need be)

Regards,

Clement


On 17.12.10 10:57, "Lindley Andrew" <An...@ait.ac.at> wrote:

>Hi Clement,
>
>Thanks fort he hint - I had already tried to specify the phase, but this
>unfortunately didn't affect the output. It really would be great if you
>could directly add support for 'war' as supported packaging type.
>
>Are there any intermediate solutions or hints I could go for at the
>moment?
>
>Thanks,
>Kr Andrew
>
>-----Original Message-----
>From: Clement Escoffier [mailto:clement.escoffier@gmail.com]
>Sent: Thursday, December 16, 2010 6:55 PM
>To: users@felix.apache.org
>Subject: Re: using maven-ipojo-plugin in combination with the
>maven-war-plugin
>
>Hi,
>
>Just a guess,
>Did you try to execute the iPOJO plugin in a defined phase:
><plugin>
>                        <groupId>org.apache.felix</groupId>
>                        <artifactId>maven-ipojo-plugin</artifactId>
>                        <version>1.4.2</version>
>                        <executions>
>                                   <execution>
>                                               <goals>
>                  
><goal>ipojo-bundle</goal>
>                                               </goals>
>            <phase>package</phase> <!-- define the phase -->
>                                               <configuration>
>                  
><metadata>src/main/osgi/ipojo/meta.xml</metadata>
>                                               </configuration>
>                                   </execution>
>                        </executions>
>            </plugin>
>
>
>
>Still, I'm not sure this is possible with the current plugin, as I think,
>we check the packaging. Tell me if it works with this 'phase', if not I
>will try to see if we can add 'war' as supported packaging type
>
>Regards,
>
>Clement
>
>On 16.12.10 17:54, "Lindley Andrew" <An...@ait.ac.at> wrote:
>
>>I am trying to configure <artifactId>maven-ipojo-plugin</artifactId> to
>>be used in combination with the <artifactId>maven-war-plugin</artifactId>
>>The overall goal is to have a <packaging>war</packaging> which can also
>>be exposed as a bundle.
>>
>>I have managed that the <maven-bundle-plugin> generates a manifest, which
>>is picked up and included in the war. However the next step, using ipojo
>>for handling the service and service instances isn't working. It's not
>>being included in the manifest.
>>
>>Please find attached the relevant snapshots of my maven pom:
>>
>>Thanks for your support,
>>Kr Andrew
>>
>><plugins>
>>            <plugin>
>>                        <groupId>org.apache.maven.plugins</groupId>
>>                        <artifactId>maven-war-plugin</artifactId>
>>                        <configuration>
>>                 
>><warSourceDirectory>web</warSourceDirectory>
>>                                   <archive>
>>                                               <!-- add the generated
>>manifest of the osgi-bundle plugin to the war -->
>>                 
>><manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</mani
>>f
>>estFile>
>>                                   </archive>
>>                 
>><webXml>src/main/web/WEB-INF/web.xml</webXml>
>>                        </configuration>
>>            </plugin>
>>            <plugin>
>>                        <!--
>>                                   The goal here is to be able to use a
>>different packaging type than "bundle", say "war" packaging, and still
>>get benefits of the maven-bundle-plugin.
>>                                   The major benefit is of course having
>>the manifest being generated by the BND tool.
>>                                   If your project is packaged as "war",
>>you can still use the maven-bundle-plugin to generate the manifest if you
>>add "war" to supportedProjectTypes:
>>                                   -->
>>                        <groupId>org.apache.felix</groupId>
>>                        <artifactId>maven-bundle-plugin</artifactId>
>>                        <version>2.1.0</version>
>>                        <executions>
>>                                   <execution>
>>                                               <id>bundle-manifest</id>
>>                 
>><phase>process-classes</phase>
>>                                               <goals>
>>                 
>><goal>manifest</goal>
>>                                               </goals>
>>                                   </execution>
>>                        </executions>
>>                        <extensions>true</extensions>
>>                        <configuration>
>>                                   <supportedProjectTypes>
>>                 
>><supportedProjectType>jar</supportedProjectType>
>>                 
>><supportedProjectType>bundle</supportedProjectType>
>>                 
>><supportedProjectType>war</supportedProjectType>
>>                                   </supportedProjectTypes>
>>                                   <instructions>
>>                 
>><Bundle-SymbolicName>Planets Service - JTidy</Bundle-SymbolicName>
>>                 
>><Bundle-Version>${pom.version}</Bundle-Version>
>>                                               <!--assume public classes
>>are in the top package, and private classes are under ".internal"-->
>>                 
>><Export-Package>eu.planets_project.services.migrate.jtidy.*;version="${po
>>m
>>.version}"</Export-Package>
>>                                               <!--each module can
>>override these defaults in their osgi.bnd file-->
>>                 
>><_include>-osgi.bnd</_include>
>>                                   </instructions>
>>                        </configuration>
>>            </plugin>
>>            <!-- osgi - ipojo: meta.xml located in src>main>osgi>ipojo
>>-->
>>            <plugin>
>>                        <groupId>org.apache.felix</groupId>
>>                        <artifactId>maven-ipojo-plugin</artifactId>
>>                        <version>1.4.2</version>
>>                        <executions>
>>                                   <execution>
>>                                               <goals>
>>                 
>><goal>ipojo-bundle</goal>
>>                                               </goals>
>>                                               <configuration>
>>                 
>><metadata>src/main/osgi/ipojo/meta.xml</metadata>
>>                                               </configuration>
>>                                   </execution>
>>                        </executions>
>>            </plugin>
>></plugins>
>>
>>
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
>For additional commands, e-mail: users-help@felix.apache.org
>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


RE: using maven-ipojo-plugin in combination with the maven-war-plugin

Posted by Lindley Andrew <An...@ait.ac.at>.
Hi Clement,

Thanks fort he hint - I had already tried to specify the phase, but this unfortunately didn't affect the output. It really would be great if you could directly add support for 'war' as supported packaging type. 

Are there any intermediate solutions or hints I could go for at the moment?

Thanks,
Kr Andrew

-----Original Message-----
From: Clement Escoffier [mailto:clement.escoffier@gmail.com] 
Sent: Thursday, December 16, 2010 6:55 PM
To: users@felix.apache.org
Subject: Re: using maven-ipojo-plugin in combination with the maven-war-plugin

Hi,

Just a guess,
Did you try to execute the iPOJO plugin in a defined phase:
<plugin>
                        <groupId>org.apache.felix</groupId>
                        <artifactId>maven-ipojo-plugin</artifactId>
                        <version>1.4.2</version>
                        <executions>
                                   <execution>
                                               <goals>
                   
<goal>ipojo-bundle</goal>
                                               </goals>
            <phase>package</phase> <!-- define the phase -->
                                               <configuration>
                   
<metadata>src/main/osgi/ipojo/meta.xml</metadata>
                                               </configuration>
                                   </execution>
                        </executions>
            </plugin>



Still, I'm not sure this is possible with the current plugin, as I think,
we check the packaging. Tell me if it works with this 'phase', if not I
will try to see if we can add 'war' as supported packaging type

Regards,

Clement

On 16.12.10 17:54, "Lindley Andrew" <An...@ait.ac.at> wrote:

>I am trying to configure <artifactId>maven-ipojo-plugin</artifactId> to
>be used in combination with the <artifactId>maven-war-plugin</artifactId>
>The overall goal is to have a <packaging>war</packaging> which can also
>be exposed as a bundle.
>
>I have managed that the <maven-bundle-plugin> generates a manifest, which
>is picked up and included in the war. However the next step, using ipojo
>for handling the service and service instances isn't working. It's not
>being included in the manifest.
>
>Please find attached the relevant snapshots of my maven pom:
>
>Thanks for your support,
>Kr Andrew
>
><plugins>
>            <plugin>
>                        <groupId>org.apache.maven.plugins</groupId>
>                        <artifactId>maven-war-plugin</artifactId>
>                        <configuration>
>                  
><warSourceDirectory>web</warSourceDirectory>
>                                   <archive>
>                                               <!-- add the generated
>manifest of the osgi-bundle plugin to the war -->
>                  
><manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manif
>estFile>
>                                   </archive>
>                  
><webXml>src/main/web/WEB-INF/web.xml</webXml>
>                        </configuration>
>            </plugin>
>            <plugin>
>                        <!--
>                                   The goal here is to be able to use a
>different packaging type than "bundle", say "war" packaging, and still
>get benefits of the maven-bundle-plugin.
>                                   The major benefit is of course having
>the manifest being generated by the BND tool.
>                                   If your project is packaged as "war",
>you can still use the maven-bundle-plugin to generate the manifest if you
>add "war" to supportedProjectTypes:
>                                   -->
>                        <groupId>org.apache.felix</groupId>
>                        <artifactId>maven-bundle-plugin</artifactId>
>                        <version>2.1.0</version>
>                        <executions>
>                                   <execution>
>                                               <id>bundle-manifest</id>
>                  
><phase>process-classes</phase>
>                                               <goals>
>                  
><goal>manifest</goal>
>                                               </goals>
>                                   </execution>
>                        </executions>
>                        <extensions>true</extensions>
>                        <configuration>
>                                   <supportedProjectTypes>
>                  
><supportedProjectType>jar</supportedProjectType>
>                  
><supportedProjectType>bundle</supportedProjectType>
>                  
><supportedProjectType>war</supportedProjectType>
>                                   </supportedProjectTypes>
>                                   <instructions>
>                  
><Bundle-SymbolicName>Planets Service - JTidy</Bundle-SymbolicName>
>                  
><Bundle-Version>${pom.version}</Bundle-Version>
>                                               <!--assume public classes
>are in the top package, and private classes are under ".internal"-->
>                  
><Export-Package>eu.planets_project.services.migrate.jtidy.*;version="${pom
>.version}"</Export-Package>
>                                               <!--each module can
>override these defaults in their osgi.bnd file-->
>                  
><_include>-osgi.bnd</_include>
>                                   </instructions>
>                        </configuration>
>            </plugin>
>            <!-- osgi - ipojo: meta.xml located in src>main>osgi>ipojo -->
>            <plugin>
>                        <groupId>org.apache.felix</groupId>
>                        <artifactId>maven-ipojo-plugin</artifactId>
>                        <version>1.4.2</version>
>                        <executions>
>                                   <execution>
>                                               <goals>
>                  
><goal>ipojo-bundle</goal>
>                                               </goals>
>                                               <configuration>
>                  
><metadata>src/main/osgi/ipojo/meta.xml</metadata>
>                                               </configuration>
>                                   </execution>
>                        </executions>
>            </plugin>
></plugins>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org


Re: using maven-ipojo-plugin in combination with the maven-war-plugin

Posted by Clement Escoffier <cl...@gmail.com>.
Hi,

Just a guess,
Did you try to execute the iPOJO plugin in a defined phase:
<plugin>
                        <groupId>org.apache.felix</groupId>
                        <artifactId>maven-ipojo-plugin</artifactId>
                        <version>1.4.2</version>
                        <executions>
                                   <execution>
                                               <goals>
                   
<goal>ipojo-bundle</goal>
                                               </goals>
            <phase>package</phase> <!-- define the phase -->
                                               <configuration>
                   
<metadata>src/main/osgi/ipojo/meta.xml</metadata>
                                               </configuration>
                                   </execution>
                        </executions>
            </plugin>



Still, I'm not sure this is possible with the current plugin, as I think,
we check the packaging. Tell me if it works with this 'phase', if not I
will try to see if we can add 'war' as supported packaging type

Regards,

Clement

On 16.12.10 17:54, "Lindley Andrew" <An...@ait.ac.at> wrote:

>I am trying to configure <artifactId>maven-ipojo-plugin</artifactId> to
>be used in combination with the <artifactId>maven-war-plugin</artifactId>
>The overall goal is to have a <packaging>war</packaging> which can also
>be exposed as a bundle.
>
>I have managed that the <maven-bundle-plugin> generates a manifest, which
>is picked up and included in the war. However the next step, using ipojo
>for handling the service and service instances isn't working. It's not
>being included in the manifest.
>
>Please find attached the relevant snapshots of my maven pom:
>
>Thanks for your support,
>Kr Andrew
>
><plugins>
>            <plugin>
>                        <groupId>org.apache.maven.plugins</groupId>
>                        <artifactId>maven-war-plugin</artifactId>
>                        <configuration>
>                  
><warSourceDirectory>web</warSourceDirectory>
>                                   <archive>
>                                               <!-- add the generated
>manifest of the osgi-bundle plugin to the war -->
>                  
><manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manif
>estFile>
>                                   </archive>
>                  
><webXml>src/main/web/WEB-INF/web.xml</webXml>
>                        </configuration>
>            </plugin>
>            <plugin>
>                        <!--
>                                   The goal here is to be able to use a
>different packaging type than "bundle", say "war" packaging, and still
>get benefits of the maven-bundle-plugin.
>                                   The major benefit is of course having
>the manifest being generated by the BND tool.
>                                   If your project is packaged as "war",
>you can still use the maven-bundle-plugin to generate the manifest if you
>add "war" to supportedProjectTypes:
>                                   -->
>                        <groupId>org.apache.felix</groupId>
>                        <artifactId>maven-bundle-plugin</artifactId>
>                        <version>2.1.0</version>
>                        <executions>
>                                   <execution>
>                                               <id>bundle-manifest</id>
>                  
><phase>process-classes</phase>
>                                               <goals>
>                  
><goal>manifest</goal>
>                                               </goals>
>                                   </execution>
>                        </executions>
>                        <extensions>true</extensions>
>                        <configuration>
>                                   <supportedProjectTypes>
>                  
><supportedProjectType>jar</supportedProjectType>
>                  
><supportedProjectType>bundle</supportedProjectType>
>                  
><supportedProjectType>war</supportedProjectType>
>                                   </supportedProjectTypes>
>                                   <instructions>
>                  
><Bundle-SymbolicName>Planets Service - JTidy</Bundle-SymbolicName>
>                  
><Bundle-Version>${pom.version}</Bundle-Version>
>                                               <!--assume public classes
>are in the top package, and private classes are under ".internal"-->
>                  
><Export-Package>eu.planets_project.services.migrate.jtidy.*;version="${pom
>.version}"</Export-Package>
>                                               <!--each module can
>override these defaults in their osgi.bnd file-->
>                  
><_include>-osgi.bnd</_include>
>                                   </instructions>
>                        </configuration>
>            </plugin>
>            <!-- osgi - ipojo: meta.xml located in src>main>osgi>ipojo -->
>            <plugin>
>                        <groupId>org.apache.felix</groupId>
>                        <artifactId>maven-ipojo-plugin</artifactId>
>                        <version>1.4.2</version>
>                        <executions>
>                                   <execution>
>                                               <goals>
>                  
><goal>ipojo-bundle</goal>
>                                               </goals>
>                                               <configuration>
>                  
><metadata>src/main/osgi/ipojo/meta.xml</metadata>
>                                               </configuration>
>                                   </execution>
>                        </executions>
>            </plugin>
></plugins>
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@felix.apache.org
For additional commands, e-mail: users-help@felix.apache.org