这可能是一个 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 将其放入该代理?这是要有多个不同名称的经纪人吗?
感谢任何澄清,
最佳答案
根据文档,URI 格式为:
broker:(transportURI,network:networkURI)/brokerName?brokerOptions
因此,在您的情况下:
broker:(tcp://localhost:61666)/Test&persistent=true&useJmx=false
免责声明:尚未验证。
另一种可能更好的方法是指出配置 XML 而不是 URI。这使您可以更精细地控制一切。
关于java - activemq brokerName 总是本地主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16951645/