Cometd兼容jetty 8.1.11

时间:2013-11-21 11:14:26

标签: java jetty comet cometd jetty-8

我目前正在使用cometd 1.0.0和jetty 8.1.11进行项目。

我收到以下异常: WARN:oejut.Timeout:EXCEPTION java.lang.NoSuchMethodError: org.eclipse.jetty.util.LazyList.removeFromArray([Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; at org.cometd.server.ClientImpl.removeSubscription(ClientImpl.java:495) at org.cometd.server.ChannelImpl.unsubscribe(ChannelImpl.java:339) at org.cometd.server.ClientImpl.unsubscribeAll(ClientImpl.java:527) at org.cometd.server.AbstractBayeux.removeClient(AbstractBayeux.java:526) at org.cometd.server.ClientImpl.remove(ClientImpl.java:370) at org.cometd.server.continuation.ContinuationClient.remove(ContinuationClient.java:220) at org.cometd.server.continuation.ContinuationClient$1.expired(ContinuationClient.java:60) at org.eclipse.jetty.util.thread.Timeout.tick(Timeout.java:140) at org.eclipse.jetty.util.thread.Timeout.tick(Timeout.java:153) at org.cometd.server.continuation.ContinuationBayeux$1.run(ContinuationBayeux.java:76) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462)

当我更新到版本1.1.5时,我再也看不到这个错误了。但是在负载测试中我对jetty的cpu使用率非常高。

任何人都可以建议与jetty 8.1.11兼容的稳定版本的cometd。

2 个答案:

答案 0 :(得分:3)

CometD 1.x不再维护; CometD 2.x自2010年7月开始发布。

我强烈建议您升级到CometD 2.x(当前版本2.7.0),这将适用于每个Jetty 8版本,但我建议您使用最新的Jetty 8,目前{{1} }。

答案 1 :(得分:2)

查看有关Maven Central的信息,看来Cometd首次使用Jetty8首先出现在the metadata for Cometd 2.7.0中。

但是,它将版本8.1.13.v20130916列为自己使用的版本,而不是版本8.1.11。

为了完整起见,这里是the metadata for Cometd 2.6.0,请注意它没有jetty8参考。