0

我正在寻找一种在我的 ActiveMQ 配置中替换它的方法:

   <transportConnector uri="tcp://localhost:60019"> disableAsyncDispatch="false"/>

使用“ not-hardcoded” URI(例如,将“ localhost”替换为解析为实例相关值的变量)。问题是,由于我们JBoss每台服务器有许多实例,并且上面的 URI 解析为0.0.0.0:60019,所以一次只能运行一个实例,除非我们在每个应用程序的基础上配置它,这不仅令人沮丧,而且在某些情况下这还不够(应该基于每个实例,这更令人沮丧)。

每个JBoss服务器都有自己的IP地址,所以我想用${jboss.bind.address}它来规避这个,但它不会语法。我们还有一个环境变量%SERVERIP%,可用于从启动脚本调用它,但我不知道是否ActiveMQ读取环境变量来分配其传输连接器 URI。

任何帮助将非常感激。

4

1 回答 1

2

使用PropertyPlaceHolderConfigurer,您应该能够用文件或 jvm 系统变量中的一些 ${variable} 替换 uri。这应该可以工作,因为 ActiveMQ 配置实际上只是一个 Spring 上下文。

于 2013-07-11T13:37:48.057 回答