我正在學習API中的Reactive Streams,我對此和JMS之間的相似性感到震驚。在JMS中,我們也有異步處理,發佈者和訂閱者。我在做這種對等時缺少什麼樣的觀點?JMS與Reactive Streams有何不同?
回答
爲了使流動成爲反應性的,它應該能夠應用背壓。 (請參閱this initiative。)
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
- 1. Akka Streams KillSwitch在alpakka jms
- 2. 如何使用Reactive Streams進行NIO二進制處理?
- 3. 使用Reactive Streams Processor作爲事件總線通常可以嗎?
- 4. 在RxJava 2.0中使用Reactive-Streams處理器
- 5. shiny - reactive()選擇兩個reactive()
- 6. 不同的JMS提供
- 7. Websphere JMS與BUS
- 8. 使用Oracle Streams AQ在Spring MDB中共享JMS和Hibernate事務?
- 9. Reactive Streams Specification 1.0發佈之後,jdbc規範是否也會被反應?
- 10. 同步問題與JMS和JPA
- 11. AWS Kinesis Firehose和Streams在處理時間上有任何不同嗎?
- 12. Textarea與Inline有何不同?
- 13. linq與linq有何不同?
- 14. jms如何與tibco合作?
- 15. JMS客戶端和JMS服務器時間戳不同
- 16. Haskell:FRP Reactive Parsec?
- 17. 用戶界面輸入與reactive-banana-wx
- 18. 與Streams同時計算總和和平方和
- 19. 與JMS連接Alpakka
- 20. JMS同步通信
- 21. Shiny Reactive ggplot Output
- 22. Spring Reactive WebClient
- 23. SoundPool Streams
- 24. Promisify streams
- 25. EnumMap&streams
- 26. OSB - 與JMS拆分加入
- 27. 如何用Streams替換Iterables.filter()?
- 28. 不同JVM上的JMS消費者
- 29. jms和不同版本的枚舉
- 30. videomixing decodebin streams