Netty NIO Udt Попытка выдачи ошибки, и я не могу найти ответ в Документах

Извините за возможно плохое название, но это именно так, как он говорит. Я новичок в Netty, и это моя вторая попытка сетевого решения того, что я пытаюсь сделать. Первое решение прямой java.nio UDP работает, но неэффективно и медленнее, чем я могу выдержать.

Я получаю сообщение об ошибке при запуске и не могу найти решение. Ошибка говорит мне, что нет такого поля Rendezvous в классе io.netty.channel.udt.nio.NioUdtProvider. Из javadocs кажется, что это определяет, что делает поток. Я скучаю по банке? Что случилось? Могу ли я получить какие-либо советы о том, как решить эту проблему?

Я использую Netty 4.0.0.1 CR1. Это единственный выпуск, который я нашел, который работает с примерами. У меня также есть barchart-udt-core-2.2.0 и jsch в моем пути к классам.

Проблема возникает в главном классе моего сервера (не с именем main). На следующей строке.

    final ThreadFactory connectionFactory=new UtilThreadFactory("connect");
    final ThreadFactory acceptFactory=new UtilThreadFactory("accept");
    final NioEventLoopGroup acceptGroup = new NioEventLoopGroup(1,acceptFactory,NioUdtProvider.MESSAGE_PROVIDER);
    final NioEventLoopGroup connectGroup=new NioEventLoopGroup(1,connectionFactory,NioUdtProvider.MESSAGE_PROVIDER);

Более конкретно, ошибка возникает в последних двух строках.

Я получаю следующий код ошибки при работе как с примером MsgEchoServer, так и с моим NettyServer.

    Nov 07, 2013 5:07:53 PM netty.NettyServer main
    INFO: init
    Exception in thread "main" java.lang.NoSuchFieldError: RENDEZVOUS
      at io.netty.channel.udt.nio.NioUdtProvider.<clinit>(NioUdtProvider.java:68)
      at netty.NettyServer.run(NettyServer.java:103)
      at netty.NettyServer.main(NettyServer.java:191)

Я попытался найти jar-файл netty 4x, который содержит эти определения, в частности, полный выпуск Netty, но получил те же или другие ошибки.

Мой код UtilThreadFactory приведен ниже и в значительной степени аналогичен http://grepcode.com/file/repo1.maven.org/maven2/io.netty/netty-example/4.0.0.CR1/io/netty/example/udt/echo/message/MsgEchoServer.java?av=f

Спасибо

UtilThread

    package Netty;

    import java.util.concurrent.ThreadFactory;
    import java.util.concurrent.atomic.AtomicInteger;

    public class UtilThreadFactory implements ThreadFactory{

        private static final AtomicInteger counter=new AtomicInteger();

        private final String name;

        public UtilThreadFactory(final String name)
        {
       this.name=name;
        }

        public Thread newThread(final Runnable runnable)
        {
            return new Thread(runnable,name+'-'+counter.getAndIncrement());

        }


    }

*ОБНОВЛЕНИЕ* Я обновил как запрошенный и получаю ту же самую ошибку. Сейчас я использую Netty 4.0.12 с jars 4.0.12 и 4.0.12-FINAL на моем пути. Такая же ошибка возникает, если у меня есть один или другие банки, и я очистил свой кэш затмения. Та же проблема возникает в пружинных инструментах STS. Любая помощь приветствуется. Спасибо

2 ответа

Решение

Спасибо за помощь. Я нашел виновника, переместив все банки в мой путь к классу и прочитав их содержимое. Чего-то не хватало в ядре udt, так как, очевидно, у меня было несколько старых версий. Я действительно хотел бы, чтобы Wildfly / Netty Парни документировали это немного лучше. Я скачал UDT-Core JAR, и это решило проблему. Последние банки трудно найти. Они находятся по адресу http://repo1.maven.org/maven2/com/barchart/udt/

Пожалуйста, обновитесь до netty 4.0.12. Наконец... Ваша версия довольно старая, и у нас есть рабочие примеры с UDT.

Другие вопросы по тегам