Hello Don't bother much with pax-web-7.3.x branch. As I wrote here[1], 7.3.0 is kind of "tech preview" with Tomcat 9 and Undertow 2. As it's missing Jetty 10, don't treat 7.3.x as the "main" 7.x line.
regards Grzegorz Grzybek === [1]: https://groups.google.com/forum/#!topic/ops4j-announcement/ueKyUFF4JIc śr., 26 cze 2019 o 14:32 Stephan Siano <stephan.si...@sap.com> napisał(a): > OK, I created a first pull request that only contains the test changes. > It's for the pax-web-7.2.x branch right now, but it should also work in > master and pax-web-7.3.x branches (I can create pull requests also for > these branches, but I would prefer to complete the review first). I have > set you as a reviewer for it. I have not included the Tomcat patch because > I would prefer to have different commits for the test extensions and the > coding changes and because while the change makes the websocket test run on > tomcat it has side effects on other tests (without websockets). > > Am Mittwoch, 26. Juni 2019 13:25:01 UTC+2 schrieb Jean-Baptiste Onofré: >> >> +1 to reuse PAXWEB-1027, and happy to work with you on this one ;) >> >> Regards >> JB >> On 26/06/2019 11:33, Stephan Siano wrote: >> >> Hi, >> >> I did some further work on the topic. Here are my results: >> >> 1. I have some changes that are required to get the tests working at all. >> There is some heavy use of service loaders in the websocket API, which >> doesn't play too well with OSGi, so some tricks with ThreadContext class >> loaders are needed. >> 2. With these changes the tests works with the jetty container (I don't >> know who parses these Annotations, but obviously something in Jetty does). >> 3. I did some change to the sample bundle to have it register itself >> programatically (as an option). With this change, the test will work on >> Tomcat, so the runtime does work in tomcat but the automatic registration >> doesn't. In order to make that working, I needed to register an additional >> ServletContainerInitializer in pax-web-tomcat. >> 4. I could not get it working with the Undertow container (the >> registration, the test does work but returns a 404 when trying to upgrade >> the websocket), which means that the endpoint is not registered. >> >> I think I should contribute what I have now because it will bring us a >> working test for websockets on Jetty and at least partially working >> websocket support on Tomcat. Do I create a new JIRA item for that or do I >> re-use PAXWEB-1027, which is still open? >> >> Does anybody know how the websocket endpoint annotation parsing works in >> pax-web-jetty (and maybe how we can get the same functionality with Tomcat >> and Undertow)? >> >> Best regards >> Stephan >> >> Am Dienstag, 25. Juni 2019 17:45:03 UTC+2 schrieb Achim Nierbeck: >>> >>> Hi, >>> >>> when I first started to look into websockets, there needed to be extra >>> Bundles installed for Jetty. >>> That's about 4 to 5 years ago :) >>> But I haven't looked into the annotations, as far as I can remember. >>> >>> Regards, Achim >>> >>> >>> Am Di., 25. Juni 2019 um 16:49 Uhr schrieb Jean-Baptiste Onofré < >>> jeanbapti...@gmail.com>: >>> >>>> I mean that it's a similar pattern we use for other "connector". >>>> >>>> By the way, did you take a look on the websocket example in Karaf ? >>>> >>>> Regards >>>> JB >>>> On 25/06/2019 16:22, Stephan Siano wrote: >>>> >>>> Hi, >>>> >>>> I'm not so sure whether this is easy. I couldn't find anything about >>>> the web socket annotations in the War extender (plus the annotation scanner >>>> in the War extender creates some kind of dummy web.xml structure from the >>>> scanned annotations, but there are no web.xml entries for websockets). >>>> >>>> Nevertheless, are you interested in my changes to the tests? I think >>>> with these changes the tests start again (at least on Tomcat and Undertow), >>>> but the tests fail. I also tried to register the Websocket programatically >>>> with a ContextListener but there I couldn't get the ServerContainer from >>>> the ServletContext (AFAIK this should work via servletContext. >>>> getAttribute("javax.websocket.server.ServerContainer");). There is >>>> probably all the websocket infrastructure missing in the Pax-Web classes. >>>> >>>> Best regards >>>> Stephan >>>> >>>> On Tuesday, June 25, 2019 at 3:40:22 PM UTC+2, Jean-Baptiste Onofré >>>> wrote: >>>>> >>>>> Hi, >>>>> >>>>> AFAIR, it's not yet fully supported. >>>>> >>>>> But easy to add/fix, I will tackle that. >>>>> >>>>> Regards >>>>> JB >>>>> On 25/06/2019 15:25, Stephan Siano wrote: >>>>> >>>>> Hi, >>>>> >>>>> I have a question concerning web sockets in Pax-Web: >>>>> >>>>> A colleague of mine is trying to deploy a war on a Pax-Web container >>>>> that contains some annotated websocket server endpoints. This works with >>>>> other web containers but not on Pax web (he is getting a 404 response when >>>>> he is trying to upgrade the connection). >>>>> >>>>> I looked into the Pax-Web integration tests and it turned out that >>>>> there is an integration test for a very similar scenario >>>>> WebSocketIntegrationTest,testWebSocket() which uses the websocket-jsr356 >>>>> sample bundle. >>>>> >>>>> However, this test was disabled. Even worse, it did not work anymore >>>>> after the test client was moved from the jetty http client to the apache >>>>> http client (because it currently uses a jetty websocket client which >>>>> relies on the jetty http client). >>>>> >>>>> I changed the test infrastructure to use a jsr356 client (with the >>>>> container specific implementation) and with some hassle around the class >>>>> loading because of the pax-exam infrastructure I could likely get this >>>>> running (at least with tomcat and undertow). However on both containers I >>>>> get a 404 response code when upgrading the connection (as my colleague got >>>>> with his websocket endpoint. >>>>> >>>>> Did this ever work in Pax-Web? I couldn't find any coding that is >>>>> parsing for the ServerEndpoint annotation (only Servlet and other stuff). >>>>> Or is this still unimplemented? >>>>> >>>>> Best regards >>>>> Stephan >>>>> -- >>>>> -- >>>>> ------------------ >>>>> 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 op...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/ops4j/1baaf72c-d85f-423f-a9f3-91974ca72ba4%40googlegroups.com >>>>> <https://groups.google.com/d/msgid/ops4j/1baaf72c-d85f-423f-a9f3-91974ca72ba4%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>>> -- >>>> -- >>>> ------------------ >>>> 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 op...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/ops4j/919b3351-ea5e-46e7-8e3c-310970cb71b1%40googlegroups.com >>>> <https://groups.google.com/d/msgid/ops4j/919b3351-ea5e-46e7-8e3c-310970cb71b1%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>>> -- >>>> -- >>>> ------------------ >>>> 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 op...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/ops4j/0d56e6d8-2bad-fec5-f7e5-ccf6ba007882%40gmail.com >>>> <https://groups.google.com/d/msgid/ops4j/0d56e6d8-2bad-fec5-f7e5-ccf6ba007882%40gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> 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 - 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 op...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/ops4j/dccc6d6f-202c-431c-8780-96b9b9b3c29d%40googlegroups.com >> <https://groups.google.com/d/msgid/ops4j/dccc6d6f-202c-431c-8780-96b9b9b3c29d%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> >> -- > -- > ------------------ > 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/d681b088-e7b7-42e6-99e1-cf3d66458dff%40googlegroups.com > <https://groups.google.com/d/msgid/ops4j/d681b088-e7b7-42e6-99e1-cf3d66458dff%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- -- ------------------ 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/CAAdXmhp6-UqiAOO8mjXo841V%3DArut6OT-PRZW5MDYF9aMw1A4g%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.