前言: 采用SpringBoot进行项目开发,功能模块需要用到WebSocket,引入开发完成并打war包,在部署到tomcat服务器后访问不到。
查看tomckt日志发现报错:
javax.websocket.server.ServerContainer not available
原因: 由于打包后项目不再依赖内置tomcat,导致了在springboot内置tomcat正常的代码到了外置容器就不能运行
解决办法:
(一)注释掉serverEndpointExporter()
(二) 使用@Profile
注解(建议)
@Profile注解的参数为字符数组,当项目环境Active profiles为dev或者test时,使用@bean
serverEndpointExporter会正常装配,当Activeprofiles是其他比如prod的时候,serverEndpointExporter会被忽略不进行装配