【问题标题】:Connecting Artemis and Amazon MQ brokers连接 Artemis 和 Amazon MQ 代理
【发布时间】:2019-11-19 18:14:54
【问题描述】:

我正在尝试将 Apache Artemis 代理与 Amazon MQ 代理连接以创建混合架构。我已经尝试将 ActiveMQ 与 Amazon MQ 连接起来,我可以通过在 broker.xml 文件中使用“网络连接器”来实现它,并且效果很好。

为了连接 Amazon MQ 和 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 not found.

所以我想了解连接 Artemis 和 AmazonMQ 代理是否与连接 Activemq 和 AmazonMQ 代理相同(即通过更改 broker.xml 文件中的配置)?如果是这样,我需要对上面显示的配置进行哪些更改?

【问题讨论】:

    标签: activemq-artemis amazon-mq


    【解决方案1】:

    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 附带的 this example 中查看这两个示例。

    【讨论】:

    • 感谢您花时间回答我的问题。进一步补充我的问题,是否有可能使用 Apache Camel、JMS 桥接或其他方式连接代理(Artemis 和 AmazonMQ)??
    • 我更新了我的答案以解决您的评论。希望有帮助!
    猜你喜欢
    • 2023-02-10
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 2021-03-16
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多