Vert.x用久了肯定有这样的想法:拦截EventBus上发送的所有消息。这个需求用Vertx EventBus Interceptor可以非常简单的实现,可惜的是,Vert.x文档却并没有明确的指出来。
vertx.eventBus().addInterceptor { sendContext -> Message message = sendContext.message() // 自由发挥…… sendContext.next() }
最后的那句 sendContext.next() 非常关键:如果没写,后续的consumer将无法收到刚刚被你拦截的消息!所以,一定要确保你是有意不写的。