ok, correct me if I am wrong....
in HttpContextTracker
(org.ops4j.pax.web.extender.whiteboard.internal.tracker)
HttpContextElement createHttpContextElement(final
ServiceReference<HttpContext> serviceReference, final HttpContext
published) {
String httpContextId =
ServicePropertiesUtils.getStringProperty(serviceReference,
ExtenderConstants.PROPERTY_HTTP_CONTEXT_ID);
String httpContextPath =
ServicePropertiesUtils.getStringProperty(serviceReference,
ExtenderConstants.PROPERTY_HTTP_CONTEXT_PATH);
those should not be using ExtenderConstants?
...
On Monday, June 19, 2017 at 7:11:20 PM UTC-4, Eben Stewart wrote:
>
> Sounds good... knowing the history, and the future dev plans, especially
> if they make it into the OSGI spec, is always good :D
>
> I'm taking from your comments that the ExtenderConstants are not long
> term? It would be better to have an HttpWhiteboardConstants way of doing
> it?
>
> I think all the annotations are there - I will look into seeing what I can
> do to contribute - still wrapping my head around it all, so I want to have
> a good understanding of how it's all *supposed* to work.
>
> On Monday, June 19, 2017 at 3:07:53 PM UTC-4, Achim Nierbeck wrote:
>>
>> Hi,
>>
>> thanks for the sample, will see to it.
>> regarding the comments/remarks, see my comments inline :)
>>
>> Achim
>>
>> 2017-06-19 14:50 GMT+02:00 Eben Stewart <[email protected]>:
>>
>>> Attached is a working example, the smallest I could get it (project is
>>> bndtools under Eclipse)
>>>
>>> A few points that threw me off, that did not seem clear at first
>>> (although they make sense now) - a lot of it had to do with the whiteboard
>>> extensions to get resources and jsp support - I am not aware if the OSGI
>>> spec even handles those concepts (although the WAR/WAB is). I do like this
>>> way better, as it doesn't make the bundle "special" in the way in handles
>>> servlets, jsps and resources... they are all just services.
>>>
>>
>> Just a bit of History, it might make the picture clearer for you.
>> The Pax Web Whiteboard extender exists since the WAR/WAB part has been
>> implemented, and at the time beeing that part also moved into the OSGi
>> spec. If you take a look at it, Pax Web and the Pax Url war URL-Handler are
>> part of the reference implementation for that part of the OSGi Spec.
>> So actually the Pax Web Whiteboard extension mechanism is "pretty" old :)
>> About 2 years ago an Whiteboard extender mechanism had been added to the
>> OSGi spec, so we working on Pax Web tried to adapt the existing code to the
>> new spec.
>>
>>
>>>
>>> 1) The use of HttpContextMapping
>>>
>>> - There is no default implementation of this, like JspMapping and
>>> ResourceMapping, so also cannot use annotations to initialize?
>>> - How to use HttpContextMapping, DefaultHttpContext (or shared), and
>>> still be able to get to handleSecurity()
>>>
>>>
>> You can retrieve a DefaultHttpContext Instance from the HttpService (or
>> WebContainer Service), register it as your own HttpContext. Maybe that
>> helps to what your are looking for?
>>
>>
>>> 2) No DefaultHttpContext (that can be extended as an annotated Service)
>>>
>>> - DefaultHttpContext is package private, so there is no "automatic"
>>> way to wire in a custom HttpContext (for the handleSecurity() method)
>>> without doing a lot of boilerplate coding to get the service, create the
>>> context, etc. Since the DefaultHttpContext handles the getResource()
>>> correctly in this scenario, it would be nice to be able to extend this
>>> class, and get it wired in via annotations.
>>> - I think what I was expecting was to have something similar to
>>> JspMapping or ResourceMapping that allowed me to specify path and
>>> contextID
>>> as annotations, and have the default getResources() handler, while being
>>> able to override the getSecurity()
>>>
>>>
>>>
>> Sounds like a new feature, this in itself it worthy a new Issue, oh and
>> we do love contributions ;)
>>
>>
>>> 3) Required use of "ExtenderConstants.PROPERTY_HTTP_CONTEXT_ID" instead
>>> of "HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT" in Servlets
>>>
>>> - Could not get the context selector to work - only the Extender
>>> property correctly maps the servlet to the context, as created by
>>> HttpContextMapping
>>>
>>>
>> See above, about us trying to form the existing Whiteboard extender into
>> the specified one by the OSGi Spec, so this could be a bug :)
>>
>>
>>> 4) JspMapping and ResourceMapping cannot use annotations to initialize
>>>
>>> - Tried using the ExtenderConstants.PROPERTY_HTTP_CONTEXT_ID
>>> annotation property - won't work - had expected to use Whiteboard, or
>>> Whiteboard-like annotations
>>> - Initializing in the constructor does work
>>>
>>> Sounds like another feature request.
>>
>>
>>
>>> Hope all this makes sense - not sure how to translate this into a JIRA
>>> bug or feature request.
>>>
>>
>> Makes a lot of sense now, you could open different issues / feature
>> requests for those. Oh and we do love contributions, if I didn't tell you
>> that before :)
>>
>>
>>>
>>> In the end, I have a workaround, and a sample you might be able to use
>>> to make the scenario more clear, so that it might help others.
>>>
>>
>> yeah, thanks will form a sample out of it, so we can actually use it as a
>> reference for the integration tests for those issues/bugs/feature request
>> you'll create ;)
>>
>>>
>>> On Saturday, June 17, 2017 at 3:42:51 PM UTC-4, Achim Nierbeck wrote:
>>>>
>>>> Hi,
>>>>
>>>> thanks, sounds like a good idea.
>>>> Yep, that's a standard scenario, so it could be a bug you found,
>>>> especially since the non OSGi spec whiteboard properties seem to work.
>>>>
>>>> regards, Achim
>>>>
>>>>
>>>> 2017-06-17 17:17 GMT+02:00 Eben Stewart <[email protected]>:
>>>>
>>>>> Sure... let me get something stripped down to the essentials....
>>>>>
>>>>> Maybe show how I got it to work, and how I would have expected it to
>>>>> work, given the current docs? Esp if I can get it working with all
>>>>> annotations (via annotations on JspMapping and ResourceMapping classes) -
>>>>> no Activator class,
>>>>>
>>>>> I don't know if it's necessarily a bug, but rather a disconnect or
>>>>> clarification (possibly just in documentation/samples).
>>>>>
>>>>> At a minimum, it might make a good basis for a sample? I can't be the
>>>>> only one trying to do a Servlet->forward to JSP->Custom tags in jsp.
>>>>> Pretty standard scenario.
>>>>>
>>>>> On Friday, June 16, 2017 at 4:27:52 PM UTC-4, Achim Nierbeck wrote:
>>>>>>
>>>>>> Ok,
>>>>>>
>>>>>> maybe you can provide a little test project, we could use it as a
>>>>>> sample and as foundation for an integration test.
>>>>>> Sounds like you have a special condition we don't have covered right
>>>>>> now.
>>>>>> So it might be a bug.
>>>>>>
>>>>>> regards, Achim
>>>>>>
>>>>>>
>>>>>> 2017-06-16 22:06 GMT+02:00 Eben Stewart <[email protected]>:
>>>>>>
>>>>>>> I'm using 6.0.6.snapshot
>>>>>>>
>>>>>>> On Friday, June 16, 2017 at 3:10:56 PM UTC-4, Achim Nierbeck wrote:
>>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> are you looking for this?
>>>>>>>>
>>>>>>>> https://github.com/ops4j/org.ops4j.pax.web/blob/master/samples/whiteboard-ds/src/main/java/org/ops4j/pax/web/samples/whiteboard/ds/WhiteboardServletWithContext.java
>>>>>>>>
>>>>>>>> That should work, which version of Pax Web are you using?
>>>>>>>>
>>>>>>>> regards, Achim
>>>>>>>>
>>>>>>>>
>>>>>>>> 2017-06-16 20:25 GMT+02:00 Eben Stewart <[email protected]>:
>>>>>>>>
>>>>>>>>> One step further....
>>>>>>>>>
>>>>>>>>> This works:
>>>>>>>>>
>>>>>>>>> final HttpContextMapping httpContextMapping = new
>>>>>>>>> HttpContextMapping() {
>>>>>>>>>
>>>>>>>>> static final String HTTP_CONTEXT_ID = "customContext";
>>>>>>>>>
>>>>>>>>> @Override
>>>>>>>>> public String getHttpContextId() {
>>>>>>>>> return HTTP_CONTEXT_ID;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> @Override
>>>>>>>>> public String getPath() {
>>>>>>>>> return "customContext";
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> @Override
>>>>>>>>> public Map<String, String> getParameters() {
>>>>>>>>> return null;
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> @Override
>>>>>>>>> public HttpContext getHttpContext() {
>>>>>>>>> return null;
>>>>>>>>> }
>>>>>>>>> };
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Adding that, as well as calling setHttpContextId("customContext")
>>>>>>>>> on both the resourceMapping and jspMapping.
>>>>>>>>>
>>>>>>>>> A servlet also works, but only if I set
>>>>>>>>>
>>>>>>>>> ExtenderConstants.PROPERTY_HTTP_CONTEXT_ID
>>>>>>>>>
>>>>>>>>> instead of
>>>>>>>>>
>>>>>>>>> HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT
>>>>>>>>>
>>>>>>>>> Is this expected behavior?
>>>>>>>>>
>>>>>>>>> On Friday, June 16, 2017 at 11:19:00 AM UTC-4, Eben Stewart wrote:
>>>>>>>>>>
>>>>>>>>>> Ok, still trying to narrow this down to just the JSP
>>>>>>>>>> functionality....
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> What I am trying to accomplish:
>>>>>>>>>> 1) As many DS-based classes, keeping to OSGI standard annotations
>>>>>>>>>> as much as possible
>>>>>>>>>> 2) use of @Component instead of @WebServlet, so that wiring to
>>>>>>>>>> OSGI components can be done in the servlets using primarily
>>>>>>>>>> annotations
>>>>>>>>>> (since @WebServlet are not OSGI components, they are not included in
>>>>>>>>>> the
>>>>>>>>>> lifecycle - DS annotations do not work)
>>>>>>>>>> 3) must be able to have separate web context roots for multiple
>>>>>>>>>> applications on one server
>>>>>>>>>> 4) and JSPs, preferably with custom tags (using on-the-fly
>>>>>>>>>> compiling w/Jasper)
>>>>>>>>>>
>>>>>>>>>> Here's a real simple setup: a single jsp (/index.jsp) that
>>>>>>>>>> references the tag "layout.tag" in /WEB-INF/tags - NOT tlds
>>>>>>>>>>
>>>>>>>>>> A single Activator class with this start() method:
>>>>>>>>>>
>>>>>>>>>> public void start(final BundleContext bundleContext) throws
>>>>>>>>>> Exception {
>>>>>>>>>> final DefaultResourceMapping rootResourceMapping = new
>>>>>>>>>> DefaultResourceMapping();
>>>>>>>>>> rootResourceMapping.setAlias("/");
>>>>>>>>>> rootResourceMapping.setPath("");
>>>>>>>>>> rootResourceMappingRegistration =
>>>>>>>>>> bundleContext.registerService(ResourceMapping.class,
>>>>>>>>>> rootResourceMapping,
>>>>>>>>>> null);
>>>>>>>>>>
>>>>>>>>>> final DefaultJspMapping jspMapping = new DefaultJspMapping();
>>>>>>>>>> jspMappingRegistration =
>>>>>>>>>> bundleContext.registerService(JspMapping.class, jspMapping, null);
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> in root of bundle:
>>>>>>>>>>
>>>>>>>>>> - index.jsp
>>>>>>>>>> - WEB-INF
>>>>>>>>>> - tags
>>>>>>>>>> layout.tag
>>>>>>>>>>
>>>>>>>>>> This all works as expected. localhost:8080/index.jsp properly
>>>>>>>>>> shows the jsp page, including the proper use of the custom tag.
>>>>>>>>>>
>>>>>>>>>> I guess the real question is, how do you properly setup a custom
>>>>>>>>>> context root via HttpContext, without the use of a war?
>>>>>>>>>>
>>>>>>>>>> What's the best practice for getting JSPs to work under a
>>>>>>>>>> different ContextRoot (as this also affects session cookie paths)?
>>>>>>>>>> How
>>>>>>>>>> would I modify this start() to associate a context root so it works
>>>>>>>>>> under
>>>>>>>>>> http://localhost:8080/customcontext/index.jsp?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Friday, June 16, 2017 at 7:09:56 AM UTC-4, Achim Nierbeck
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Ahh .. I already thought you would be running a war project.
>>>>>>>>>>> Good to know that that is actually working.
>>>>>>>>>>> In your case you need to make sure you also have registered the
>>>>>>>>>>> taglibs as resources to your project.
>>>>>>>>>>> Take a look at [1], it should be similar.
>>>>>>>>>>> If that still doesn't seem to work we might hit a bug or
>>>>>>>>>>> something we didn't test yet fully.
>>>>>>>>>>>
>>>>>>>>>>> regards, Achim
>>>>>>>>>>>
>>>>>>>>>>> [1] -
>>>>>>>>>>> https://github.com/ops4j/org.ops4j.pax.web/tree/master/samples/helloworld-jsp
>>>>>>>>>>>
>>>>>>>>>>> 2017-06-15 23:06 GMT+02:00 Eben Stewart <[email protected]>:
>>>>>>>>>>>
>>>>>>>>>>>> So it seems a little bit more narrow - it *does* work, but only
>>>>>>>>>>>> when Web-ContextPath is specified in the Manifest (therefore
>>>>>>>>>>>> acting as a
>>>>>>>>>>>> war?)
>>>>>>>>>>>>
>>>>>>>>>>>> However, if using Whiteboard-DS, this is not used, instead a
>>>>>>>>>>>> ServletContextHelper with a
>>>>>>>>>>>> HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH set is used.
>>>>>>>>>>>> It will
>>>>>>>>>>>> compile the JSP just fine in the context path, but not find the
>>>>>>>>>>>> .tag file
>>>>>>>>>>>> in the tags directory.
>>>>>>>>>>>>
>>>>>>>>>>>> Or I am configuring/thinking about this the wrong way, which is
>>>>>>>>>>>> certainly plausible.
>>>>>>>>>>>>
>>>>>>>>>>>> Would it be helpful to attach the project zip?
>>>>>>>>>>>>
>>>>>>>>>>>> On Thursday, June 15, 2017 at 2:06:44 PM UTC-4, Achim Nierbeck
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> hmmm ... guess we need to take a closer look at it.
>>>>>>>>>>>>> could you open an issue for that?
>>>>>>>>>>>>>
>>>>>>>>>>>>> regards, Achim
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2017-06-15 19:49 GMT+02:00 Eben Stewart <[email protected]
>>>>>>>>>>>>> >:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I tried that - Jasper compiler complains about the path not
>>>>>>>>>>>>>> starting with /WEB-INF/
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thursday, June 15, 2017 at 11:20:48 AM UTC-4, Achim
>>>>>>>>>>>>>> Nierbeck wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I'm not sure, the only thing that crosses my mind right now
>>>>>>>>>>>>>>> would be the / before the WEB-INF,
>>>>>>>>>>>>>>> could you give it a try without the slash?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> If that still doesn't work out, please open an issue at pax
>>>>>>>>>>>>>>> web for that.
>>>>>>>>>>>>>>> OTH might want to checkout how the jsf and the primefaces
>>>>>>>>>>>>>>> samples are doing this. [1]
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> regards, Achim
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> [1] -
>>>>>>>>>>>>>>> https://github.com/ops4j/org.ops4j.pax.web/tree/master/samples/war-jsf-primefaces
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 2017-06-14 20:57 GMT+02:00 Eben Stewart <
>>>>>>>>>>>>>>> [email protected]>:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Very simple example... tried this under standard WAR/Tomcat
>>>>>>>>>>>>>>>> environment, and it works fine.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> In pax-web, using extended DefaultJspMapping class for
>>>>>>>>>>>>>>>> JSPs, directory structure of jar shows index.jsp in the root,
>>>>>>>>>>>>>>>> and layout.tag
>>>>>>>>>>>>>>>> in /WEB-INF/tags. It definitely sees the jsps (with the
>>>>>>>>>>>>>>>> custom tag, they
>>>>>>>>>>>>>>>> work fine)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> index.jsp:
>>>>>>>>>>>>>>>> <!DOCTYPE html>
>>>>>>>>>>>>>>>> <%@taglib prefix="my" tagdir="/WEB-INF/tags"%>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> <my:layout>
>>>>>>>>>>>>>>>> <jsp:attribute name="body">
>>>>>>>>>>>>>>>> <div>
>>>>>>>>>>>>>>>> Test
>>>>>>>>>>>>>>>> </div>
>>>>>>>>>>>>>>>> </jsp:attribute>
>>>>>>>>>>>>>>>> </my:layout>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> /WEB-INF/tags/layout.tag:
>>>>>>>>>>>>>>>> <!DOCTYPE html>
>>>>>>>>>>>>>>>> <%@tag description="LayoutTemplate" pageEncoding="UTF-8"%>
>>>>>>>>>>>>>>>> <%@attribute name="body" fragment="true" %>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> <html>
>>>>>>>>>>>>>>>> <body>
>>>>>>>>>>>>>>>> <jsp:invoke fragment="body"/>
>>>>>>>>>>>>>>>> </body>
>>>>>>>>>>>>>>>> </html>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> However, when I attempt to load the page:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> org.apache.jasper.JasperException: /index.jsp (line: 4,
>>>>>>>>>>>>>>>> column: 0) No tag "layout" defined in tag library imported
>>>>>>>>>>>>>>>> with prefix "my"
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Am I missing a directive somewhere?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> ------------------
>>>>>>>>>>>>>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> ---
>>>>>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>>>>>> Google Groups "OPS4J" group.
>>>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails
>>>>>>>>>>>>>>>> from it, send an email to [email protected].
>>>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Apache Member
>>>>>>>>>>>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>>>>>>>>>>>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
>>>>>>>>>>>>>>> Committer & Project Lead
>>>>>>>>>>>>>>> blog <http://notizblog.nierbeck.de/>
>>>>>>>>>>>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Software Architect / Project Manager / Scrum Master
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> ------------------
>>>>>>>>>>>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ---
>>>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>>>> Google Groups "OPS4J" group.
>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>>
>>>>>>>>>>>>> Apache Member
>>>>>>>>>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>>>>>>>>>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
>>>>>>>>>>>>> Committer & Project Lead
>>>>>>>>>>>>> blog <http://notizblog.nierbeck.de/>
>>>>>>>>>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Software Architect / Project Manager / Scrum Master
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>> --
>>>>>>>>>>>> ------------------
>>>>>>>>>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>>>>>>>>>
>>>>>>>>>>>> ---
>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>> Google Groups "OPS4J" group.
>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>>
>>>>>>>>>>> Apache Member
>>>>>>>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>>>>>>>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
>>>>>>>>>>> Committer & Project Lead
>>>>>>>>>>> blog <http://notizblog.nierbeck.de/>
>>>>>>>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>>>>>>>>>>>
>>>>>>>>>>> Software Architect / Project Manager / Scrum Master
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>> --
>>>>>>>>> ------------------
>>>>>>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>>>>>>
>>>>>>>>> ---
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "OPS4J" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to [email protected].
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>>
>>>>>>>> Apache Member
>>>>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>>>>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/>
>>>>>>>> Committer & Project Lead
>>>>>>>> blog <http://notizblog.nierbeck.de/>
>>>>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>>>>>>>>
>>>>>>>> Software Architect / Project Manager / Scrum Master
>>>>>>>>
>>>>>>>> --
>>>>>>> --
>>>>>>> ------------------
>>>>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>>>>
>>>>>>> ---
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "OPS4J" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> Apache Member<br
>>>>>>
>>>>>
--
--
------------------
OPS4J - http://www.ops4j.org - [email protected]
---
You received this message because you are subscribed to the Google Groups
"OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.