محاولة 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. هذا هو الإصدار الوحيد الذي وجدته مع العمل مع الأمثلة. لدي أيضًا Barchart-udt-Core-2.2.0 و JSch في ClassPath.

المشكلة تحدث في الفصل الرئيسي لخادمي (غير مسمى رئيسي). في السطر التالي.

    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 التي تحتوي على هذه التعريفات ، وتحديداً إصدارًا كاملاً لـ NetTy ولكن الحصول على نفس الأخطاء أو مختلفة.

رمز utilthreadfactory الخاص بي أدناه وهو متماثل إلى حد كبير كما هو الحال من http://grepcode.com/file/repo1.maven.org/maven2/io.netty/netty-example/4.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 مع الجرار 4.0.12 و 4.0.12-Final في طريقي. يحدث الخطأ نفسه ما إذا كان لدي واحد أو جرار أخرى وقمت بمسح ذاكرة التخزين المؤقت Eclipse الخاصة بي. تحدث نفس المشكلة في أدوات STS Spring. أي مساعدة موضع تقدير. شكرًا

هل كانت مفيدة؟

المحلول

شكرا لجميع من العون. لقد وجدت الجاني بعد تحريك جميع الجرار إلى Classpath وقراءة محتوياتها. كان هناك شيء مفقود من udt-core كما يبدو أنه كان لدي عدد قليل من الإصدارات القديمة. أتمنى حقًا Wildfly/Netty Guys أن توثق هذا بشكل أفضل قليلاً. لقد قمت بتنزيل جرة UDT-Core وهذا حل المشكلة. من الصعب العثور على أحدث الجرار. انهم على http://repo1.maven.org/maven2/com/barchart/udt/

نصائح أخرى

يرجى الترقية إلى Netty 4.0.12.final ... نسختك قديمة جدًا ولدينا أمثلة عمل هناك مع UDT.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top