Конфигурация ActiveMQ: BrokerXMLConfig activemq.xml - файл относительного пути не найден
Я настраиваю встроенный экземпляр ActiveMQ, используя файл WEB-INF/resources.xml в моем динамическом веб-проекте, который ссылается на внешний файл activemq.xml. ActiveMQ запускается и функционирует, как и ожидалось, используя абсолютный путь к файлу activemq.xml, расположенному в каталоге Tomcat {$CATALINA_HOME}/conf. Когда файл 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
1 ответ
Я никогда не решал проблему относительного пути 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>