Obrigado por toda a ajuda. Encontrei o culpado depois de mover todos os frascos para o meu caminho de classe e ler o conteúdo deles. Algo estava faltando no núcleo UDT, como aparentemente eu tinha algumas versões mais antigas. Eu realmente gostaria que os caras da Wildfly/The Netty documentassem isso um pouco melhor. Eu baixei o frasco UDT-Core e isso resolveu o problema. Os frascos mais recentes são difíceis de encontrar. Eles estão no http://repo1.maven.org/maven2/com/barchart/udt/
NETTY NIO UDT Tente dar um erro e não consigo encontrar a resposta nos documentos
-
29-07-2022 - |
Pergunta
Desculpe pelo título possivelmente ruim, mas é exatamente como diz. Sou novo na Netty e esta é minha segunda tentativa de uma solução em rede para o que estou tentando fazer. A primeira solução Java Straight Java.nio UDP funciona, mas é ineficiente e mais lento do que eu posso suportar.
Eu continuo recebendo um erro no início e não consigo encontrar a solução. O erro me diz que não existe um encontro de campo na classe io.netty.channel.udt.nio.nioudtprovider. A partir dos javadocs, parece que isso especifica o que o thread faz. Estou perdendo uma jarra? O que aconteceu? Posso obter alguma dica sobre como resolver isso?
Estou usando o Netty 4.0.0.1 CR1. É o único lançamento que encontrei com os exemplos. Eu também tenho barchart-udt-core-2.2.0 e JSCH no meu caminho de classe.
O problema está ocorrendo na classe principal do meu servidor (não nomeado principal). Na linha a seguir.
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);
Mais especificamente, o erro ocorre nas duas últimas linhas.
Recebo o seguinte código de erro ao trabalhar com o exemplo do MsGechoserver e meu 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)
Tentei encontrar um frasco de 4x que contém essas definições, especificamente uma versão completa da rede, mas obtenha os mesmos erros ou diferentes erros.
Meu código UtilThreadFactory está abaixo e é praticamente o mesmo que de 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
Obrigado
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());
}
}
*ATUALIZAR*Atualizei como solicitado e recebo exatamente o mesmo erro. Agora estou executando o Netty 4.0.12 com os frascos 4.0.12 e 4.0.12-final no meu caminho. O mesmo erro ocorre se eu tenho um ou outros frascos e limpei meu cache do Eclipse. O mesmo problema acontece nas ferramentas de primavera do STS. Qualquer ajuda é apreciada. Obrigado
Solução
Outras dicas
Atualize para a Netty 4.0.12.Final ... Sua versão é bastante antiga e temos exemplos de trabalho lá com a UDT.