【问题标题】:activemq brokerName always localhost?activemq brokerName 总是本地主机?
【发布时间】:2013-06-01 20:16:37
【问题描述】:

这可能是一个 n00b 问题,我已经在 CentoOS 上安装了 activemq,当我启动它时,将 brokerName 设置为“Test”:

 sudo activemq start broker:tcp://localhost:61666?brokerName=Test&persistent=true&useJmx=false

然后查询它:

sudo activemq query

代理名称始终为“localhost”...

....
QueueSubscribers = []
Topics = [org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Topic,destinationName=ActiveMQ.Advisory.MasterBroker]
TotalMessageCount = 0
SslURL =
TemporaryQueueSubscribers = []
BrokerName = localhost <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<HERE
DynamicDestinationProducers = []
Persistent = true
DataDirectory = /etc....
....

有人能解释一下吗?当我在示例 Java 类中使用 JMS API 进行连接时,指定上面的完整 URL 会将其放入该代理中吗?这是有多个不同名称的经纪人吗?

感谢您的澄清,

【问题讨论】:

  • localhost 是默认代理名。是不是在安装时,activeMQ 被设置为服务,所以这个默认名称的代理总是自动启动?
  • 我确实将它设置为服务,但是,which activemq 直接进入 /opt/activemq/bin/activemq 二进制文件。所以每次它启动另一个,因为我的用户与服务分开,不是吗?如果不是这种情况,为什么在同一参数行中给出的端口号被接受并开始侦听该非默认端口。

标签: java linux jms activemq amqp


【解决方案1】:

根据文档,URI 格式为:

broker:(transportURI,network:networkURI)/brokerName?brokerOptions

所以,在你的情况下:

broker:(tcp://localhost:61666)/Test&persistent=true&useJmx=false

免责声明:尚未验证。

另一种可能更好的方法是指出配置 XML 而不是 URI。这使您可以更精细地控制所有内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-24
    • 2017-06-28
    • 2020-07-29
    • 2021-09-02
    • 2016-10-22
    • 2011-12-16
    • 1970-01-01
    • 2011-03-09
    相关资源
    最近更新 更多