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.

Reply via email to