Конфигурация ActiveMQ: BrokerXMLConfig activemq.xml - файл относительного пути не найден - PullRequest
0 голосов
/ 05 марта 2019

Я настраиваю встроенный экземпляр ActiveMQ, используя файл WEB-INF / resources.xml в моем динамическом веб-проекте, который ссылается на внешний файл activemq.xml.ActiveMQ запускается и функционирует, как и ожидалось, используя абсолютный путь к файлу activemq.xml, расположенному в каталоге Tomcat {$ CATALINA_HOME} / conf.Когда файл activemq.xml помещается в каталог проекта WEB-INF, Tomcat не может найти файл BrokerXmlConfig, используя относительный путь.

  1. Возможно ли упаковать файл activemq.xml вместе с проектом вКаталог WEB-INF?
  2. Если возможно, как Tomcat анализирует путь к файлу?

working 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:/absolute/path/to/activemq.xml
        ServerUrl       =  tcp://localhost:61616
    </Resource>
  <resources>

fails 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 Ответ

0 голосов
/ 29 марта 2019

Я никогда не решал проблему относительного пути 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...