This is a naive implementation of a bidirectional flow from/to ActiveMq; it assumes:
- a 1 on 1 correspondence (bijection) between items sent from Out and received on In (see diagram)
- that ordering is preserved between Out and In (see diagram); i.e. no mapAsyncUnordered, ideally no network-
traversals; careful with dispatching to actors
- that at-least-once-delivery is acceptable on ActiveMqSink
This flow is practical for the typical use case of handling a request received from activemq, processing it with
some bidi-flow, and dispatching a response to ActiveMq. The original requests gets acked once the response is sent.
+-------------+
ActiveMqSource ~>| |~> Out
| AckBidiFlow |
ActiveMqSink <~| |<~ In
+-------------+
This is a naive implementation of a bidirectional flow from/to ActiveMq; it assumes: - a 1 on 1 correspondence (bijection) between items sent from Out and received on In (see diagram) - that ordering is preserved between Out and In (see diagram); i.e. no mapAsyncUnordered, ideally no network- traversals; careful with dispatching to actors - that at-least-once-delivery is acceptable on ActiveMqSink
This flow is practical for the typical use case of handling a request received from activemq, processing it with some bidi-flow, and dispatching a response to ActiveMq. The original requests gets acked once the response is sent.