Yes. You can bridge messages from Artemis to Classic and vice versa.
However, you can't use a Core bridge to do it. Core bridges, as the name
suggests, use the Core protocol. A Core bridge can't use the AMQP protocol.

I recommend Camel since it's mature, powerful, and ubiquitous. You can set
up Camel routes on either Artemis or Classic. Here's [1] an example of how
to do it on Artemis.

It's also possible to use the JMS bridge that ships with Artemis [2].


Justin

[1]
https://github.com/apache/activemq-artemis-examples/tree/main/examples/features/standard/camel
[2]
https://github.com/apache/activemq-artemis-examples/tree/main/examples/features/sub-modules/inter-broker-bridge/artemis-jms-bridge

On Thu, Oct 3, 2024 at 2:38 AM Kunal Rao <ku...@mechination.com.au> wrote:

> Hi,
>
> Is it possible to bridge artemis with classic broker?
> I am trying with AMQP protocol.
>
> I am getting this error
>
> p1broker-1       | 2024-10-03 07:34:50,270 WARN
>  [org.apache.activemq.artemis.core.server] AMQ224091: Bridge
> BridgeImpl@6a3012f8 [name=amqp-bridge, queue=QueueImpl[name=p1broker.out,
> postOffice=PostOfficeImpl [server=ActiveMQServerImpl::name=0.0.0.0],
> temp=false]@7af74850 targetConnector=ServerLocatorImpl (identity=Bridge
> amqp-bridge)
> [initialConnectors=[TransportConfiguration(name=activemq-classic-amqp,
>
> factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory)?port=5672&host=centralbroker&protocols=AMQP],
> discoveryGroupConfiguration=null]] is unable to connect to destination.
> Retrying
> centralbroker-1  |  WARN | Connection attempt from non AMQP v1.0 client.
> ARTEMIS,0
> centralbroker-1  |  WARN | Transport Connection to: tcp://172.19.0.3:33778
> failed: Connection from client using unsupported AMQP attempted
>
> broker.xml
> =========
>
> <acceptors>
>
> <acceptor name="artemis">
> tcp://
>
> 0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;amqpMinLargeMessageSize=102400;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300;amqpDuplicateDetection=true;supportAdvisory=false;suppressInternalManagementObjects=false
> </acceptor>
>
> <!-- AMQP Acceptor. Listens on default AMQP port for AMQP traffic.-->
> <acceptor name="amqp">
> tcp://
>
> 0.0.0.0:5672?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=AMQP;useEpoll=true;amqpCredits=1000;amqpLowCredits=300;amqpMinLargeMessageSize=102400;amqpDuplicateDetection=true;handshake-timeout=0
> </acceptor>
>
> <!-- STOMP Acceptor. -->
> <acceptor name="stomp">
> tcp://
>
> 0.0.0.0:61613?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=STOMP;useEpoll=true
> </acceptor>
>
> <!-- HornetQ Compatibility Acceptor. Enables HornetQ Core and STOMP for
> legacy HornetQ
> clients. -->
> <acceptor name="hornetq">
> tcp://
>
> 0.0.0.0:5445?anycastPrefix=jms.queue.;multicastPrefix=jms.topic.;protocols=HORNETQ,STOMP;useEpoll=true
> </acceptor>
>
> <!-- MQTT Acceptor -->
> <acceptor name="mqtt">
> tcp://
>
> 0.0.0.0:1883?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=MQTT;useEpoll=true
> </acceptor>
>
> </acceptors>
>
> <bridges>
> <bridge name="amqp-bridge">
> <queue-name>p1broker.out</queue-name>
> <forwarding-address>centralbroker.in</forwarding-address>
> <user>admin</user>
> <password>admin</password>
> <static-connectors>
> <connector-ref>activemq-classic-amqp</connector-ref>
> </static-connectors>
> </bridge>
> </bridges>
>
>
> <connectors>
> <connector name="activemq-classic-amqp">
> tcp://centralbroker:5672?protocols=AMQP</connector>
> </connectors>
>
>
> activemq.xml
> ===========
>
> <transportConnectors>
> <!-- DOS protection, limit concurrent connections to 1000 and frame size to
> 100MB -->
> <transportConnector name="openwire"
> uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;
> wireFormat.maxFrameSize=104857600000" />
> <transportConnector name="amqp"
> uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;
> wireFormat.maxFrameSize=104857600" />
> <transportConnector name="stomp"
> uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;
> wireFormat.maxFrameSize=104857600" />
> <transportConnector name="mqtt"
> uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;
> wireFormat.maxFrameSize=104857600" />
> <transportConnector name="ws"
> uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;
> wireFormat.maxFrameSize=104857600" />
> </transportConnectors>
>
>
> what am i doing wrong?
>
> Cheers
> Kunal
>

Reply via email to