1

Spring Boot バージョン 1.3.1 と Spring 4.2.4 を使用して、REST API と Websocket サーバーを提供する単純な Web アプリケーションを作成する Spring Boot アプリがあります。

このアプリで Kurento Media Server lib を使用したいのですが、いくつか問題が発生しています。

この Kurento Java lib は、Jetty を使用して、websocket を使用して Kurento Media サーバーに接続します。私が直面している問題は、この websocket サーバーへの接続です。Jetty ( kurento-client 6.3.0 lib に含まれています) に問題があるようです。

問題は、websocket がサーバーに接続しようとしたときに発生します。接続は常に失敗します (kurento サーバーは問題ありません。以下を参照してください)。ログには多くの情報が表示されます ( pastebin の完全なログ ダンプ) が、具体的な問題は次のようになります。

Caused by: java.lang.AbstractMethodError: org.eclipse.jetty.io.SelectorManager.newEndPoint(Ljava/nio/channels/SocketChannel;Lorg/eclipse/jetty/io/SelectorManager$ManagedSelector;Ljava/nio/channels/SelectionKey;)Lorg/eclipse/jetty/io/EndPoint;
at org.eclipse.jetty.io.SelectorManager$ManagedSelector.createEndPoint(SelectorManager.java:743) [jetty-io-9.2.14.v20151106.jar:9.2.14.v20151106]
at org.eclipse.jetty.io.SelectorManager$ManagedSelector.processConnect(SelectorManager.java:681) [jetty-io-9.2.14.v20151106.jar:9.2.14.v20151106]
at org.eclipse.jetty.io.SelectorManager$ManagedSelector.processKey(SelectorManager.java:644) [jetty-io-9.2.14.v20151106.jar:9.2.14.v20151106]
at org.eclipse.jetty.io.SelectorManager$ManagedSelector.select(SelectorManager.java:611) [jetty-io-9.2.14.v20151106.jar:9.2.14.v20151106]
at org.eclipse.jetty.io.SelectorManager$ManagedSelector.run(SelectorManager.java:549) [jetty-io-9.2.14.v20151106.jar:9.2.14.v20151106]
at org.eclipse.jetty.util.thread.NonBlockingThread.run(NonBlockingThread.java:52) [jetty-util-9.2.14.v20151106.jar:9.2.14.v20151106]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) [jetty-util-9.2.14.v20151106.jar:9.2.14.v20151106]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) [jetty-util-9.2.14.v20151106.jar:9.2.14.v20151106]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
15:58:40.574 [     pool-3-thread-1] DEBUG - o.k.j.client.JsonRpcClientWebSocket      - [KurentoClient]  Closing client
15:58:40.574 [     pool-3-thread-1] DEBUG - o.e.j.websocket.client.WebSocketClient   - Stopping org.eclipse.jetty.websocket.client.WebSocketClient@41a60b
15:58:40.576 [     pool-3-thread-1] DEBUG - o.e.j.websocket.client.WebSocketClient   - Stopped org.eclipse.jetty.websocket.client.WebSocketClient@41a60b
15:58:40.576 [       restartedMain] DEBUG - o.k.j.client.JsonRpcClientWebSocket      - [KurentoClient]  Connecting webSocket client to server ws://10.39.40.215:8888/kurento
15:58:40.576 [     pool-3-thread-1] WARN  - o.kurento.jsonrpc.client.JsonRpcClient   - [KurentoClient]  Error sending heartbeat to server. Exception: [KurentoClient]  Exception connecting to WebSocket server ws://10.39.40.215:8888/kurento
15:58:40.577 [     pool-3-thread-1] WARN  - o.kurento.jsonrpc.client.JsonRpcClient   - [KurentoClient]  Stopping heartbeat and closing client: failure during heartbeat mechanism
15:58:40.577 [     pool-3-thread-1] INFO  - o.k.j.client.JsonRpcClientWebSocket      - [KurentoClient]  Closing websocket session to force reconnection

私はすでに Kurento ディスカッション グループで助けを求めましたが、最終的な回答はまだありません。ここでの議論: WebSocket サーバーへの接続中に例外が発生しました

私の Kurento メディア サーバーは稼働しており、Web ブラウザーから ( http://www.websocket.org/echo.htmlを使用して) Kurento サーバーへの Websocket 接続をセットアップできるため、IP やポートなどの問題はありません。 . エラーは Java スタックで発生しています。

また、このサンプルhttp://www.eclipse.org/jetty/documentation/current/jetty-websocket-client-api.htmlからスタンドアロンの Jetty アプリを作成し、Kurento Websocket サーバーに正常に接続しました。

Jetty と Spring に何か問題がありますか? それが問題ですか?このエラーを修正するにはどうすればよいですか?

4

1 に答える 1