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 <stepha...@sap.com 
> <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é <
>>>> 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 - op...@googlegroups.com <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 op...@googlegroups.com <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.
>>
>

-- 
-- 
------------------
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/b15582a6-815c-4338-ac68-6d3a00647db8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to