Спасибо за всю помощь.Я нашел виновника, переместив все банки в свой classpath и прочитав их содержимое.Чего-то не хватало в udt-ядре, поскольку, очевидно, у меня было несколько более старых версий.Я действительно хотел бы, чтобы ребята из wildfly / the netty задокументировали это немного лучше.Я скачал udt-core jar, и это решило проблему.Самые свежие банки трудно найти.Они находятся в http://repo1.maven.org/maven2/com/barchart/udt/
Попытка Netty NIO Udt Выдает ошибку, и я не могу найти ответ в документах
-
29-07-2022 - |
Вопрос
Извините за, возможно, плохое название, но это именно то, что там написано.Я новичок в Netty, и это моя вторая попытка найти сетевое решение для того, что я пытаюсь сделать.Первое решение для java.nio UDP работает, но неэффективно и медленнее, чем я могу выдержать.
Я продолжаю получать сообщение об ошибке при запуске и не могу найти решение.Ошибка сообщает мне, что в классе io.netty.channel.udt.nio.NioUdtProvider нет такого поля Rendezvous.Из 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)
Я пытался найти netty 4x jar, который содержит эти определения, в частности, полную версию 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
Спасибо
Утилизационный поток
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 с банками 4.0.12 и 4.0.12-FINAL на моем пути.Та же ошибка возникает независимо от того, есть ли у меня одна или другие банки и я очистил свой кэш eclipse.Та же проблема возникает и в инструментах STS spring tools.Любая помощь приветствуется.Спасибо
Решение
Другие советы
Пожалуйста, обновите netty до версии 4.0.12.Final...Ваша версия довольно старая, и у нас там есть рабочие примеры с UDT.