Hello

Good idea. However Pax Web 8 is still far from candidate release... But I'm
really working hard on it. It turned out that Pax Web 7's "model" had to be
rewritten entirely. Just see this test scenario I've implemented in Pax Web
8 (and it's working!):

assertThat(get(port, "/c1/s"), endsWith("my.id=1"));
assertThat(get(port, "/c2/s"), endsWith("my.id=1"));
assertThat(get(port, "/c3/s"), endsWith("my.id=2"));

// servlet#5 registered to /c2 and /c4 - ranked higher than s#1 in /c2, so:
//  - s#1 is deactivated in /c1 and /c2
//  - s#3 is activated in /c1
//  - s#5 MAY be activated in /c2 and /c4, but in /c2, s#4 is ranked higher
than s#5
//  - s#4 is ranked lower than s#2 in /c3, so it won't be activated ANYWHERE
//  - s#5 will thus be activated in /c2 and /c4
wc.doRegisterServlet(Arrays.asList(wcc2, wcc4), new ServletModel.Builder()
     .withServletName("s1")
     .withUrlPatterns(new String[] { "/s" })
     .withServletReference(s15)
     .withServiceRankAndId(1, ++serviceId)
     .build());

assertThat(get(port, "/c1/s"), endsWith("my.id=3"));
assertThat(get(port, "/c2/s"), endsWith("my.id=5"));
assertThat(get(port, "/c3/s"), endsWith("my.id=2"));
assertThat(get(port, "/c4/s"), endsWith("my.id=5"));

// servlet#2 unregistered, s#4 can be activated in /c3 and can be activated
in /c2 because s#5 in /c2 is ranked
// lower than s#4, so s#5 disabled in /c4, so s#6 enabled in /c4
wc.doUnregisterServlet(new ServletModel.Builder()
     .withServletReference(s12)
     .withOsgiContextModel(cm3)
     .remove());

assertTrue(get(port, "/c1/s").endsWith("my.id=3"));
assertTrue(get(port, "/c2/s").endsWith("my.id=4"));
assertTrue(get(port, "/c3/s").endsWith("my.id=4"));
assertTrue(get(port, "/c4/s").endsWith("my.id=6"));

Yes - this directly stems from R7 Whiteboard specification. Single servlet
registration may always lead to re-registration avalanche.

So please give me a bit more time with Pax Web 8.

regards
Grzegorz Grzybek



czw., 9 kwi 2020 o 06:47 Jean-Baptiste Onofre <j...@nanthrax.net> napisał(a):

> Hi everyone,
>
> Now that jline 3.14.1 and Felix Gogo Kline 1.1.6 have been released, the
> "paste" issue in Karaf terminal and issue with "core" commands (man,
> history, more, less, …) are now fixed.
>
> I would like to cut Karaf runtime 4.2.9 and 4.3.0.RC2. They won’t include
> all Jira targeted now (I’m doing a triage right now), but they will be
> maintenance releases to address issues mentioned above.
>
> No objection ?
>
> Regards
> JB

Reply via email to