activemq - ActiveMQ 配置:BrokerXMLConfig activemq.xml - 未找到相对路径文件
问题描述
我正在使用动态 Web 项目中的 WEB-INF/resources.xml 文件配置 ActiveMQ 的嵌入式实例,该文件引用外部 activemq.xml 文件。ActiveMQ 使用放置在 Tomcat 的 {$CATALINA_HOME}/conf 目录中的 activemq.xml 的绝对路径按预期启动和运行。将activemq.xml 放入项目的WEB-INF 目录时,Tomcat 无法使用相对路径找到BrokerXmlConfig 文件。
- 是否可以将activemq.xml文件与WEB-INF目录下的项目一起打包?
- 如果可能,Tomcat如何解析文件的路径?
工作资源.xml
<resources>
<Resource id="jmsConnectionFactory" type="javax.jms.ConnectionFactory">
connectionMaxIdleTime = 15 Minutes
connectionMaxWaitTime = 5 seconds
poolMaxSize = 10
poolMinSize = 0
resourceAdapter = MyJmsResourceAdapter
transactionSupport = xa
</Resource>
<Resource id="MyJmsResourceAdapter" type="ActiveMQResourceAdapter">
BrokerXmlConfig = xbean:file:/absolute/path/to/activemq.xml
ServerUrl = tcp://localhost:61616
</Resource>
<resources>
失败的资源.xml
<resources>
<Resource id="jmsConnectionFactory" type="javax.jms.ConnectionFactory">
connectionMaxIdleTime = 15 Minutes
connectionMaxWaitTime = 5 seconds
poolMaxSize = 10
poolMinSize = 0
resourceAdapter = MyJmsResourceAdapter
transactionSupport = xa
</Resource>
<Resource id="MyJmsResourceAdapter" type="ActiveMQResourceAdapter">
BrokerXmlConfig = xbean:file:WEB-INF/activemq.xml
ServerUrl = tcp://localhost:61616
</Resource>
<resources>
其他不成功的尝试:
BrokerXmlConfig = xbean:classpath:WEB-INF/activemq.xml
BrokerXmlConfig = xbean:file:WEB-INF/activemq.xml
BrokerXmlConfig = xbean:file:activemq.xml
BrokerXmlConfig = xbean:file:./activemq.xml
BrokerXmlConfig = xbean:file:../activemq.xml
BrokerXmlConfig = xbean:file:conf/activemq.xml
解决方案
我从来没有解决过 xbean 相对路径问题。使用绝对路径有效
BrokerXmlConfig = xbean:file:/absolute/path/to/activemq.xml
除了路径问题,我最终没有使用单独的 activemq.xml 文件。我刚刚将连接工厂与默认 JMS 资源适配器一起使用。
<resources>
<Resource id="jmsConnectionFactory" type="javax.jms.ConnectionFactory">
connectionMaxIdleTime = 15 Minutes
connectionMaxWaitTime = 5 seconds
poolMaxSize = 10
poolMinSize = 0
resourceAdapter = Default JMS Resource Adapter
transactionSupport = xa
</Resource>
<resources>
推荐阅读
- flutter - 颤振如何使用alertDialog?
- javascript - 如何每次在给定的字符串文本中生成一个新的随机字符串,满足正则表达式?
- debugging - 如何调试 MIPS 代码?感情问题
- gitlab - Windows gitlab-runner 不应用系统变量
- python - 如何在 pyspark 中将字典条目从字符串转换为时间戳?
- azure-devops - 特定任务的 Azure DevOps 管道日志
- python - 数组合并排序排序计数和排序时间Python
- android - 在以下任何来源中都找不到插件 [id: 'com.google.gms.google-services']
- python - 如何指定 numba 元组函数签名?
- python-3.x - 使用 PriorityQueue 实现 Dijkstra 算法得到错误结果