【问题标题】:ActiveMQ Artemis cluster: JMS ConnectionFactoryActiveMQ Artemis 集群:JMS ConnectionFactory
【发布时间】:2020-10-20 16:05:52
【问题描述】:

我想建立一个有 4 个节点的 ActiveMQ Artemis HA 集群:两个主节点,两个从节点。

我已经尝试过只使用一个节点,它正在工作。现在我必须在我的代码中调整ConnectionFactory,以便它可以与集群连接。

在 ActiveMQ Artemis 文档中,我发现了类似的内容:

@Bean
public ConnectionFactory connectionFactory() {    
    TransportConfiguration transportConfiguration = new TransportConfiguration(NettyConnectorFactory.class.getName());
    ConnectionFactory cf = ActiveMQJMSClient.createConnectionFactoryWithHA(JMSFactoryType.CF, transportConfiguration);
    return cf;
}

JavaDoc 说:

创建一个 ActiveMQConnectionFactory,在服务器离开或加入时从集群接收集群拓扑更新,并指定或删除新的备份。

如何在此处设置指定的url以供ssl使用等?

@Bean
public ConnectionFactory connectionFactory() {    
    ConnectionFactory cf = new ActiveMQConnectionFactory("tcp://localhost:61616?sslEnabled=true&trustStorePath=activemq.example.truststore&trustStorePassword=activemqexample");
    return cf;
}

JMS 连接工厂,文档中没有进一步说明。

这里有拓扑信息下载吗?

预期的使用方式是什么以及如何使用它?

【问题讨论】:

    标签: spring-jms activemq-artemis


    【解决方案1】:

    客户端收到的拓扑信息只是真正用于故障转移。要创建支持故障转移的 JMS 连接工厂 URL,只需添加带有值 trueha 参数,例如:

    tcp://localhost:61616?ha=true
    

    如果您需要 SSL/TLS 配置,您也可以添加,例如:

    tcp://localhost:61616?ha=true&sslEnabled=true&trustStorePath=activemq.example.truststore&trustStorePassword=activemqexample
    

    如果您希望 URL 能够潜在地连接到集群中的任何节点,那么您可以添加多个主机/端口元素,例如:

    (tcp://node1:61616,tcp://node2:61616,tcp://node3:61616,tcp://node4:61616)?ha=true&sslEnabled=true&trustStorePath=activemq.example.truststore&trustStorePassword=activemqexample
    

    除了硬编码的主机/端口元素,您还可以使用 UDP 发现来查找集群节点,例如:

    udp://231.7.7.7:9876?ha=true&sslEnabled=true&trustStorePath=activemq.example.truststore&trustStorePassword=activemqexample
    

    此处使用的组地址和端口(即231.7.7.7:9876)应与为集群节点配置的broadcast-group 使用的组地址和端口匹配。另外,请记住,这里使用的 UDP 数据包通常只通过单个子网传输。

    【讨论】:

      猜你喜欢
      • 2018-05-08
      • 1970-01-01
      • 2021-02-15
      • 2021-06-09
      • 2020-02-24
      • 2021-10-13
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多