我目前正在使用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。
答案 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参考。