0

我正在使用 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">
 <reconnect count="5" frequency="3000" blocking="false"/>
 </jms:activemq-connector>

现在,如果您看到上面的“clientId”属性,我已经得到了硬编码。我们在 2 台服务器中部署应用程序,在进行生产部署之前,我必须手动将其更改为相应机器的名称。

有没有一种方法可以让我使用一些 SYS_ENV 或像 $HOSTNAME 这样的宏,它们在部署后会自动替换为机器名称?

仅供参考 - 此客户端 ID 很有用,也可以查看 ActiveMQ 队列上的消费者。

谢谢

4

1 回答 1

1

使用与属性相同的属性解析器机制brokerURL,即。Spring 的属性解析器。

它允许您执行以下操作:

  • 为该值提供系统属性,以便您可以从命令行传递它。
  • 使用可选配置文件覆盖默认值。

这为您提供了足够的选项来适应您的生产环境实践。

于 2012-10-25T16:27:28.497 回答