0

我目前正在使用 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)

当我将 cometd 更新到 1.1.5 版时,我再也看不到这个错误了。但我在码头的 cpu 使用率在负载测试中相当高。

任何人都可以建议一个与码头 8.1.11 兼容的稳定版本的彗星。

4

2 回答 2

3

CometD 1.x 不再维护;CometD 2.x 自 2010 年 7 月推出。

我强烈建议您升级到 CometD 2.x(当前版本2.7.0),它适用于每个 Jetty 8 版本,尽管我建议您使用最新的 Jetty 8,目前8.1.14.v20131031

于 2013-11-21T13:37:55.317 回答
2

查看 Maven Central 上的信息,cometd 本身第一次使用 Jetty8 似乎首先出现在Cometd 2.7.0 的元数据中

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

为了完整起见,这里是Cometd 2.6.0 的元数据,请注意它没有 jetty8 引用。

于 2013-11-21T13:19:00.240 回答