You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过配置实现ActiveMQ 5.14.3与Solace 10.0.1.41的主题消息桥接?

ActiveMQ 5.14.3 到 Solace 10.0.1.41 的主题消息桥接方案

一、首选:通过ActiveMQ内置JMS桥接(纯配置实现,无需独立服务)

ActiveMQ原生支持JMS桥接功能,直接修改核心配置文件activemq.xml即可实现与Solace的主题消息转发,无需额外部署服务。

配置步骤与示例

  1. 添加Solace JMS连接工厂与桥接规则
    在ActiveMQ的activemq.xml中,找到<broker>标签,在内部新增<jmsBridgeConnectors>节点(若已有则直接修改):
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}">
  <!-- 保留原有配置 -->
  
  <jmsBridgeConnectors>
    <jmsQueueConnector name="solace-jms-bridge">
      <!-- 配置Solace的JNDI连接参数 -->
      <remoteConnectionFactory>
        <properties>
          <property name="java.naming.factory.initial" value="com.solacesystems.jndi.SolJNDIInitialContextFactory"/>
          <property name="java.naming.provider.url" value="smf://10.0.1.41:55555"/> <!-- Solace默认SMF端口 -->
          <property name="java.naming.security.principal" value="your-solace-username"/> <!-- 替换为你的Solace用户名 -->
          <property name="java.naming.security.credentials" value="your-solace-password"/> <!-- 替换为你的Solace密码 -->
        </properties>
      </remoteConnectionFactory>
      
      <!-- 主题桥接映射:ActiveMQ源主题 -> Solace目标主题 -->
      <outboundQueueBridges>
        <outboundQueueBridge>
          <localQueue>activemq-topic://demo/source/topic</localQueue> <!-- ActiveMQ侧的源主题 -->
          <remoteQueue>solace-topic://demo/target/topic</remoteQueue> <!-- Solace侧的目标主题 -->
        </outboundQueueBridge>
      </outboundQueueBridges>
    </jmsQueueConnector>
  </jmsBridgeConnectors>
  
  <!-- 保留原有配置 -->
</broker>

注意事项:

  • 需将Solace官方提供的JMS客户端jar包放入ActiveMQ的lib目录(需匹配Solace 10.0.1.41的兼容版本)
  • 若Solace环境修改了默认SMF端口,需同步调整java.naming.provider.url中的端口号
  • 替换配置中的用户名、密码为实际的Solace认证信息
  1. 重启ActiveMQ服务
    配置完成后重启ActiveMQ,桥接即可生效,发送到demo/source/topic的消息会自动转发到Solace的demo/target/topic。

二、其他可选桥接协议

除JMS外,还可通过以下协议实现桥接:

1. AMQP 1.0

两者均原生支持AMQP 1.0,可通过双向连接器实现:

  • ActiveMQ端:在activemq.xml的<transportConnectors>节点中启用AMQP监听:
<transportConnectors>
  <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
  • Solace端:配置AMQP客户端连接到ActiveMQ的5672端口,订阅源主题并发布到Solace目标主题;或直接配置Solace的AMQP桥接器指向ActiveMQ。

2. MQTT

适合轻量消息场景,两者均支持MQTT:

  • ActiveMQ在activemq.xml中启用MQTT监听(默认端口1883):
<transportConnectors>
  <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
  • Solace侧配置MQTT客户端连接到ActiveMQ,实现消息转发;或配置Solace的MQTT桥接器。

内容的提问来源于stack exchange,提问作者appletabo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 12:54:23