Spring Boot Websockets in Wildfly Spring Boot Websockets in Wildfly spring spring

Spring Boot Websockets in Wildfly


You need exclude tomcat-embed-websocket

<dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>        <exclusions>            <exclusion>                <groupId>org.apache.tomcat.embed</groupId>                <artifactId>tomcat-embed-websocket</artifactId>            </exclusion>        </exclusions>    </dependency>


spring-boot-starter-web and spring-boot-starter-websocket by default includes the spring-boot-starter-tomcat so exclude the tomcat, like below

     <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>        <version>${spring-boot.version}</version>        <exclusions>            <exclusion>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-starter-tomcat</artifactId>            </exclusion>        </exclusions>    </dependency>     <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-websocket</artifactId>        <version>${spring-boot.version}</version>        <exclusions>            <exclusion>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-starter-tomcat</artifactId>            </exclusion>        </exclusions>    </dependency>

and include undertow, make sure the tomcat exists no where in the classpath.


I'm not sure, but your POM around websockets should be like this:

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-websocket</artifactId></dependency><dependency>    <groupId>org.apache.tomcat.embed</groupId>    <artifactId>tomcat-embed-websocket</artifactId>    <scope>provided</scope></dependency><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-tomcat</artifactId>    <scope>provided</scope></dependency>

spring-messaging, spring-websocket, jackson-databind, spring-boot-starter-web are redundant.

There is also spring-boot-starter-thymeleaf.

However I think the root of your cause is tomcat-embed-websocket.