Я использую vertx с rx-java.
У меня есть статья, которая подписывается на события на 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
звонки вообще)