Cometd Совместимость с пристанью 8.1.11

В настоящее время я работаю над проектом, используя кометд 1.0.0 и причал 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, я больше не вижу эту ошибку. но использование моего процессора для причала довольно высоко при нагрузочном тестировании.

Может ли кто-нибудь предложить стабильную версию cometd, совместимую с jetty 8.1.11.


person gusainhimanshu    schedule 21.11.2013    source источник


Ответы (2)


CometD 1.x больше не поддерживается; CometD 2.x выходит с июля 2010 года.

Я настоятельно рекомендую вам перейти на CometD 2.x (текущая версия 2.7.0), которая будет нормально работать с каждой версией Jetty 8, хотя я рекомендую вам использовать последнюю версию Jetty 8, в настоящее время 8.1.14.v20131031.

person sbordet    schedule 21.11.2013
comment
спасибо, я согласен, что мне следует обновиться до последней версии, но пока мне нужно временное решение, так как я планирую перейти на jetty 9 и cometd 3 и жду сборки cometd 3. - person gusainhimanshu; 21.11.2013

Глядя на информацию на Maven Central, кажется, что первый раз, когда Jetty8 используется самой кометд, сначала появляется в метаданные для Cometd 2.7.0.

Однако он указывает версию 8.1.13.v20130916 как ту, которую использует сам, а не версию 8.1.11.

Для полноты картины приведем метаданные для Cometd. 2.6.0, обратите внимание, что здесь нет ссылки на jetty8.

person Joakim Erdfelt    schedule 21.11.2013
comment
Спасибо. Значит, вы имеете в виду, что мне следует перейти на jetty 8.1.13.v20130916 и cometd 2.7.0, поскольку другие версии могут вызывать проблемы совместимости? - person gusainhimanshu; 21.11.2013