Java 如何在不阻塞的情况下调用JmsListener内部的反应式服务? @组件 @所需参数构造函数 公共类事件侦听器{ 私有最终事件处理服务事件处理服务; @JmsListener(destination=“inputQueue”,constainerFactory=“myContainerFactory) 公共无效接收消息(消息消息){ eventProcessingService(message).block();//返回Mono } }

Java 如何在不阻塞的情况下调用JmsListener内部的反应式服务? @组件 @所需参数构造函数 公共类事件侦听器{ 私有最终事件处理服务事件处理服务; @JmsListener(destination=“inputQueue”,constainerFactory=“myContainerFactory) 公共无效接收消息(消息消息){ eventProcessingService(message).block();//返回Mono } },java,spring-webflux,spring-jms,Java,Spring Webflux,Spring Jms,我有一些侦听器侦听队列,当消息传入时,它调用服务的反应式方法(EventProcessingService)。我想知道当我阻止响应式服务的执行时会发生什么,这会导致错误吗?如果您的应用程序是使用消息的应用程序,最合适的方法是调用subscribe() Subscribe应该被使用,如果你的应用程序是最终目的地,你还没有发布eventProcessingService实际上做了什么,那么你真的不能说 所有代码都可能导致错误,这取决于您的错误处理方式。Subscribe本身不会抛出任何错误,但您可以

我有一些侦听器侦听队列,当消息传入时,它调用服务的反应式方法(EventProcessingService)。我想知道当我阻止响应式服务的执行时会发生什么,这会导致错误吗?

如果您的应用程序是使用消息的应用程序,最合适的方法是调用
subscribe()

Subscribe
应该被使用,如果你的应用程序是最终目的地,你还没有发布
eventProcessingService
实际上做了什么,那么你真的不能说

所有代码都可能导致错误,这取决于您的错误处理方式。
Subscribe
本身不会抛出任何错误,但您可以选择以不同的方式处理错误

您可以看到关于如何处理错误以及是否要记录错误等的不同示例

@Component
@RequiredArgsConstructor
public class EventListener {
    
    private final EventProcessingService eventProcessingService;

    @JmsListener(destination = "inputQueue", constainerFactory = "myContainerFactory)
    public void receiveMessage(Message message) {
       eventProcessingService(message).block(); // return Mono<Void>
    }

}