Netty Nio UDT -Versuch, Fehler zu geben, und ich kann die Antwort in den Dokumenten nicht finden

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

  •  29-07-2022
  •  | 
  •  

Frage

Entschuldigung für den möglicherweise schlechten Titel, aber es ist genau so, wie es sagt. Ich bin neu in Netty und dies ist mein zweiter Versuch, eine vernetzte Lösung für das zu machen, was ich versuche zu tun. Die erste Lösung gerade Java.nio UDP funktioniert jedoch ineffizient und langsamer als ich stehen kann.

Ich bekomme immer wieder einen Fehler beim Start und kann die Lösung nicht finden. Der Fehler sagt mir, dass es in der Klasse io.netty.channel.udt.nio.nioudtProvider kein solches Feld gibt. Aus den Javadocs scheint dies anzugeben, was der Thread tut. Vermisse ich ein Glas? Was ist passiert? Kann ich Hinweise darauf bekommen, wie ich das lösen kann?

Ich verwende Netty 4.0.0.1 Cr1. Es ist die einzige Veröffentlichung, die ich mit den Beispielen gefunden habe. Ich habe auch Barchart-udt-core-2.2.0 und JSCH in meinem Klassenpfad.

Das Problem tritt in der Hauptklasse meines Servers (nicht als Main bezeichnet) auf. In der folgenden Zeile.

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

Insbesondere tritt der Fehler in den letzten beiden Zeilen auf.

Ich erhalte den folgenden Fehlercode, wenn ich sowohl mit dem MSGechoServer -Beispiel als auch mit meinem NettyServer arbeite.

    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)

Ich habe versucht, ein Netty 4x -Glas zu finden, das diese Definitionen enthält, insbesondere eine vollständige Netto -Version, aber die gleichen oder unterschiedlichen Fehler.

Mein Utilthreadfactory -Code ist unten und ist so ziemlich der gleiche wie aus http://grepcode.com/file/repo1.maven.org/maven2/io.netty/netty-example/4.0.cr1/io/nety/example/udt/echo/message/msgechoserver.java?av= f

Vielen Dank

Utthread

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

        }


    }

*AKTUALISIEREN*Ich habe wie angefordert aktualisiert und habe genau den gleichen Fehler. Ich betreibe jetzt Netty 4.0.12 mit den JARs 4.0.12 und 4.0.12-Final in meinem Weg. Der gleiche Fehler tritt auf, ob ich ein oder andere Gläser habe und ich meinen Sonnenfinsterniscache gelöscht habe. Das gleiche Problem tritt in STS -Federwerkzeugen auf. Jede Hilfe wird geschätzt. Vielen Dank

War es hilfreich?

Lösung

Danke für all die Hilfe. Ich fand den Täter, nachdem ich alle Gläser auf meinen Klassenpfad gebracht und ihren Inhalt gelesen hatte. Im UDT-Core fehlte etwas, da ich anscheinend ein paar ältere Versionen hatte. Ich wünschte wirklich, Wildfly/Die Netty -Jungs würden dies ein bisschen besser dokumentieren. Ich habe das UDT-Core-Glas heruntergeladen und das Problem löste. Die neuesten Gläser sind schwer zu finden. Sie sind am http://repo1.maven.org/maven2/com/Barchart/udt/

Andere Tipps

Bitte upgrade auf netty 4.0.12.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top