Mule-broker客户端ID配置
我正在使用activeMQ连接器Mule-broker客户端ID配置,mule,Mule,我正在使用activeMQ连接器 <jms:activemq-connector name="Active_MQ_1" brokerURL="${amq.broker.url.1}" eagerConsumer="true" numberOfConsumers="3" dynamicNotification="true" validateConnections="true" clientId="mule-server-01" doc:name="Active MQ"> &l
<jms:activemq-connector name="Active_MQ_1" brokerURL="${amq.broker.url.1}" eagerConsumer="true" numberOfConsumers="3" dynamicNotification="true" validateConnections="true" clientId="mule-server-01" doc:name="Active MQ">
<reconnect count="5" frequency="3000" blocking="false"/>
</jms:activemq-connector>
现在,如果您看到上面的“clientId”属性,我已经将其硬编码。我们正在2台服务器上部署应用程序,在进行生产部署之前,我必须手动将其更改为相应机器的名称
有没有一种方法可以让我使用一些SYS_ENV或一些宏,比如$HOSTNAME,一旦部署它就会自动被机器名替换
仅供参考-此客户端ID非常有用,并且可以查看ActiveMQ队列上的使用者
感谢您使用与
brokerURL
属性相同的属性解析器机制,即Spring的属性解析器
它允许您执行以下操作:
- 为该值提供系统属性,以便可以从命令行传递该值
- 使用可选配置文件覆盖默认值
这为您提供了足够的选项以适应您的生产环境实践。您是否在mule standalone中运行应用程序?您好。是的,我独自一人在赶骡子。但我有两台服务器,在那里我通过ActiveMQ Message BrokerTanks部署了相同的应用程序,以实现弹性和负载平衡。所以我可以定义一个属性,它实际上是一个系统变量?因此,我只想在部署时生效,而不是在构建阶段生效,以便它能够获取机器名。您知道有没有任何系统变量或宏可以用这种方式使用?类似于$HostName等。再次感谢没有包含主机名的标准Java系统属性(请参阅此处的列表:)。您必须将系统属性添加到用于Mule的任何启动命令中,并使用与shell环境相关的任何命令获取值。