-
Bug
-
Resolution: Done
-
Blocker
-
None
-
None
-
False
-
None
-
False
-
%
-
Todo
-
-
-
Very Likely
Pax Web detects presence of some particular bundles which may contain ServletContainerInitializers for WebSocket configuration. It's supposed to find bundles related to current Pax Web runtime (Undertow, Jetty, Tomcat), but in some scenarios Jetty Websocket bundles may be installed, but should NOT be used in Fuse. This causes:
2023-10-24 16:04:38,125 ERROR {wab-extender-1-thread-1} [org.ops4j.pax.web.extender.war.internal.model.BundleWebApplication.deploy()] (BundleWebApplication.java:757) : Problem processing Web Application "/hawtio" for bundle io.hawt.hawtio-osgi/2.0.0.fuse-7_12_1-00006: javax.servlet.ServletException: Not running on Jetty, JSR-356 support unavailable java.lang.RuntimeException: javax.servlet.ServletException: Not running on Jetty, JSR-356 support unavailable at org.ops4j.pax.web.service.spi.model.ServerModel.runSilently(ServerModel.java:657) ~[?:?] at org.ops4j.pax.web.service.internal.HttpServiceEnabled$WebAppWebContainer.sendBatch(HttpServiceEnabled.java:2647) ~[?:?] at org.ops4j.pax.web.extender.war.internal.model.BundleWebApplication.deploy(BundleWebApplication.java:746) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_392] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_392] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_392] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_392] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_392] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_392] at java.lang.Thread.run(Thread.java:750) [?:1.8.0_392] Caused by: java.lang.RuntimeException: javax.servlet.ServletException: Not running on Jetty, JSR-356 support unavailable at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:257) ~[?:?] at org.ops4j.pax.web.service.undertow.internal.UndertowServerWrapper.ensureServletContextStarted(UndertowServerWrapper.java:2896) ~[?:?] at org.ops4j.pax.web.service.undertow.internal.UndertowServerWrapper.visitTransactionStateChange(UndertowServerWrapper.java:1131) ~[?:?] at org.ops4j.pax.web.service.spi.task.TransactionStateChange.accept(TransactionStateChange.java:35) ~[?:?] at org.ops4j.pax.web.service.spi.task.Batch.accept(Batch.java:430) ~[?:?] at org.ops4j.pax.web.service.undertow.internal.UndertowServerController.sendBatch(UndertowServerController.java:208) ~[?:?] at org.ops4j.pax.web.service.internal.HttpServiceEnabled$WebAppWebContainer.lambda$sendBatch$0(HttpServiceEnabled.java:2676) ~[?:?] at org.ops4j.pax.web.service.spi.model.ServerModel.lambda$run$2(ServerModel.java:541) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604) ~[?:1.8.0_392] ... 7 more Suppressed: java.lang.Throwable at org.ops4j.pax.web.service.spi.model.ServerModel.run(ServerModel.java:535) ~[?:?] at org.ops4j.pax.web.service.spi.model.ServerModel.runSilently(ServerModel.java:652) ~[?:?] at org.ops4j.pax.web.service.internal.HttpServiceEnabled$WebAppWebContainer.sendBatch(HttpServiceEnabled.java:2647) ~[?:?] at org.ops4j.pax.web.extender.war.internal.model.BundleWebApplication.deploy(BundleWebApplication.java:746) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_392] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_392] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_392] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_392] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_392] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_392] at java.lang.Thread.run(Thread.java:750) [?:1.8.0_392] Caused by: javax.servlet.ServletException: Not running on Jetty, JSR-356 support unavailable at org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer.onStartup(WebSocketServerContainerInitializer.java:271) ~[?:?] at org.ops4j.pax.web.service.spi.servlet.SCIWrapper.onStartup(SCIWrapper.java:51) ~[?:?] at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:204) ~[?:?] at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:187) ~[?:?] at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42) ~[?:?] at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) ~[?:?] at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:255) ~[?:?] at org.ops4j.pax.web.service.undertow.internal.UndertowServerWrapper.ensureServletContextStarted(UndertowServerWrapper.java:2896) ~[?:?] at org.ops4j.pax.web.service.undertow.internal.UndertowServerWrapper.visitTransactionStateChange(UndertowServerWrapper.java:1131) ~[?:?] at org.ops4j.pax.web.service.spi.task.TransactionStateChange.accept(TransactionStateChange.java:35) ~[?:?] at org.ops4j.pax.web.service.spi.task.Batch.accept(Batch.java:430) ~[?:?] at org.ops4j.pax.web.service.undertow.internal.UndertowServerController.sendBatch(UndertowServerController.java:208) ~[?:?] at org.ops4j.pax.web.service.internal.HttpServiceEnabled$WebAppWebContainer.lambda$sendBatch$0(HttpServiceEnabled.java:2676) ~[?:?] at org.ops4j.pax.web.service.spi.model.ServerModel.lambda$run$2(ServerModel.java:541) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604) ~[?:1.8.0_392] ... 7 more
I have a fix that disables scanning of such bundles.