JMS与反应流有何不同?

JMS与反应流有何不同?,jms,reactive-programming,Jms,Reactive Programming,我正在学习API中的反应流,我被它与JMS之间的相似性所震撼。在JMS中,我们也有异步处理、发布者和订阅者。在进行这种等价时,我缺少了什么样的视角?为了使流具有反应性,它应该能够施加背压。(见附件。) JMS不支持这一点。主题发布者或队列发送者从未收到下游障碍物的通知,因此无法做出适当反应。反应流是面向背压的,JMS是面向消息的。尽管您可以使用JMS进行背压 阻塞API(非反应性) java.util.concurrent.Future::getjavax.jms.MessageConsumer

我正在学习API中的反应流,我被它与JMS之间的相似性所震撼。在JMS中,我们也有异步处理、发布者和订阅者。在进行这种等价时,我缺少了什么样的视角?

为了使流具有反应性,它应该能够施加背压。(见附件。)


JMS不支持这一点。主题发布者或队列发送者从未收到下游障碍物的通知,因此无法做出适当反应。

反应流是面向背压的,JMS是面向消息的。尽管您可以使用JMS进行背压

阻塞API(非反应性)

java.util.concurrent.Future::get
javax.jms.MessageConsumer.receive

非阻塞API

org.reactivestreams.Publisher::subscribe
javax.jms.MessageConsumer::setMessageListener
org.reactivestreams.Subscriber::onNext
javax.jms.MessageListener::onMessage

背压API消息API

org.reactivestreams.Subscription::request
javax.jms.MessageProducer::send

初始化/终结/错误处理

org.reactivestreams.Subscriber::onSubscribe
javax.jms.MessageListener::onMessage
org.reactivestreams.Subscriber::onError
javax.jms.MessageListener::onMessage
org.reactivestreams.Subscriber::onComplete
javax.jms.MessageListener::onMessage
org.reactivestreams.Subscription::cancel
javax.jms.MessageProducer::send