-
Bug
-
Resolution: Done
-
Blocker
-
None
-
None
-
False
-
-
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.