Spring boot 3.1.5 Seems there is still some issues with websocket autoconfiguration similar to #37660 . Suggested workaround to disable websocket autoconfig works
2023-11-02T10:16:24.603+01:00 ERROR 3257818 --- [ Test worker] o.a.c.c.C.[Tomcat].[localhost].[/] : Exception starting filter [org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter]
java.lang.IllegalStateException: WebSocketComponents has not been created
at org.eclipse.jetty.websocket.core.server.WebSocketServerComponents.getWebSocketComponents(WebSocketServerComponents.java:131)
at org.eclipse.jetty.websocket.core.server.WebSocketMappings.ensureMappings(WebSocketMappings.java:68)
at org.eclipse.jetty.websocket.servlet.WebSocketUpgradeFilter.init(WebSocketUpgradeFilter.java:182)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:263)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:102)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4271)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4886)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:845)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:866)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:240)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:917)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.startup.Tomcat.start(Tomcat.java:488)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:123)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:104)
```
**Comment From: wilkinsona**
Judging by the stack trace, you appear to be trying to use Jetty's `WebSocketUpgradeFilter` with Tomcat. This isn't supported. It may be that `WebSocketServletAutoConfiguration` is registering the filter but that would require Jetty's `web socket-server` module to be on the classpath at the same time as Tomcat. Can you please provide a minimal sample that reproduces the problem?
**Comment From: bukajsytlos**
This happens just by upgrading from 3.1.3 to 3.1.5 https://github.com/FAForever/faf-java-api/pull/787
**Comment From: wilkinsona**
There are dependencies on both Tomcat (through `spring-boot-starter-web`) and Jetty (through `spring-boot-starter-jetty`). That's rather unusual but, as I suspected, it is the cause of the problem. We can address that in Spring Boot, but you may want to tidy up your dependencies as I doubt that both are needed.
**Comment From: bukajsytlos**
Thanks "moved" to tomcat.
We had
configurations { compile.exclude module: "spring-boot-starter-tomcat" ``` apparently no longer works (if ever) and with correct exclusion, we run into https://github.com/spring-projects/spring-boot/issues/33044