Hi Peter,

I provided a pull request.
The issue is actually a wrong resource.pattern, it needs to be only
/resource without the trailing /*
after that the resources did work correctly.

Regarding PAXWEB-1077 it's still open and will take a bit.
It's especially annoying as an update or restart of such a bundle doesn't
work.

regards, Achim


2017-04-13 18:36 GMT+02:00 Peter Schyma <peter.sch...@udo.edu>:

> Please find the simplyfied demo at https://github.com/pschyma/
> servlet-context-test
>
> It's a Gradle build, hope this is ok.
>
> A strange observation regarding PAXWEB-1077 -I'm not sure whether my
> problem is related to this-, but when I remove the context selector from
> the resources registration then PAXWEB-1077 is not triggered, when I
> restart the bundle.
>
> Greetings,
> Peter
>
>
>
> Am Donnerstag, 13. April 2017 17:52:44 UTC+2 schrieb Achim Nierbeck:
>>
>> sorry but these provided sources are really hard to read :/
>>
>> do you have a link to the sources, like a github repo?
>>
>> regards, Achim
>>
>>
>> 2017-04-13 17:43 GMT+02:00 Peter Schyma <peter....@udo.edu>:
>>
>>> Hi,
>>>
>>> I'm trying to register resources via DS in a shared servlet context but
>>> the registered ServletContextHelper is called with strange resource name
>>> parameter values.
>>>
>>> @Component(
>>>   service = Object.class,
>>>   scope = ServiceScope.PROTOTYPE,
>>>   property = {
>>>     HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PREFIX + "=/web",
>>>     HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PATTERN + 
>>> "=/resources/*",
>>>     DemoServletContext.CONTEXT_SERVICE_SELECTOR
>>>   }
>>> )
>>> public class DemoResourceService {
>>>   // nothing to implement
>>> }
>>>
>>> Code hier eingeben...
>>>
>>> @Component(
>>>   service = ServletContextHelper.class,
>>>   scope = ServiceScope.BUNDLE,
>>>   property = {
>>>     HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=" + 
>>> DemoServletContext.NAME,
>>>     HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH + "=/demo",
>>>   }
>>> )
>>> public class DemoServletContext
>>>   extends ServletContextHelper {
>>>
>>>   private static final Logger LOGGER = 
>>> LoggerFactory.getLogger(DemoServletContext.class);
>>>
>>>
>>>   public static final String NAME = "demo-ctx";
>>>
>>>
>>>   public static final String CONTEXT_SERVICE_SELECTOR = 
>>> HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT +
>>>     "=(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=" + 
>>> DemoServletContext.NAME + ")";
>>>
>>>
>>>   private ServletContextHelper delegate;
>>>
>>>
>>>   @Activate
>>>   public void activate(BundleContext bundleContext) {
>>>     delegate = new ServletContextHelper(bundleContext.getBundle()) {
>>>     };
>>>   }
>>>
>>>
>>>   @Override
>>>   public URL getResource(String name) {
>>>     LOGGER.info("requested resource: {}", name);
>>>     return delegate.getResource(name);
>>>   }
>>>
>>>
>>>   @Override
>>>   public String getMimeType(String name) {
>>>     return delegate.getMimeType(name);
>>>   }
>>>
>>>
>>>   @Override
>>>   public Set<String> getResourcePaths(String path) {
>>>     return delegate.getResourcePaths(path);
>>>   }
>>>
>>>
>>>   @Override
>>>   public String getRealPath(String path) {
>>>     return delegate.getRealPath(path);
>>>   }
>>>
>>> }
>>>
>>>
>>> Using this simple setup and issuing a request for "
>>> http://localhost:8181/demo/resources/demo.html"; prints "requested
>>> resource: //webdemo.html" in Karaf.
>>>
>>> I tested this with Karaf 4.1.1 and Pax Web 6.1.0-SNAPSHOT.
>>>
>>> Removing the context selector does not make the resources accessible at "
>>> http://localhost:8181/resources/demo.html";. I don't see any output
>>> related to looking up the file. Accessing /resources/ emits following in
>>> the log:
>>> 2017-04-13 17:35:22,994 | DEBUG | tp1929020177-132 | DefaultHttpContext
>>>               | 240 - org.ops4j.pax.web.pax-web-runtime - 6.1.0.SNAPSHOT
>>> | Searching bundle [servlet-context-test [242]] for resource [web]
>>> 2017-04-13 17:35:22,994 | DEBUG | tp1929020177-132 | DefaultHttpContext
>>>               | 240 - org.ops4j.pax.web.pax-web-runtime - 6.1.0.SNAPSHOT
>>> | Searching bundle [servlet-context-test [242]] for resource [web/index.
>>> html]
>>> 2017-04-13 17:35:22,994 | DEBUG | tp1929020177-132 | DefaultHttpContext
>>>               | 240 - org.ops4j.pax.web.pax-web-runtime - 6.1.0.SNAPSHOT
>>> | Searching bundle [servlet-context-test [242]] for resource [web/index.
>>> jsp]
>>>
>>> Am I missing something?
>>>
>>> Thanks
>>> Peter
>>>
>>> --
>>> --
>>> ------------------
>>> OPS4J - http://www.ops4j.org - op...@googlegroups.com
>>>
>>> ---
>>> 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 ops4j+un...@googlegroups.com.
>>> 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 - ops4j@googlegroups.com
>
> ---
> 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 ops4j+unsubscr...@googlegroups.com.
> 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 - ops4j@googlegroups.com

--- 
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 ops4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to