我將以下 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()); }); });}當(dāng)我運(yùn)行這段代碼時(shí),我得到:2019-08-27 10:28:27,071 警告 (Slf4JLogger.java:151) - 觸發(fā)了 exceptionCaught() 事件,并且它到達(dá)了管道的尾部。這通常意味著管道中的最后一個(gè)處理程序沒(méi)有處理異常。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個(gè))在 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。這只是一個(gè)警告,但這是我需要解決的問(wèn)題嗎?我似乎無(wú)法找出未處理的異常是什么。我目前無(wú)法讓我的應(yīng)用程序接收任何消息,所以我試圖弄清楚這是否相關(guān),或者(更有可能)我正在做其他愚蠢的錯(cuò)誤。我想當(dāng)我使用 AmqpClient 而不是使用以下命令時(shí),我收到了相同的警告:https://vertx.io/docs/vertx-amqp-client/java/
1 回答

烙印99
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
發(fā)布后不久我靈機(jī)一動(dòng),檢查了我正在使用的 POM 文件。其中一個(gè)依賴(lài)項(xiàng)是使用舊版本的 Netty,這導(dǎo)致了此警告。我升級(jí)了依賴(lài)項(xiàng),它使用了新版本的 Netty,警告消失了,我現(xiàn)在可以接收消息了。干杯!
添加回答
舉報(bào)
0/150
提交
取消