+1 to create a Jira related to undertow. Regards JB
On 02/07/2019 13:51, Stephan Siano wrote: > Hi, > > OK, I have merged my two changes (the general enablement of the > websocket integration test and the fix to provide websocket support > for tomcat) into the pax-web-7.2.x, pax-web-7.3.x, and the master branch. > > The whiteboard support for websockets still does not work for all > containers (that's what is PAXWEB-1027 is mainly about) and the > websocket support via WAB with the undertow container also doesn't > work (the test for that is ignored for undertow). > > Shall I create a JITA task for the undertow container (though I will > not be able to actually fix the issue there)? > > Best regards > Stephan > > Am Montag, 1. Juli 2019 20:33:58 UTC+2 schrieb Jean-Baptiste Onofré: > > Thanks Stephan > > I will take a look. > > Regards > JB > > Le mer. 26 juin 2019 à 14:32, Stephan Siano <[email protected] > <javascript:>> a écrit : > > 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é <[email protected]>: >> >> 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 - >>>> [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]. >>>> 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 >>>> <https://groups.google.com/d/optout>. >>> >>> -- >>> -- >>> ------------------ >>> 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]. >>> 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 >>> <https://groups.google.com/d/optout>. >> -- >> -- >> ------------------ >> 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]. >> 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 >> <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/ >> <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]. >> 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 >> <https://groups.google.com/d/optout>. > > -- > -- > ------------------ > 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:>. > 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 > <https://groups.google.com/d/optout>. > > -- > -- > ------------------ > 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] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/ops4j/b15582a6-815c-4338-ac68-6d3a00647db8%40googlegroups.com > <https://groups.google.com/d/msgid/ops4j/b15582a6-815c-4338-ac68-6d3a00647db8%40googlegroups.com?utm_medium=email&utm_source=footer>. > For more options, visit https://groups.google.com/d/optout. -- -- ------------------ 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]. To view this discussion on the web visit https://groups.google.com/d/msgid/ops4j/72f096a5-7e27-b2e9-acfb-c0f96854ffb7%40gmail.com. For more options, visit https://groups.google.com/d/optout.
