Sorry for the delay, had to complete internal tasks before handling this.

  I submitted https://ops4j1.jira.com/browse/PAXWEB-1099. Hope that helps.

Regards,
Nelson

On Wednesday, May 24, 2017 at 8:59:14 AM UTC+1, Achim Nierbeck wrote:
>
> done :) 
>
> 2017-05-24 0:39 GMT+02:00 Nelson Antunes <[email protected] 
> <javascript:>>:
>
>> Hi Achim,
>>
>>   I'll need a JIRA account, please.
>>
>>   As for the PR, I can do it as reference, but it was just a quick fix 
>> I've tried when digging a little bit on the issue.
>>   I'm not confident that it doesn't have any bad side effect.
>>
>>   For instance, if the servlet name can be anything and not necessarily a 
>> path, why all that trouble ensuring it doesn't end in a forward 
>> slash unless it is just "/"?
>>
>> -- Nelson --
>>
>> On Tuesday, May 23, 2017 at 7:53:51 PM UTC+1, Achim Nierbeck wrote:
>>>
>>> Hi Nelson, 
>>>
>>> do you care about creating an Issue for this and maybe provide a pull 
>>> request? 
>>> if needed, a jira user can be created. 
>>>
>>>
>>> regards, Achim 
>>>
>>> 2017-05-23 14:45 GMT+02:00 Nelson Antunes <[email protected]>:
>>>
>>>>   That call to registerResources in [1 
>>>> <https://github.com/ops4j/org.ops4j.pax.web/blob/web-3.2.9/pax-web-extender-whiteboard/src/main/java/org/ops4j/pax/web/extender/whiteboard/internal/element/ResourceWebElement.java#L56-L57>]
>>>>  
>>>> is part of the org.osgi.service.http.HttpService interface.
>>>>
>>>>   I noticed the servlet name (at least the one listed with the 
>>>> http:list command) is set here [2 
>>>> <https://github.com/ops4j/org.ops4j.pax.web/blob/web-3.2.9/pax-web-jetty/src/main/java/org/ops4j/pax/web/service/jetty/internal/JettyServerImpl.java#L219>]
>>>>  
>>>> (for Jetty).
>>>>   So I tried to modify that model name. [3 
>>>> <https://github.com/ops4j/org.ops4j.pax.web/blob/web-3.2.9/pax-web-runtime/src/main/java/org/ops4j/pax/web/service/internal/HttpServiceStarted.java#L253-L254>]
>>>>  
>>>> seemed a good place to try.
>>>>
>>>>   I changed it to:
>>>>
>>>> String modelName = "bundle:" + contextModel.getBundle().getBundleId();
>>>> if(!"/".equals(name)) {
>>>>  modelName += name;
>>>> }
>>>> final ResourceModel model = new ResourceModel(contextModel, servlet, 
>>>> alias, modelName );
>>>>
>>>>
>>>>   Now http:list show all the expected servlets and the resources are 
>>>> served from different bundles with the same internal resource paths.
>>>>   They also get correctly undeployed when stopping the bundles.
>>>>
>>>>   But I can't be sure of any side-effects.
>>>>
>>>>   (tested in tag web-3.2.9, but the code is still the same in the 
>>>> master branch)
>>>>
>>>> -- Nelson --
>>>>
>>>> [1] 
>>>> https://github.com/ops4j/org.ops4j.pax.web/blob/web-3.2.9/pax-web-extender-whiteboard/src/main/java/org/ops4j/pax/web/extender/whiteboard/internal/element/ResourceWebElement.java#L56-L57
>>>> [2] 
>>>> https://github.com/ops4j/org.ops4j.pax.web/blob/web-3.2.9/pax-web-jetty/src/main/java/org/ops4j/pax/web/service/jetty/internal/JettyServerImpl.java#L219
>>>> [3] 
>>>> https://github.com/ops4j/org.ops4j.pax.web/blob/web-3.2.9/pax-web-runtime/src/main/java/org/ops4j/pax/web/service/internal/HttpServiceStarted.java#L253-L254
>>>>
>>>>
>>>> On Thursday, February 23, 2017 at 9:14:01 PM UTC, Nick Baker wrote:
>>>>>
>>>>> Hello All,
>>>>>
>>>>> We're experiencing an issue with bundles supplying Resource mappings. 
>>>>> It appears that the internal path within the bundle is used as the 
>>>>> servlet 
>>>>> name [1]. Unfortunately, our teams love standards and conventions so 
>>>>> they're using a "web" folder for all bundles supplying Resources. This 
>>>>> was 
>>>>> discovered on 3.1.4 but I've verified that the situation still exists in 
>>>>> master.
>>>>>
>>>>> PAX-Web appropriately doesn't allow multiple servlets of the same name 
>>>>> so we're loosing some resources upon startup of Karaf. The short-term 
>>>>> solution for us was to ensure that each internal bundle path is unique. A 
>>>>> better solution would be to modify PAX to create a composite key of 
>>>>> bundle-id + path when creating the resource Servlet names. 
>>>>>
>>>>> [1] 
>>>>> https://github.com/ops4j/org.ops4j.pax.web/blob/master/pax-web-extender-whiteboard/src/main/java/org/ops4j/pax/web/extender/whiteboard/internal/element/ResourceWebElement.java#L57-L57
>>>>>
>>>>> -Nick Baker
>>>>>
>>>> -- 
>>>> -- 
>>>> ------------------
>>>> 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] <javascript:>
>>
>> --- 
>> 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] <javascript:>.
>> 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.

Reply via email to