Just downloaded the latest. So far so good. Will report back if I find any 
issues...

On Tuesday, September 27, 2022 at 12:01:41 AM UTC-5 gr.gr...@gmail.com 
wrote:

> Hello
>
> I plan a release very soon. But in the meantime you can test if it works 
> for you ;)
>
> I just saw new Tomcat release, which I want to include, but the release 
> should be ready this week.
>
> There were some TCCL related issues (one fixed, caused two other issues, 
> then reverted), but it's fine now ;)
>
> regards
> Grzegorz Grzybek
>
> pon., 26 wrz 2022 o 18:50 dave....@candata.com <dave....@candata.com> 
> napisał(a):
>
>> I see you have committed a fix. Are you planning a release? Or should I 
>> build from source to test?
>>
>> Dave
>>
>> On Tuesday, September 20, 2022 at 6:37:43 AM UTC-5 dave....@candata.com 
>> wrote:
>>
>>> As I suspected tuning on the  debugging added extra delays and thus I am 
>>> now able to get logs where it works and does not. I will move the 
>>> conversation to the ticket. I have updated it with logs from 2 runs. One 
>>> where it starts successfully and one where it drops the servlet. Looks like 
>>> we have a nasty threading bug ...
>>>
>>> Dave
>>>
>>> On Tue, Sep 20, 2022 at 5:00 AM Grzegorz Grzybek <gr.gr...@gmail.com> 
>>> wrote:
>>>
>>>> I've changed the activator, so the servlet is registered 400ms before 
>>>> the context - consistently the test passes when invoking the servlet - the 
>>>> new context is ALWAYS used and I see this in logs:
>>>>
>>>> 11:57:22.032 [paxweb-config-1-thread-1] INFO 
>>>>  (HttpServiceEnabled.java:592) 
>>>> org.ops4j.pax.web.service.internal.HttpServiceEnabled - Unregistering 
>>>> servlet model 
>>>> "ServletModel{id=ServletModel-2,name='whiteboard-servlet',urlPatterns=[/wb/*],contexts=[{WB,OCM-1,default,/}]}"
>>>> ...
>>>> 11:57:22.039 [main] DEBUG (WhiteboardExtenderContext.java:494) 
>>>> org.ops4j.pax.web.extender.whiteboard.internal.WhiteboardExtenderContext - 
>>>> Registering 
>>>> ServletModel{id=ServletModel-2,name='whiteboard-servlet',urlPatterns=[/wb/*],contexts=[{WB,OCM-5,default,/}]}
>>>>  
>>>> *again after its context selection filter matched new set of contexts*
>>>>
>>>> kind regards
>>>> Grzegorz Grzybek
>>>>
>>>> wt., 20 wrz 2022 o 11:53 Grzegorz Grzybek <gr.gr...@gmail.com> 
>>>> napisał(a):
>>>>
>>>>> Please check the activator I used: 
>>>>> https://github.com/ops4j/org.ops4j.pax.web/commit/c4efc95ebe1e5ecd4d7763f3f04267f9213a845d#diff-c7a6d3e304fd5dd93a853e2d86a1f1ea390f1f1d313691af2854a63b527ccaa4
>>>>>
>>>>> regards
>>>>> Grzegorz Grzybek
>>>>>
>>>>> wt., 20 wrz 2022 o 11:43 Grzegorz Grzybek <gr.gr...@gmail.com> 
>>>>> napisał(a):
>>>>>
>>>>>> Anyway, I've created a Pax Web issue at 
>>>>>> https://github.com/ops4j/org.ops4j.pax.web/issues/1769, so we can 
>>>>>> continue the discussion there.
>>>>>>
>>>>>> regards
>>>>>> Grzegorz Grzybek
>>>>>>
>>>>>> wt., 20 wrz 2022 o 09:44 Grzegorz Grzybek <gr.gr...@gmail.com> 
>>>>>> napisał(a):
>>>>>>
>>>>>>> Hello Dave
>>>>>>>
>>>>>>> Your logs are really helpful, I've found (in some.txt) that a 
>>>>>>> servlet named "com.candatag.repository.servlet.RepoMenu" is registered 
>>>>>>> into 
>>>>>>> OCM-3 (/admin):
>>>>>>>
>>>>>>> [paxweb-config-1-thread-1] INFO 
>>>>>>> org.ops4j.pax.web.service.internal.HttpServiceEnabled - Registering 
>>>>>>> ServletModel{id=ServletModel-9,name='com.candatag.repository.servlet.RepoMenu',urlPatterns=[/repo],contexts=[{WB,OCM-3,com.candatag.web.security.admin.services.AdminWebSecurity,/admin}]}
>>>>>>>
>>>>>>> but only later this OCM-3 is passed to Jetty:
>>>>>>>
>>>>>>> [paxweb-config-1-thread-1] INFO 
>>>>>>> org.ops4j.pax.web.service.jetty.internal.JettyServerController - 
>>>>>>> Receiving 
>>>>>>> Batch{"Registration of 
>>>>>>> OsgiContextModel{WB,id=OCM-3,name='com.candatag.web.security.admin.services.AdminWebSecurity',path='/admin',bundle=com.candatag.web.security.admin,ref={org.osgi.service.http.context.ServletContextHelper,
>>>>>>>  
>>>>>>> com.candatag.web.security.admin.services.AdminWebSecurity}={
>>>>>>> service.id=55, 
>>>>>>> osgi.http.whiteboard.context.name=com.candatag.web.security.admin.services.AdminWebSecurity,
>>>>>>>  
>>>>>>> service.bundleid=18, service.scope=bundle, 
>>>>>>> component.name=com.candatag.web.security.admin.zoo.impl.AdminContext, 
>>>>>>> osgi.http.whiteboard.context.path=/admin, component.id=21}}", 
>>>>>>> size=2}
>>>>>>> [paxweb-config-1-thread-1] INFO 
>>>>>>> org.ops4j.pax.web.service.jetty.internal.JettyServerWrapper - Creating 
>>>>>>> new 
>>>>>>> Jetty context for 
>>>>>>> ServletContextModel{id=ServletContextModel-12,contextPath='/admin'}
>>>>>>> [paxweb-config-1-thread-1] INFO 
>>>>>>> org.ops4j.pax.web.service.jetty.internal.JettyServerWrapper - Adding 
>>>>>>> OsgiContextModel{WB,id=OCM-3,name='com.candatag.web.security.admin.services.AdminWebSecurity',path='/admin',bundle=com.candatag.web.security.admin,ref={org.osgi.service.http.context.ServletContextHelper,
>>>>>>>  
>>>>>>> com.candatag.web.security.admin.services.AdminWebSecurity}={
>>>>>>> service.id=55, 
>>>>>>> osgi.http.whiteboard.context.name=com.candatag.web.security.admin.services.AdminWebSecurity,
>>>>>>>  
>>>>>>> service.bundleid=18, service.scope=bundle, 
>>>>>>> component.name=com.candatag.web.security.admin.zoo.impl.AdminContext, 
>>>>>>> osgi.http.whiteboard.context.path=/admin, component.id=21}} to 
>>>>>>> o.o.p.w.s.j.i.PaxWebServletContextHandler@48beedf5{/admin,null,STOPPED}
>>>>>>>
>>>>>>> I'll ensure that this doesn't lead to problems.
>>>>>>>
>>>>>>> I'll check further, bu if you could please set DEBUG log level for 
>>>>>>> entire "org.ops4j.pax.web" logger and add timestamps, we'd get more 
>>>>>>> information.
>>>>>>>
>>>>>>> In server.txt I think everything looks fine though (if I read the 
>>>>>>> DTOs correctly):
>>>>>>>
>>>>>>> Servlet Context {"name":"default", "contextPath":"/", ..., 
>>>>>>> "serviceId":39, "servletDTOs":[{"patterns":["/osgi/started"], ..., 
>>>>>>> "name":"com.candatag.k8s.zoo.servlet.ReadyProbe", ...], ...}
>>>>>>>  - {"patterns":["/osgi/started"], ..., 
>>>>>>> "name":"com.candatag.k8s.zoo.servlet.ReadyProbe", ...}
>>>>>>>
>>>>>>> Servlet Context {"name":"default", "contextPath":"/", ..., 
>>>>>>> "serviceId":0, "servletDTOs":[], ...}
>>>>>>>  - <no servlets>
>>>>>>>
>>>>>>> Servlet Context 
>>>>>>> {"name":"com.candatag.web.security.admin.services.AdminWebSecurity", 
>>>>>>> "contextPath":"/admin", ..., "serviceId":40, "servletDTOs":[
>>>>>>>  - {"patterns":["/repo/localservice/console/services/view"], ..., 
>>>>>>> "name":"com.candatag.osgi.console.servlet.ViewService", ...},
>>>>>>>  - {"patterns":["/repo/localservice/console/services"], ..., 
>>>>>>> "name":"com.candatag.osgi.console.servlet.Services", ...},
>>>>>>>  - {"patterns":["/repo/localservice/console/services/check"], ..., 
>>>>>>> "name":"com.candatag.osgi.console.servlet.SystemCheck", ...},
>>>>>>>  - {"patterns":["/repo/localservice/console/run"], ..., 
>>>>>>> "name":"com.candatag.osgi.console.servlet.RunService", }
>>>>>>> ], ...}
>>>>>>>
>>>>>>> so "/osgi/started" servlet is registered to "/" context, which is 
>>>>>>> (from Whiteboard point of view) "backed" by OCM-3 (serviceId=39) - the 
>>>>>>> one 
>>>>>>> registered by you, not the default one from pax-web-extender-whiteboard.
>>>>>>>
>>>>>>> However, in "some.txt", I see what I mentioned - that a servlet 
>>>>>>> registration is being handled before OCM-3 is processed. Indeed, in 
>>>>>>> code, 
>>>>>>> the OsgiContextModel is added to Whiteboard internal structures, before 
>>>>>>> it's passed further. And in between, a servlet may refer to it. 
>>>>>>> Checking.
>>>>>>>
>>>>>>> regards
>>>>>>> Grzegorz Grzybek
>>>>>>>
>>>>>>>
>>>>>>> pon., 19 wrz 2022 o 21:36 Dave Smith <dave....@candata.com> 
>>>>>>> napisał(a):
>>>>>>>
>>>>>>>> Never responds to the GET request.  I have a helper method that 
>>>>>>>> displays the ServletDTO. It does not show up there either. It does 
>>>>>>>> seem to 
>>>>>>>> be a timing issue. 
>>>>>>>>
>>>>>>>> I have attached a couple of log dumps. The checks of the DTO (They 
>>>>>>>> are the last lines of the log entries) happen about 10 seconds after 
>>>>>>>> the 
>>>>>>>> container starts. 
>>>>>>>> In server.txt there is one servlet that gets dropped from the new 
>>>>>>>> default context
>>>>>>>> In some.txt there are 2 servlets that get dropped and then there 
>>>>>>>> are 2 that are registered successfully . 
>>>>>>>>
>>>>>>>>  Dave
>>>>>>>>
>>>>>>>> On Mon, Sep 19, 2022 at 2:06 PM Grzegorz Grzybek <
>>>>>>>> gr.gr...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hi. See inline
>>>>>>>>>
>>>>>>>>> pon., 19 wrz 2022 o 20:21 Dave Smith <dave....@candata.com> 
>>>>>>>>> napisał(a):
>>>>>>>>>
>>>>>>>>>> I have been doing a little more testing. I have an activator 
>>>>>>>>>> method like this ...
>>>>>>>>>>
>>>>>>>>>> Thread context = new Thread(()->{
>>>>>>>>>> Hashtable<String, Object> aDic = new Hashtable<>();
>>>>>>>>>> aDic.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME, 
>>>>>>>>>> "default");
>>>>>>>>>> aDic.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH, 
>>>>>>>>>> "/");
>>>>>>>>>> aDic.put(Constants.SERVICE_RANKING,Integer.MAX_VALUE);
>>>>>>>>>> ctx.registerService(ServletContextHelper.class, new 
>>>>>>>>>> DefaultContxt(), aDic);
>>>>>>>>>>
>>>>>>>>>> });
>>>>>>>>>>
>>>>>>>>>> CountDownLatch latch = new CountDownLatch(1);
>>>>>>>>>> Thread s2 = new Thread(()->{
>>>>>>>>>>
>>>>>>>>>> Hashtable<String, Object> aDic = new Hashtable<>();
>>>>>>>>>> aDic.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, 
>>>>>>>>>> "test2");
>>>>>>>>>> aDic.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, 
>>>>>>>>>> "/test2");
>>>>>>>>>> ctx.registerService(Servlet.class, new TestServlet("Test 2"), 
>>>>>>>>>> aDic);
>>>>>>>>>> latch.countDown();
>>>>>>>>>> });
>>>>>>>>>>
>>>>>>>>>> s2.start();
>>>>>>>>>> latch.await();
>>>>>>>>>> Thread.sleep(400);
>>>>>>>>>> context.start();
>>>>>>>>>>
>>>>>>>>>> On my machine any value where sleep is <400 the context is always 
>>>>>>>>>> started first otherwise the servlet gets started first and gets 
>>>>>>>>>> unresgtered 
>>>>>>>>>> and re-registered into the new context. I am guessing it takes 
>>>>>>>>>> longer to 
>>>>>>>>>> init the servlet and I wonder if the Context is getting updated 
>>>>>>>>>> during the 
>>>>>>>>>> servlet init process. (That is what it would seem like from the 
>>>>>>>>>> logs)...
>>>>>>>>>>
>>>>>>>>>> Let me know if you need any more info ...
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I'll check the order of operations tomorrow. The point is that in 
>>>>>>>>> Pax Web 8 I've created several such tests, including SCR one (
>>>>>>>>> https://github.com/ops4j/org.ops4j.pax.web/tree/web-8.0.9/samples/samples-whiteboard/whiteboard-ds
>>>>>>>>>  
>>>>>>>>> - see the readme describing fundamental difficulty with SCR) where 
>>>>>>>>> contexts 
>>>>>>>>> and servlets are registered, but eventually everything is fine.
>>>>>>>>>
>>>>>>>>> So a question - is your servlet eventually responding to a GET 
>>>>>>>>> request? Don't just look at the logs for registration/unregistration 
>>>>>>>>> of the 
>>>>>>>>> context. The lines you've sent:
>>>>>>>>>
>>>>>>>>> Unegistering 
>>>>>>>>> OsgiServletContext{model=OsgiContextModel{WB,id=OCM-1,name='default',path='/',bundle=org.ops4j.pax.web.pax-web-extender-whiteboard,context=(supplier)}}
>>>>>>>>>  
>>>>>>>>> as OSGi service for "/" context path
>>>>>>>>>
>>>>>>>>> Registering 
>>>>>>>>> OsgiServletContext{model=OsgiContextModel{WB,id=OCM-2,name='default',path='/',bundle=com.candatag.web.util,ref={org.osgi.service.http.context.ServletContextHelper}={
>>>>>>>>> service.id=57, osgi.http.whiteboard.context.name=default, 
>>>>>>>>> service.bundleid=19, service.scope=bundle, service.ranking=
>>>>>>>>> 2147483647 <(214)%20748-3647>, 
>>>>>>>>> component.name=com.candatag.web.util.zoo.impl.NoSecurityContextImpl, 
>>>>>>>>> osgi.http.whiteboard.context.path=/, component.id=22}}} as OSGi 
>>>>>>>>> service for "/" context path
>>>>>>>>>
>>>>>>>>> are information that different object of OsgiServletContext class 
>>>>>>>>> is registered as the OSGi service of javax.servlet.ServletContext 
>>>>>>>>> interface. This is according to chapter 128.3.4 (
>>>>>>>>> https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.war.html#i3078599)
>>>>>>>>>  
>>>>>>>>> of Web Applications Specification, but has nothing to do with 
>>>>>>>>> Whiteboard - 
>>>>>>>>> the underlying Jetty/Tomcat/Undertow context stays started.
>>>>>>>>>
>>>>>>>>> regards
>>>>>>>>> Grzegorz Grzybek
>>>>>>>>>  
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Dave
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Sep 19, 2022 at 12:52 PM Grzegorz Grzybek <
>>>>>>>>>> gr.gr...@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> Hello
>>>>>>>>>>>
>>>>>>>>>>> It's all loosely coupled - a "servlet registration" knows the 
>>>>>>>>>>> LDAP filter (by default "osgi.http.whiteboard.context.select=(
>>>>>>>>>>> osgi.http.whiteboard.context.name=default)") for it's contexts. 
>>>>>>>>>>> And each time the new context is registered, the web elements with 
>>>>>>>>>>> matching 
>>>>>>>>>>> filter are being re-registered.
>>>>>>>>>>>
>>>>>>>>>>> The fact that you're overriding an "OSGi Context" 
>>>>>>>>>>> (ServletContextHelper) within the same context path "/" means that 
>>>>>>>>>>> the 
>>>>>>>>>>> servlet context is restarted (because there's higher-ranked 
>>>>>>>>>>> OsgiServletContext), but the servlet should be simply kept in 
>>>>>>>>>>> existing "/" 
>>>>>>>>>>> ServletContext. I know - lots of contexts.
>>>>>>>>>>>
>>>>>>>>>>> Today I was checking few other 
>>>>>>>>>>> https://github.com/ops4j/org.ops4j.pax.web/issues, but I 
>>>>>>>>>>> remember about your scenario - I should have an explanation 
>>>>>>>>>>> tomorrow.
>>>>>>>>>>>
>>>>>>>>>>> regards
>>>>>>>>>>> Grzegorz Grzybek
>>>>>>>>>>>
>>>>>>>>>>> pon., 19 wrz 2022 o 19:42 dave....@candata.com <
>>>>>>>>>>> dave....@candata.com> napisał(a):
>>>>>>>>>>>
>>>>>>>>>>>> Still trying to get a test case but I do believe it is a 
>>>>>>>>>>>> threading issue ... What I find strange is the servlet that 
>>>>>>>>>>>> disappears gets 
>>>>>>>>>>>> registered like this
>>>>>>>>>>>>
>>>>>>>>>>>> [paxweb-config-1-thread-1] INFO 
>>>>>>>>>>>> org.ops4j.pax.web.service.internal.HttpServiceEnabled - 
>>>>>>>>>>>> Registering 
>>>>>>>>>>>> ServletModel{id=ServletModel-4,name='com.candatag.k8s.zoo.servlet.ReadyProbe',urlPatterns=[/osgi/started],contexts=[{WB,OCM-2,default,/}]}
>>>>>>>>>>>> Receiving Batch{"Registration of 
>>>>>>>>>>>> ServletModel{id=ServletModel-4,name='com.candatag.k8s.zoo.servlet.ReadyProbe',urlPatterns=[/osgi/started],contexts=[{WB,OCM-2,default,/}]}",
>>>>>>>>>>>>  
>>>>>>>>>>>> size=1}
>>>>>>>>>>>> Adding servlet 
>>>>>>>>>>>> ServletModel{id=ServletModel-4,name='com.candatag.k8s.zoo.servlet.ReadyProbe',urlPatterns=[/osgi/started],contexts=[{WB,OCM-2,default,/}]}
>>>>>>>>>>>>
>>>>>>>>>>>> Now what is ODD is that OCM-2 is not registered yet!  It 
>>>>>>>>>>>> follows in the logs
>>>>>>>>>>>>
>>>>>>>>>>>>  Receiving Batch{"Registration of 
>>>>>>>>>>>> OsgiContextModel{WB,id=OCM-2,name='default',path='/',bundle=com.candatag.web.util,ref={org.osgi.service.http.context.ServletContextHelper}={
>>>>>>>>>>>> service.id=39, osgi.http.whiteboard.context.name=default, 
>>>>>>>>>>>> service.bundleid=17, service.scope=bundle, service.ranking=
>>>>>>>>>>>> 2147483647 <(214)%20748-3647>, 
>>>>>>>>>>>> component.name=com.candatag.web.util.zoo.impl.NoSecurityContextImpl,
>>>>>>>>>>>>  
>>>>>>>>>>>> osgi.http.whiteboard.context.path=/, component.id=1}}", size=1}
>>>>>>>>>>>>
>>>>>>>>>>>> So how does the servlet know that this new default context is 
>>>>>>>>>>>> coming?  In my test harness I see the servlet unregistering and 
>>>>>>>>>>>> then 
>>>>>>>>>>>> registering again when the context changes... 
>>>>>>>>>>>>
>>>>>>>>>>>> It looks like we are half pregnant, somebody knows the context 
>>>>>>>>>>>> is  there but it is in an unregistered state so the servlet modal 
>>>>>>>>>>>> does not 
>>>>>>>>>>>> get attached.
>>>>>>>>>>>>
>>>>>>>>>>>> Dave
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Sunday, September 18, 2022 at 8:50:28 AM UTC-5 
>>>>>>>>>>>> dave....@candata.com wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> My other question would be if you are "Unregistering " the 
>>>>>>>>>>>>> default context should it still show up in the 
>>>>>>>>>>>>> HttpServiceRuntime.getRuntimeDTO().servletContextDTOs ? It does 
>>>>>>>>>>>>> now
>>>>>>>>>>>>>
>>>>>>>>>>>>> Dave
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Sunday, September 18, 2022 at 8:43:33 AM UTC-5 
>>>>>>>>>>>>> dave....@candata.com wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> It will be a little tricky to send my whole project in , let 
>>>>>>>>>>>>>> me see what I can do , however I have reviewed the test cases in 
>>>>>>>>>>>>>> the link 
>>>>>>>>>>>>>> provided and it looks like you are not covering my case ...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I do not see a test where  ...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Register the default handler ->   HttpContext defaultContext 
>>>>>>>>>>>>>> = wc.createDefaultHttpContext(); , not sure if this also 
>>>>>>>>>>>>>> creates a ServletContextHelper wrapper as well
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Then create a servlet that attaches to it , but do not call 
>>>>>>>>>>>>>> the servlet , just check it is added
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Register the default override with a high service ranking .
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> See if this happens 
>>>>>>>>>>>>>> org.ops4j.pax.web.service.spi.servlet.OsgiServletContext - 
>>>>>>>>>>>>>> Unegistering 
>>>>>>>>>>>>>> OsgiServletContext{model=OsgiContextModel{WB,id=OCM-1,name='default',path='/'
>>>>>>>>>>>>>> org.ops4j.pax.web.service.spi.servlet.OsgiServletContext - 
>>>>>>>>>>>>>> Registering 
>>>>>>>>>>>>>> OsgiServletContext{model=OsgiContextModel{WB,id=OCM-2,name='default',path='/',
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> And then see if the servlet is in the new context ...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The override testcases seem to all create the override first 
>>>>>>>>>>>>>> before the first servlet is registered OR you are changing the 
>>>>>>>>>>>>>> path in the 
>>>>>>>>>>>>>> default context ...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Dave
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Sun, Sep 18, 2022 at 8:06 AM Grzegorz Grzybek <
>>>>>>>>>>>>>> gr.gr...@gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hello
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Actually, the initial reason of entire Pax Web 8 refactoring 
>>>>>>>>>>>>>>> was the context handling - ability to register one servlet into 
>>>>>>>>>>>>>>> multiple 
>>>>>>>>>>>>>>> contexts and multiple servlets into one context.
>>>>>>>>>>>>>>> There are really lot of integration tests that show exactly 
>>>>>>>>>>>>>>> this.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I'd have to see your example and check what's the problem 
>>>>>>>>>>>>>>> there - you seem to correctly override "default" whiteboard 
>>>>>>>>>>>>>>> context with 
>>>>>>>>>>>>>>> "/" path and higher ranking, so it should work.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> https://github.com/ops4j/org.ops4j.pax.web/tree/web-8.0.9/samples/samples-whiteboard/whiteboard-ds
>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>> is and example of SCR registration of multiple web elements and 
>>>>>>>>>>>>>>> contexts.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> This integration test (
>>>>>>>>>>>>>>> https://github.com/ops4j/org.ops4j.pax.web/blob/web-8.0.9/pax-web-itest/pax-web-itest-server/src/test/java/org/ops4j/pax/web/itest/server/whiteboard/WhiteboardAndHttpServiceTest.java#L198)
>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>> - overridenDefaultContextsWithWhiteboardServlet() shows how 
>>>>>>>>>>>>>>> "default" + "/" context is overriden.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could you please share your project? It can be attached to 
>>>>>>>>>>>>>>> an issue in 
>>>>>>>>>>>>>>> https://github.com/ops4j/org.ops4j.pax.web/issues
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> kind regards
>>>>>>>>>>>>>>> Grzegorz Grzybek
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> niedz., 18 wrz 2022 o 14:16 Dave Smith <dave....@candata.com> 
>>>>>>>>>>>>>>> napisał(a):
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> What is the correct way to override the default servlet 
>>>>>>>>>>>>>>>> context? I am doing this...
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> @Component(service = ServletContextHelper.class,property = 
>>>>>>>>>>>>>>>> { Constants.SERVICE_RANKING+":Integer="+Integer.MAX_VALUE})
>>>>>>>>>>>>>>>> @HttpWhiteboardContext(name = "default",path = "/")
>>>>>>>>>>>>>>>> public class NoSecurityContextImpl extends 
>>>>>>>>>>>>>>>> ServletContextHelper
>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> What I am seeing is if a servlet is registered BEFORE the 
>>>>>>>>>>>>>>>> new default context it just seems to disappear, anything after 
>>>>>>>>>>>>>>>> gets put in 
>>>>>>>>>>>>>>>> the new default. When I call HttpServiceRuntime.servletDTOs I 
>>>>>>>>>>>>>>>> see the 
>>>>>>>>>>>>>>>> original default context with no servlets attached to it and 
>>>>>>>>>>>>>>>> my overridden 
>>>>>>>>>>>>>>>> one with the servlets that were registered after. 
>>>>>>>>>>>>>>>> failedServletDTOs,failedServletContextDTOs are empty. If I 
>>>>>>>>>>>>>>>> remove my 
>>>>>>>>>>>>>>>> override the servlets appear. 
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> What is weird is it looks like the servlet is getting put 
>>>>>>>>>>>>>>>> into the right context if I read the log correctly ...
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Registering 
>>>>>>>>>>>>>>>> ServletModel{id=ServletModel-4,name='com.candatag.k8s.zoo.servlet.ReadyProbe',urlPatterns=[/osgi/started],contexts=[{WB,OCM-2,default,/}]}
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> INFO 
>>>>>>>>>>>>>>>> org.ops4j.pax.web.service.spi.servlet.OsgiServletContext - 
>>>>>>>>>>>>>>>> Unegistering 
>>>>>>>>>>>>>>>> OsgiServletContext{model=OsgiContextModel{WB,id=OCM-1,name='default',path='/',bundle=org.ops4j.pax.web.pax-web-extender-whiteboard,context=(supplier)}}
>>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>>> as OSGi service for "/" context path
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Registering 
>>>>>>>>>>>>>>>> OsgiServletContext{model=OsgiContextModel{WB,id=OCM-2,name='default',path='/',bundle=com.candatag.web.util,ref={org.osgi.service.http.context.ServletContextHelper}={
>>>>>>>>>>>>>>>> service.id=57, osgi.http.whiteboard.context.name=default, 
>>>>>>>>>>>>>>>> service.bundleid=19, service.scope=bundle, service.ranking=
>>>>>>>>>>>>>>>> 2147483647 <(214)%20748-3647>, 
>>>>>>>>>>>>>>>> component.name=com.candatag.web.util.zoo.impl.NoSecurityContextImpl,
>>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>>> osgi.http.whiteboard.context.path=/, component.id=22}}} as 
>>>>>>>>>>>>>>>> OSGi service for "/" context path
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Dave
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>>> ------------------
>>>>>>>>>>>>>>>> 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.
>>>>>>>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>>>>>>>> https://groups.google.com/d/msgid/ops4j/CA%2BFCLu2SbiSKmN7W3-ZQqHLYCA67vF104UCVWtU77-63tcarUA%40mail.gmail.com
>>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>>> <https://groups.google.com/d/msgid/ops4j/CA%2BFCLu2SbiSKmN7W3-ZQqHLYCA67vF104UCVWtU77-63tcarUA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>> -- 
>>>>>>>>>>>>>>> ------------------
>>>>>>>>>>>>>>> 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.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>>>>>>> https://groups.google.com/d/msgid/ops4j/CAAdXmhrMU6_5ABFc0oxevK%2BjuZVhOzxdK0cqvyTz6pCWZAM7Yg%40mail.gmail.com
>>>>>>>>>>>>>>>  
>>>>>>>>>>>>>>> <https://groups.google.com/d/msgid/ops4j/CAAdXmhrMU6_5ABFc0oxevK%2BjuZVhOzxdK0cqvyTz6pCWZAM7Yg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> -- 
>>>>>>>>>>>> -- 
>>>>>>>>>>>> ------------------
>>>>>>>>>>>> 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.
>>>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>>>> https://groups.google.com/d/msgid/ops4j/e972d47a-f8b3-4dec-9ba1-94549e29a250n%40googlegroups.com
>>>>>>>>>>>>  
>>>>>>>>>>>> <https://groups.google.com/d/msgid/ops4j/e972d47a-f8b3-4dec-9ba1-94549e29a250n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>>> .
>>>>>>>>>>>>
>>>>>>>>>>> -- 
>>>>>>>>>>> -- 
>>>>>>>>>>> ------------------
>>>>>>>>>>> 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.
>>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>>> https://groups.google.com/d/msgid/ops4j/CAAdXmhqzknu%3DwfrL5d-hWbHe%2BGa%2Bazbx6Yg__OTuC683B8VbMA%40mail.gmail.com
>>>>>>>>>>>  
>>>>>>>>>>> <https://groups.google.com/d/msgid/ops4j/CAAdXmhqzknu%3DwfrL5d-hWbHe%2BGa%2Bazbx6Yg__OTuC683B8VbMA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>> .
>>>>>>>>>>>
>>>>>>>>>> -- 
>>>>>>>>>> -- 
>>>>>>>>>> ------------------
>>>>>>>>>> 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.
>>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>>> https://groups.google.com/d/msgid/ops4j/CA%2BFCLu1OssPACzuqNDCpxT3AGz%3DRjarNubJUi%2BPXuog2D0aWMA%40mail.gmail.com
>>>>>>>>>>  
>>>>>>>>>> <https://groups.google.com/d/msgid/ops4j/CA%2BFCLu1OssPACzuqNDCpxT3AGz%3DRjarNubJUi%2BPXuog2D0aWMA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>>> .
>>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> -- 
>>>>>>>>> ------------------
>>>>>>>>> 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.
>>>>>>>>> To view this discussion on the web visit 
>>>>>>>>> https://groups.google.com/d/msgid/ops4j/CAAdXmhrP%3DUawM0_EYyg%2B3NuyMDjz%3DRzqvAP%3D%3DfTkcXUXgJH6jw%40mail.gmail.com
>>>>>>>>>  
>>>>>>>>> <https://groups.google.com/d/msgid/ops4j/CAAdXmhrP%3DUawM0_EYyg%2B3NuyMDjz%3DRzqvAP%3D%3DfTkcXUXgJH6jw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>> -- 
>>>>>>>> -- 
>>>>>>>> ------------------
>>>>>>>> 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.
>>>>>>>> To view this discussion on the web visit 
>>>>>>>> https://groups.google.com/d/msgid/ops4j/CA%2BFCLu3Wm1mXtGYBGHr7MoLpo83%2BQbd0TMHNheKiWii_at-CsQ%40mail.gmail.com
>>>>>>>>  
>>>>>>>> <https://groups.google.com/d/msgid/ops4j/CA%2BFCLu3Wm1mXtGYBGHr7MoLpo83%2BQbd0TMHNheKiWii_at-CsQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>> -- 
>>>> -- 
>>>> ------------------
>>>> 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.
>>>>
>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/ops4j/CAAdXmhrPvxRF829dtYoEZOLHhj%3DtwJ15VV0KA0SK0jxjZn9ZMw%40mail.gmail.com
>>>>  
>>>> <https://groups.google.com/d/msgid/ops4j/CAAdXmhrPvxRF829dtYoEZOLHhj%3DtwJ15VV0KA0SK0jxjZn9ZMw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>> -- 
>> ------------------
>> 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.
>>
> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ops4j/a71ebdd2-22c1-4e0d-9e01-512f16d24dden%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ops4j/a71ebdd2-22c1-4e0d-9e01-512f16d24dden%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
-- 
------------------
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ops4j/a7ef6266-fe73-40a4-a0b7-b9bad25dc8b1n%40googlegroups.com.

Reply via email to