Java Springboot Websocket+;跺脚+;SOCKJS不使用JBOSS EAP 6.4,未找到抛出404
问题:无法访问JBOSS EAP 6.4服务器中的Springboot Websocket端点。使用SOCKJS访问WebSocket时,浏览器控制台中出现404错误 有关问题和步骤的更多详细信息: 我用了这个项目。本spring参考使用了客户端web库的包。但是它没有加载客户端JS库,所以我修改了下面的链接来工作Java Springboot Websocket+;跺脚+;SOCKJS不使用JBOSS EAP 6.4,未找到抛出404,java,spring-boot,websocket,jboss,stomp,Java,Spring Boot,Websocket,Jboss,Stomp,问题:无法访问JBOSS EAP 6.4服务器中的Springboot Websocket端点。使用SOCKJS访问WebSocket时,浏览器控制台中出现404错误 有关问题和步骤的更多详细信息: 我用了这个项目。本spring参考使用了客户端web库的包。但是它没有加载客户端JS库,所以我修改了下面的链接来工作 <link href="https://cdn.jsdelivr.net/webjars/org.webjars/bootstrap/3.4.1/bootstrap.
<link href="https://cdn.jsdelivr.net/webjars/org.webjars/bootstrap/3.4.1/bootstrap.min.css" rel="stylesheet">
<link href="/main.css" rel="stylesheet">
<script src="/app.js"></script>
<script src="https://cdn.jsdelivr.net/webjars/org.webjars/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.2/dist/js/bootstrap.min.js"></script>
<script src="https://cdn.jsdelivr.net/webjars/org.webjars/sockjs-client/1.1.2/sockjs.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/webstomp-client@1.2.6/dist/webstomp.min.js"></script>
服务器端代码:
WebSocketConfig
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/app");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/gs-guide-websocket").setAllowedOrigins("*").withSockJS();
}
}
控制器
@Controller
public class GreetingController {
@MessageMapping("/hello")
@SendTo("/topic/greetings")
public Greeting greeting(HelloMessage message) throws Exception {
Thread.sleep(1000); // simulated delay
return new Greeting("Hello, " + HtmlUtils.htmlEscape(message.getName()) + "!");
}
}
根据这一点,我们在Jboss EAP 6.4中做了以下更改
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/app");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/gs-guide-websocket").setAllowedOrigins("*").withSockJS();
}
}
@Controller
public class GreetingController {
@MessageMapping("/hello")
@SendTo("/topic/greetings")
public Greeting greeting(HelloMessage message) throws Exception {
Thread.sleep(1000); // simulated delay
return new Greeting("Hello, " + HtmlUtils.htmlEscape(message.getName()) + "!");
}
}