Tomcat 7.0.50 で実行されている作業中の Spring MVC 4.0.2 プロジェクトでは、公式リファレンスに従って、単純なブローカーと sockjs ストンプ エンドポイントを使用して Spring Websocket を実装しようとしています。したがって、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コンソール(カタリナログ)に行が表示されます
- ExecutorService 'clientInboundChannelExecutor' を初期化しています
- ExecutorService 'clientOutboundChannelExecutor' を初期化しています
- ExecutorService 'messageBrokerSockJsScheduler' を初期化しています
- タイプ [class org.springframework.web.socket.sockjs.support.SockJsHttpRequestHandler] のハンドラーにマップされた URL パス [/monitor/**]
jspページにコードを入れました
. . . .
var socket = new SockJS("モニター");
var stompClient = Stomp.over(ソケット); . . . .
残念ながら、Chrome (v32) から jsp ページをロードすると、次のエラーが発生します。
リソースの読み込みに失敗しました: サーバーは 404 (見つかりません) のステータスで応答しました
http://localhost:8080/(プロジェクト名)/monitor/info
明らかに、私はこのテストをローカルで行っています。その後、他のすべての webapp リソースは http://localhost/(ProjectName) で正しく到達可能です。
どうしたの?
**** 2014 年 2 月 20 日更新Spring Websocket に Tomcat8 を使用することを提案しているこの解決済みのスタックの質問に従おうとしましたが、残念ながら機能しません。