如何使用 ActiveMQ Broker URI 创建双工连接?

How does one create a duplex connection using the ActiveMQ Broker URI?

我正在尝试创建一个从 TomEE 服务器到 ActiveMQ 主代理的双工桥。

  <Resource 
    id="ActiveMQResourceAdapter" 
    type="ActiveMQResourceAdapter">
    BrokerXmlConfig=broker:(vm://localhost,network:static:tcp://localhost:61616)?useJmx=false 
    ServerUrl=vm://localhost?async=true 
  </Resource>

这行得通,但只能在一个方向上。

我怀疑答案是这样做的:

  <Resource 
    id="ActiveMQResourceAdapter" 
    type="ActiveMQResourceAdapter">
    BrokerXmlConfig=broker:(vm://localhost,network:(static:tcp://localhost:61616)?duplex=true)?useJmx=false 
    ServerUrl=vm://localhost?async=true 
  </Resource>

但是这会导致解析错误。我觉得我错过了一些明显的东西。谢谢!

BrokerXmlConfig 属性 应该是指向有效 activemq.xml 配置文件位置的 uri。在 activemq.xml 文件中,您可以连接网络连接器和任何其他配置设置

此处有更多详细信息ActiveMQ and RA

tomee 支持 2 个代理 uri: - 经纪人:直接 URI - xbean(需要 active-mq-spring + spring tomee/lib 中的依赖项)

最后一个使用 Matt 提到的 amq.xml 语法,但第一个使用直接 URI。

不支持双工,因为 AMQ 不支持通过 URI 配置网络连接器,这已在即将推出的 tomee 中修复:https://issues.apache.org/jira/browse/TOMEE-1802

语法将是一个 uri 编码的 networkConnectorUris(例如端口 61616):

broker:(tcp://localhost:61616)?networkConnectorURIs=static%3A%2F%2Ftcp%3A%2F%2Flocalhost%3A61616%3Fduplex%3Dtru