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.
