Spring Websocket和404连接状态

时间:2014-02-19 14:13:31

标签: spring websocket sockjs

在Tomcat 7.0.50下运行的一个正在运行的Spring MVC 4.0.2项目中,我正在尝试使用简单的代理和sockjs stomp端点实现Spring Websocket,遵循official reference。因此,在contextConfigLocation(DistpacherServlet属性)中,我添加了一个值“websocket-config.xml”,其中包含:

>     <websocket:message-broker application-destination-prefix="/app" >
>           <websocket:stomp-endpoint path="/monitor">
>             <websocket:sockjs />
>           </websocket:stomp-endpoint>
>           <websocket:simple-broker prefix="/topic"/>
>     </websocket:message-broker>

在启动Tomcat的eclipse控制台(catalina日志)中,出现行

  
      
  • 初始化ExecutorService'clientInboundChannelExecutor'
  •   
  • 初始化ExecutorService'weboutOutboundChannelExecutor'
  •   
  • 初始化ExecutorService'messageBrokerSockJsScheduler'
  •   
  • 将映射的URL路径[/ monitor / **]映射到[class org.springframework.web.socket.sockjs.support.SockJsHttpRequestHandler]
  • 类型的处理程序上   

在jsp页面中我放了代码

  

。 。 。 。
     var socket = new SockJS(“monitor”);
     var stompClient = Stomp.over(socket);      。 。 。

不幸的是,当我从Chrome(v32)加载jsp页面时,出现此错误:

  

无法加载资源:服务器响应状态为404(未找到)

     
    

http:// localhost:8080 /(ProjectName)/ monitor / info

  

显然我正在本地进行此测试,然后所有其他webapp资源都可以在http:// localhost /(ProjectName)正确访问。

怎么了?

**** 2014年2月20日更新 我试图遵循this已解决的堆栈问题,建议将Tomcat8用于Spring Websocket,遗憾的是它不起作用

1 个答案:

答案 0 :(得分:5)

由于对/ monitor / info的请求,服务器端的任何日志输出? DispatcherServlet本身是如何映射的?我希望从上面的内容中得到“/”。

SockJS端点基本上是在Spring MVC中映射的URL(使用SimpleUrlHandlerMapping),因此请尝试其他Spring MVC映射控制器方法。并打开日志记录,是否有过滤器或其他东西返回404?