Java 弹簧&x2B;库兰托(码头不工作)

Java 弹簧&x2B;库兰托(码头不工作),java,spring,maven,spring-mvc,kurento,Java,Spring,Maven,Spring Mvc,Kurento,我有一个SpringBoot应用程序,使用SpringBootVersion1.3.1和Spring4.2.4创建一个简单的web应用程序,提供RESTAPI和websocket服务器 我想在这个应用程序中使用Kurento媒体服务器库,但我遇到了一些问题 此Kurento Java库使用Jetty通过WebSocket连接到Kurento媒体服务器。我面临的问题是连接到这个websocket服务器,看起来Jetty(包含在lib中)有一些问题 当websocket尝试连接到服务器时,就会出现问

我有一个SpringBoot应用程序,使用SpringBootVersion1.3.1和Spring4.2.4创建一个简单的web应用程序,提供RESTAPI和websocket服务器

我想在这个应用程序中使用Kurento媒体服务器库,但我遇到了一些问题

此Kurento Java库使用Jetty通过WebSocket连接到Kurento媒体服务器。我面临的问题是连接到这个websocket服务器,看起来Jetty(包含在lib中)有一些问题

当websocket尝试连接到服务器时,就会出现问题。连接总是失败(kurento服务器正常,见下文)。日志显示了大量信息(),但具体问题如下:

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媒体服务器已启动,IP和端口以及其他类似问题没有问题,因为我可以从web浏览器(使用)设置与Kurento服务器的websocket连接。错误发生在java堆栈中

我还根据这个示例创建了一个独立的Jetty应用程序,并成功连接到Kurento websocket服务器


码头和弹簧有什么问题吗?这就是问题所在吗?我应该怎么做才能修复此错误?

问题在于Jetty依赖项,Kurento需要特定版本,并且没有自动包含该版本

<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-util</artifactId>
    <version>9.3.0.M2</version>
</dependency>

<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-io</artifactId>
    <version>9.3.0.M2</version>
</dependency>

org.eclipse.jetty
码头
9.3.0.2平方米
org.eclipse.jetty
码头
9.3.0.2平方米