Netty Nio UDT 시도 오류를 시도하면 문서에서 답을 찾을 수 없습니다.

StackOverflow https://stackoverflow.com/questions/19849405

  •  29-07-2022
  •  | 
  •  

문제

제목이 좋지 않아서 죄송하지만 정확히 말하는 것과 같습니다. 나는 Netty를 처음 접했고 이것은 내가하려는 일에 대한 네트워크 솔루션에서 두 번째 시도입니다. 첫 번째 솔루션 직선 Java.nio UDP는 작동하지만 제가 할 수있는 것보다 비효율적이고 느립니다.

시작시 오류가 계속 발생하고 솔루션을 찾을 수 없습니다. 오류는 클래스 io.netty.channel.udt.nio.nioudtprovider에 그러한 필드 랑데부가 없음을 알려줍니다. Javadocs에서 이것은 스레드가하는 일을 지정하는 것 같습니다. 항아리를 놓치고 있습니까? 무슨 일이에요? 이것을 해결하는 방법에 대한 포인터를 얻을 수 있습니까?

Netty 4.0.0.1 CR1을 사용하고 있습니다. 예제와 함께 작동하는 유일한 릴리스입니다. 또한 ClassPath에 Barchart-udt-Core-2.2.0 및 JSCH가 있습니다.

내 서버의 메인 클래스에서 문제가 발생합니다 (메인이 아닌). 다음 줄에서.

    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 릴리스를 포함하는 Netty 4x 항아리를 찾으려고 노력했지만 동일하거나 다른 오류를 얻었습니다.

내 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= 에프

감사

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());

        }


    }

*업데이트*요청한 것처럼 업그레이드하고 동일한 오류를 얻습니다. 나는 현재 내 길에서 Jars 4.0.12와 4.0.12-Final과 함께 Netty 4.0.12를 운영하고 있습니다. 하나 또는 다른 항아리가 있든 동일한 오류가 발생하고 Eclipse 캐시를 지 웠습니다. STS 스프링 도구에서도 동일한 문제가 발생합니다. 모든 도움이 감사합니다. 감사

도움이 되었습니까?

해결책

모든 도움에 감사드립니다. 나는 모든 항아리를 내 클래스 경로로 옮기고 내용을 읽은 후 범인을 발견했습니다. UDT 코어에서 뭔가 빠졌으므로 몇 가지 오래된 버전이 있었을 것입니다. 나는 정말로 Wildfly/Netty Guys가 이것을 조금 더 잘 기록하기를 바랍니다. UDT 코어 항아리를 다운로드했는데 문제가 해결되었습니다. 최신 항아리는 찾기가 어렵습니다. 그들은 있습니다 http://repo1.maven.org/maven2/com/barchart/udt/

다른 팁

Netty 4.0.12로 업그레이드하십시오 ... 버전은 매우 오래되었고 UDT와 함께 작업 예제가 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top