> No, the producer sends messages to a queue "cms.test.c.client.queue", the
> consumer reads from that queue.
To be clear, I don't believe these two use-cases are directly comparable
due to the difference between pub/sub & point-to-point semantics, but I
digress.
Regarding your federation configuration...If you're only looking for
redundancy would it not be sufficient to specify 2 connectors for a single
upstream config instead of 2 upstream configs each with 1 connector? For
example:
<federations>
<federation name="ebp-ede-federation">
<upstream name="edeop2-upstream">
<circuit-breaker-timeout>1000</circuit-breaker-timeout>
<static-connectors>
<connector-ref>edeop2-connector-1</connector-ref>
<connector-ref>edeop2-connector-2</connector-ref>
</static-connectors>
<policy ref="policySetA"/>
</upstream>
<policy-set name="policySetA">
<policy ref="address-federation" />
</policy-set>
<address-policy name="address-federation" >
<include address-match="cms.#" />
</address-policy>
</federation>
</federations>
This would eliminate the duplication problem with pub/sub use-cases (e.g.
MQTT) and simplify your configuration.
Justin
On Thu, Jun 12, 2025 at 7:25 AM Devriendt, Erik
<[email protected]> wrote:
> > I think I see now, but I want to confirm since I've not seen this kind
> of configuration before. You've intentionally configured 2 federation
> connections in a redundant fashion so that each connection is sending the
> same message resulting in duplicates on the target. Is that correct?
> Yes. That is correct.
>
> > Are you using pub/sub in your OpenWire use-case?
> No, the producer sends messages to a queue "cms.test.c.client.queue", the
> consumer reads from that queue.
>
> > Also, can you share your federation config from broker.xml?
> Sure. Here it is:
>
> On Machine A (edeop2)
> -------------------
> ...
> <name>edeop2</name>
> ...
> <connectors>
> <connector name="artemis-connector">tcp://0.0.0.0:61616
> </connector>
> <connector name="ebp-ede-connector-1">tcp://192.168.101.203:61616
> </connector>
> <connector name="ebp-ede-connector-2">tcp://192.168.102.203:61616
> </connector>
> <connector name="edeop2-connector-1">tcp://192.168.101.204:61616
> </connector>
> <connector name="edeop2-connector-2">tcp://192.168.102.204:61616
> </connector>
> </connectors>
> ...
> <federations>
> <federation name="ebpop2-federation">
> <upstream name="ebp-ede-upstream-1">
> <circuit-breaker-timeout>1000</circuit-breaker-timeout>
> <static-connectors>
> <connector-ref>ebp-ede-connector-1</connector-ref>
> </static-connectors>
> <policy ref="policySetA"/>
> </upstream>
> <upstream name="ebp-ede-upstream-2">
> <circuit-breaker-timeout>1000</circuit-breaker-timeout>
> <static-connectors>
> <connector-ref>ebp-ede-connector-2</connector-ref>
> </static-connectors>
> <policy ref="policySetA"/>
> </upstream>
> <policy-set name="policySetA">
> <policy ref="address-federation" />
> </policy-set>
> <address-policy name="address-federation">
> <include address-match="cms.#" />
> </address-policy>
> </federation>
> </federations>
>
>
> On machine B (ebp-ede)
> ------------------
> ...
> <name>ebp-ede</name>
> ...
> <connectors>
> <connector name="artemis-connector">tcp://0.0.0.0:61616
> </connector>
> <connector name="ebp-ede-connector-1">tcp://192.168.101.203:61616
> </connector>
> <connector name="ebp-ede-connector-2">tcp://192.168.102.203:61616
> </connector>
> <connector name="edeop2-connector-1">tcp://192.168.101.204:61616
> </connector>
> <connector name="edeop2-connector-2">tcp://192.168.102.204:61616
> </connector>
> </connectors>
> ...
> <federations>
> <federation name="ebp-ede-federation">
> <upstream name="edeop2-upstream-1">
> <circuit-breaker-timeout>1000</circuit-breaker-timeout>
> <static-connectors>
> <connector-ref>edeop2-connector-1</connector-ref>
> </static-connectors>
> <policy ref="policySetA"/>
> </upstream>
> <upstream name="edeop2-upstream-2">
> <circuit-breaker-timeout>1000</circuit-breaker-timeout>
> <static-connectors>
> <connector-ref>edeop2-connector-2</connector-ref>
> </static-connectors>
> <policy ref="policySetA"/>
> </upstream>
> <policy-set name="policySetA">
> <policy ref="address-federation" />
> </policy-set>
> <address-policy name="address-federation" >
> <include address-match="cms.#" />
> </address-policy>
> </federation>
> </federations>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> For further information, visit: https://activemq.apache.org/contact
>
>