连接 ActiveMQ Artemis 和 Amazon MQ 代理

3
我正在尝试将ActiveMQ Artemis代理连接到Amazon MQ代理,以创建混合架构。我已经尝试过连接ActiveMQ和Amazon MQ,并且通过在activemq.xml文件中使用"网络连接器"来实现,效果很好。
为了连接Amazon MQ和ActiveMQ Artemis代理,我在Artemis的broker.xml文件中添加了下面显示的"桥接配置"和"连接器"。
<bridges>
    <bridge name="my-bridge">
        <queue-name>factory</queue-name>
        <forwarding-address>machine</forwarding-address>
        <filter string="name='rotor'"/>
        <reconnect-attempts>-1</reconnect-attempts>             
        <user>admin</user>
        <password>12345678</password>
        <static-connectors>                   
            <connector-ref>netty-ssl-connector</connector-ref>
        </static-connectors>
    </bridge>
</bridges>

<connectors> 
    <connector name="netty-ssl-connector">ssl://b-...c-1.mq.us-west-2.amazonaws.com:61617?sslEnabled=true;</connector>
</connectors>

我遇到了一个异常:找不到ssl schema
所以我想弄清楚连接ActiveMQ Artemis和Amazon MQ代理是否与连接ActiveMQ Activemq和Amazon MQ代理相同(即通过更改broker.xml文件中的配置)?如果是这样,我需要对上述显示的配置进行哪些更改?
1个回答

4

ActiveMQ Classic (即5.x版本)和Amazon MQ使用OpenWire协议在经纪人网络中建立连接。ActiveMQ Artemis支持使用OpenWire协议的客户端。但是,ActiveMQ Artemis为桥接和群集使用自己的“核心”协议。因此,您将无法从ActiveMQ Artemis创建到ActiveMQ Classic或Amazon MQ的桥接,因为那些代理无法理解Artemis的“核心”协议。

ssl模式是由OpenWire客户端使用的,而不是“核心”客户端。这就是为什么您无法使用它创建Artemis桥接的原因。

如果您想要集成Artemis和Amazon MQ,我建议使用类似Camel或者随Artemis一起提供的JMS桥接之类的东西。您可以在随Artemis附带的此示例中查看两者的示例。


1
感谢您抽出时间回答我的问题。进一步补充我的问题,是否有可能使用Apache Camel、JMS桥接或其他方式连接经纪人(Artemis和AmazonMQ)? - Question
1
我更新了我的回答以回应你的评论。希望有所帮助! - Justin Bertram

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接