Java 是否存在Vert.x MessageConsumer无法从事件总线注销的情况? public void注销消费者(MessageConsumer mc){ mc.取消注册(结果->{ if(result.successed()) 返回; 其他的 //哦 }); }

Java 是否存在Vert.x MessageConsumer无法从事件总线注销的情况? public void注销消费者(MessageConsumer mc){ mc.取消注册(结果->{ if(result.successed()) 返回; 其他的 //哦 }); },java,vert.x,event-bus,vertx-eventbus,Java,Vert.x,Event Bus,Vertx Eventbus,如果出现失败的AsyncResult,只需再次调用unregistereconsumer是否不明智,可能是使用vertx.setTimer(5000,id->unregistereconsumer(mc))?如果Vert.x没有集群化,那么失败的几率可以忽略不计(只有在出现错误时才会发生) 如果Vert.x是群集的,如果基础群集管理器无法删除订阅(例如,如果网络通信丢失),则可能会发生这种情况 至于重试,如果您的应用程序动态注册使用者,这可能是一个好主意。否则,您可以忽略失败,让流程停止。群集管

如果出现失败的
AsyncResult
,只需再次调用
unregistereconsumer
是否不明智,可能是使用
vertx.setTimer(5000,id->unregistereconsumer(mc))

如果Vert.x没有集群化,那么失败的几率可以忽略不计(只有在出现错误时才会发生)

如果Vert.x是群集的,如果基础群集管理器无法删除订阅(例如,如果网络通信丢失),则可能会发生这种情况


至于重试,如果您的应用程序动态注册使用者,这可能是一个好主意。否则,您可以忽略失败,让流程停止。群集管理器最终将清理订阅。

如果Vert.x没有群集化,则失败的可能性可以忽略不计(只有在出现错误时才会发生)

如果Vert.x是群集的,如果基础群集管理器无法删除订阅(例如,如果网络通信丢失),则可能会发生这种情况

至于重试,如果您的应用程序动态注册使用者,这可能是一个好主意。否则,您可以忽略失败,让流程停止。群集管理器最终将清理订阅

public void unregisterConsumer(MessageConsumer<Object> mc) {
    mc.unregister(result -> {
        if(result.succeeded())
            return;
        else
            //uh oh
    });
    
}