Hi Grzegorz,

I can reproduce the error using this sample project: 
https://github.com/rh-desoftware/vaadin8_karaf_demo.
I assume you took the code for your itest from this repository.
I believe that WebSocket support is not active in your itest because you 
have only installed vaadin-push.

WebSockets for Vaadin 8 on Karaf 4.4.8 with Pax Web 8.0.33 is not working.

The repo contains an example for war and one for whiteboard. In both 
solutions the 
"java.lang.IllegalStateException: Unable to configure jsr356 at that stage. 
ServerContainer is null"
occurs.

Regards
   Richard

[email protected] schrieb am Donnerstag, 15. Januar 2026 um 17:29:52 UTC+1:

> Hello
>
> At first glance, it should be "Web-ContextPath", not "WebContext-Path". 
> See 
> https://docs.osgi.org/specification/osgi.cmpn/8.0.0/service.war.html#i3077053
>
> And we actually have a Vaadin 8 example: 
> https://github.com/ops4j/org.ops4j.pax.web/tree/pax-web-8.0.x/samples/samples-war/war-vaadin08
> We also have a test that installs it as webbundle: WAB: 
> https://github.com/ops4j/org.ops4j.pax.web/blob/e15cb08d433e2d500519b65f4a0cb7c273f4399a/pax-web-itest/pax-web-itest-container/pax-web-itest-container-common/src/main/java/org/ops4j/pax/web/itest/container/war/AbstractWarVaadin08IntegrationTest.java#L35
>
> I remember ensuring that WebSockets work with Vaadin. But this was quite 
> long time ago...
>
> kind regards
> Grzegorz Grzybek
>
> czw., 15 sty 2026 o 17:00 'Richard Hierlmeier' via OPS4J <
> [email protected]> napisaƂ(a):
>
>> I have to upgrade a Vaadin 8 application from Karaf 4.3 (pax-web 7) to 
>> Karaf 4.4.8 (pax-web 8).
>>
>> The OSGi bundle with the Vaadin application is a WAB.
>> It has a WebContext-Path defined in the OSGi header.
>>
>> The VaadinServlet sets up Atmosphere and tries to detect the WebSocket 
>> support of the servlet engine. It detects that the servlet engine has 
>> JSR356 support and tries to set up Atmosphere with the class 
>> org.atmosphere.container.JSR356AsyncSupport.
>>
>> This is the constructor of JSR356AsyncSupport:
>>
>> public JSR356AsyncSupport(AtmosphereConfig config, ServletContext ctx) {
>>     super(config);
>>     ServerContainer container = (ServerContainer) 
>> ctx.getAttribute(ServerContainer.class.getName());
>>     if (container == null) {
>>         if (ctx.getServerInfo().contains("WebLogic")) {
>>             logger.error("{} must use JDK 1.8+ with WebSocket", 
>> ctx.getServerInfo());
>>         }
>>         throw new IllegalStateException("Unable to configure jsr356 at 
>> that stage. ServerContainer is null");
>>     }
>> }
>> It throws this IllegalStateException.
>>
>> How can I get the ServerContainer into the ServletContext?
>>
>> Regards,
>> Richard
>>
>> -- 
>> -- 
>> ------------------
>> 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 visit 
>> https://groups.google.com/d/msgid/ops4j/552fdab1-ecf2-40cc-b2e3-ec74b76acd70n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ops4j/552fdab1-ecf2-40cc-b2e3-ec74b76acd70n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
-- 
------------------
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 visit 
https://groups.google.com/d/msgid/ops4j/768c6542-87ea-417b-ac72-bb45172aa4c5n%40googlegroups.com.

Reply via email to