Hi, they actually should use the extender constants, but also the new HttpWhiteboardConstants :)
regards, Achim 2017-06-20 2:22 GMT+02:00 Eben Stewart <[email protected]>: > 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/sampl >>>>>>>>> es/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. > -- 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.
