我使用vertx和rxjava。
我有一个verticle订阅eventbus上具有特定地址的事件:
eventBus.localConsumer(some_addres)
.toObservable()
.subscribe(message -> {
...
message.reply(...);
})
... same for other addresses...
和其他垂直轴使用以下方式发送事件:
eventBus.rxSend(some_address, message, new DeployOptions().setSendTimeout(60000));
垂直线是通过 RxHelper.deployVerticle
.
一切都很顺利,但是过了一段时间,其中一个地址被取消订阅,所有请求都失败了 ReplyException: No handlers for address some_ddress
错误,所有其他地址仍被订阅。
我在日志中没有看到任何vertx错误。
是什么原因导致消费者自动从其监听的特定地址取消订阅?
据我所知:如果请求因错误或超时而失败,则不应导致取消订阅,因此我不太明白什么会导致这种行为 unsubscribe
电话)
1条答案
按热度按时间km0tfn4u1#
问题似乎是以前的代码
message.reply
有时引发异常:简单修复: