+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.

Reply via email to