안녕하세요 제이보스 8.1로 내 봄 부팅 응용 프로그램을 배포해야하고 나는 다음과 같은 예외가 받고 있어요 : java.lang.RuntimeException가 :에 의한봄 부팅 WebSocket을은 제이보스에
을 java.lang.ClassCastException가를 : org.apache.tomcat.websocket.server.WsServerContainer는 org.wildfly의 io.undertow.servlet.core.DeploymentManagerImpl.deploy (DeployManagerImpl.java:219) 에서 io.undertow.websockets.jsr.ServerWebSocketContainer 으로 캐스팅 할 수 없습니다. extension.undertow.deployment.UndertowDeploymentService.startContext (UndertowDeploymentService.java:87) at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start (UndertowDeploymentService.java:72) at org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService (ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar : 1.2.2.Final] at org.jboss.msc.service .ServiceControllerImpl $ StartTask.run (ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar : 1.2.2.Final] ... 3 자세한 내용 발생 원인 : java.lang.ClassCastException : org. apache.tomcat.websocket.server.WsServerContainer를 io.undertow.websockets.jsr.ServerWebSocketContainer (io.undertow.websockets.jsr.Bootstrap)으로 캐스팅 할 수 없습니다. $ WebSocketListener.contextInitialized (Bootstrap.java:69) at io.undertow. servlet.core.ApplicationListeners.contextInitialized (ApplicationListeners.java:173) at io.undertow.servlet.core.DeploymentManagerImpl.deploy (DeploymentManagerImpl.java:190) ... 7 더
웹 소켓 및 메시징에 대한 설정이 문제의 원인 일 수 있습니까? 나는 이것을 보았습니다 https://github.com/joshlong/boot-examples/issues/2 그리고 제안 된 해결책 중 어느 것도 나를 위해 효과가없는 것 같습니다. 다음은 내 pom의 종속성입니다.
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.1.6.RELEASE</version>
</parent>
<dependencies>
<!--Testing-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${apache.httpcomponents.version}</version>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring4</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!--Database-->
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901.jdbc4</version>
</dependency>
</dependencies>
직접 spring-boot-starter-websocket을 사용했지만 동일한 결과를 얻으려고했습니다. 이를 읽어 주셔서
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer{
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
super.configureMessageBroker(registry);
registry.enableSimpleBroker("/ssp");
registry.setApplicationDestinationPrefixes("/inc");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/update/applications");
}
}
감사 : 여기 너무 내 웹 소켓의 설정입니다. 어떤 도움이라 더 많이 감사 할 것입니다. 또한 첫 번째 부팅 응용 프로그램입니다. :/
나는 또한 같은 문제 동안 직면했다 gradle을 사용하여 전쟁을 건설합니다. 나는'compile' 대신'spring-boot-starter-tomcat'에'providedCompile'을 사용하여 문제를 해결할 수있었습니다. –