emqx hook onMessagePublish 钩子 STOP_AND_RETURN 无作用 还是会有后续的执行过程

错误报告

环境

  • EMQX 版本:5.0.1
  • 操作系统版本:mac

问题:
emqx hook onMessagePublish 钩子 STOP_AND_RETURN 无作用 还是会有后续的执行过程,比如有调用 onMessageDelivered钩子,并成功发送消息,我想中止消息发送

     ValuedResponse  reply = ValuedResponse.newBuilder()
                        .setBoolResult(false)
                        .setType(ValuedResponse.ResponsedType.STOP_AND_RETURN)
                        .build();

        responseObserver.onNext(reply);
        responseObserver.onCompleted();

日志:

2022-11-20 20:59:58.497  INFO [guardian-region-api,N/A,38720a0b998c4acdb432dae384935bb5,0] 46838 --- [ult-executor-10] c.s.g.region.grpc.impl.GrpcInvokeAspect  : EmqxHookProviderImpl.onMessagePublish(..) EmqxHook out(2ms)
2022-11-20 20:59:58.503  INFO [guardian-region-api,N/A,22f44c2d80b94a489169da7a31c1c94f,0] 46838 --- [ult-executor-10] c.s.g.region.grpc.impl.GrpcInvokeAspect  : EmqxHookProviderImpl.onMessageDelivered(..) EmqxHook out(1ms)

STOP_AND_RETURN 指的的停止这个钩子调用链,继续往下执行。而不是停止投递。
现在仅支持在 OnMessagePublish 里面设置消息的 Header 的 allow_publish 为 false 来终止消息的发布

1 个赞

符合预期,谢谢

1 个赞