我將以下 Java 片段與 Vertx IO 一起用于 AQMP 1.0: this.vertx = Vertx.vertx(); AmqpBridge bridge = AmqpBridge.create(this.vertx); // Start the bridge, then use the event loop thread to process things // thereafter. bridge.start(hostname, port, username, password, res -> { // Set up a consumer using the bridge, register a handler for it. MessageConsumer<String> consumer = bridge .createConsumer(this.processorConfiguration.getQueueName()); // Add the message handler. consumer.handler(vertxMsg -> { String payload = vertxMsg.body(); logger.debug("Rx: " + payload); }); consumer.exceptionHandler(error -> { logger.error("Error - " + error.getMessage()); }); });}當我運行這段代碼時,我得到:2019-08-27 10:28:27,071 警告 (Slf4JLogger.java:151) - 觸發了 exceptionCaught() 事件,并且它到達了管道的尾部。這通常意味著管道中的最后一個處理程序沒有處理異常。io.netty.channel.ChannelPipelineException:io.vertx.core.net.impl.VertxHandler.handlerAdded() 拋出異常;刪除。在 io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:616) 在 io.netty.channel.DefaultChannelPipeline.addLast(DefaultChannelPipeline.java:226) 在 io.netty.channel.DefaultChannelPipeline.addLast(DefaultChannelPipeline.java:19) 2個)在 io.vertx.core.net.impl.NetClientImpl.connected(NetClientImpl.java:233) 在 io.vertx.core.net.impl.NetClientImpl.lambda$doConnect$3(NetClientImpl.java:188) 在 io.vertx .core.net.impl.ChannelProvider。這只是一個警告,但這是我需要解決的問題嗎?我似乎無法找出未處理的異常是什么。我目前無法讓我的應用程序接收任何消息,所以我試圖弄清楚這是否相關,或者(更有可能)我正在做其他愚蠢的錯誤。我想當我使用 AmqpClient 而不是使用以下命令時,我收到了相同的警告:https://vertx.io/docs/vertx-amqp-client/java/
1 回答

烙印99
TA貢獻1829條經驗 獲得超13個贊
發布后不久我靈機一動,檢查了我正在使用的 POM 文件。其中一個依賴項是使用舊版本的 Netty,這導致了此警告。我升級了依賴項,它使用了新版本的 Netty,警告消失了,我現在可以接收消息了。干杯!
添加回答
舉報
0/150
提交
取消