ActiveMQ Artemis is not a supported pub/sub
Description
The pubsub.solace.amqp component (pubsub/solace/amqp) hardcodes a Solace-specific addressing convention: it prefixes every address with topic:// or queue:// before opening an AMQP 1.0 sender/receiver link (see AddPrefixToAddress in amqp.go).
This convention is Solace-specific. ActiveMQ Artemis does not interpret topic:///queue:// prefixes by default — routing type (ANYCAST vs MULTICAST) is resolved via broker-side address-settings/default-address-routing-type, or via custom anycastPrefix/multicastPrefix values configured per-acceptor in broker.xml, which are arbitrary strings the admin chooses (not fixed to topic:///queue://).
As a result, when pointing this component at an Artemis broker (default acceptor config), messages are accepted (address auto-created) but never delivered to subscribers, since the literal address name (e.g. topic://orders) doesn't match what any subscriber is bound to.
To Reproduce
- Deploy ActiveMQ Artemis with a default AMQP acceptor (
protocols=AMQP, noanycastPrefix/multicastPrefixset). - Configure a
pubsub.solace.amqpcomponent pointed at the Artemis broker's AMQP URL. - Subscribe to a topic, then publish to the same topic name.
- Observe: publish succeeds, no error, but the subscriber never receives the message.
Expected behavior
Either:
- A documented broker-side workaround (configuring Artemis acceptor
anycastPrefix=queue://;multicastPrefix=topic://to match the component's convention), and/or - A supported pub/sub component/config path for Artemis that doesn't rely on Solace's addressing convention.
Environment
- Dapr runtime version: 1.18.2
Release Note
RELEASE NOTE: FIX Solace-AMQP addressing assumption breaks compatibility with ActiveMQ Artemis pub/sub
Source: dapr/dapr