[英]Java Spring Boot project with Websockets returning status 500 error
我是一名学生,正在学习如何使用Spring Boot来构建Web应用程序。 我有一个正在尝试使用websockets的项目。
尝试连接到已部署应用程序上的聊天时遇到500状态错误。
我已经在这里部署了我的项目。 要进行测试,请使用以下登录名:gohan@gohan.com / password
当我通过Spring Tool Suite在自己的计算机上托管应用程序时,聊天功能将完美无缺。 尝试连接到聊天时,仅在我的EC2 Ubuntu Server 16.04 LTS(HVM)实例上遇到此500级错误。
我已经遵循了聊天应用程序的以下教程: https://www.callicoder.com/spring-boot-websocket-chat-example/ 。
这是我的websocket配置文件:
package com.web.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.*;
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/ws").setAllowedOrigins("*").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.setApplicationDestinationPrefixes("/app");
registry.enableSimpleBroker("/channel");
}
}
有人可以向我解释为什么使用websockets的应用程序在本地托管时运行正常,而在部署时却运行不正常吗?
此外,有人可以提供一种解决方案,使我可以理解为什么会出现此问题吗?
我能够使用以下配置来部署和运行您的应用程序(在Tomcat服务器上):
public class Project1Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Project1Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Project1Application.class, args);
}
/*@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
Connector ajpConnector = new Connector("AJP/1.3");
ajpConnector.setPort(9090);
ajpConnector.setSecure(false);
ajpConnector.setAllowTrace(false);
ajpConnector.setScheme("http");
tomcat.addAdditionalTomcatConnectors(ajpConnector);
return tomcat;
}*/
}
为了对其进行测试,我只是将其打包到ROOT.war中并将其扔到了webapps
文件夹中。 Websockets按预期工作。
希望这可以帮助。
PS。 这篇文章对我很有用。 祝好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.