У меня есть брокер activemq, и я хочу разбить его конфигурацию на несколько файлов. Я хочу подготовить отдельный файл конфигурации, который будет сгенерирован автоматически и будет содержать только определения очередей.
Файл 1: activemq.xml.
<beans ...>
<broker ...>
</broker>
</beans>
Файл 2: queues.xml.
<beans ...>
<broker ...>
<destinations>
<queue physicalName="q1"/>
</destinations>
</broker>
</beans>
Я пробовал использовать:
Весенний импорт:
<import resource="queues.xml"/>
но получил
ОШИБКА: org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем org.apache.activemq.xbean.XBeanBrokerService # 1, определенным в ресурсе пути к классу [queues.xml]: не удалось вызвать метод инициализации; вложенное исключение: javax.management.InstanceAlreadyExistsException: org.apache.activemq: type = Broker, brokerName = localhost org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем org.apache.activemq.xbeanker.XBeviceanBro # 1 'определено в ресурсе пути к классу [queues.xml]: не удалось вызвать метод инициализации; вложенное исключение - javax.management.InstanceAlreadyExistsException: org.apache.activemq: type = Broker, brokerName = localhost
XInclude:
activemq.xml:
<beans ...
xmlns:xi="http://www.w3.org/2001/XInclude"
>
<broker ...>
<xi:include href="queues.xml" parse="xml"/>
</broker>
</beans>
но получил
ОШИБКА: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: строка 142 в XML> документе из ресурса пути к классу [activemq.xml] недопустима; вложенное исключение - org.xml.sax.SAXParseException; lineNumber: 142; columnNumber: 45; cvc-complex-type.2.4.c: Соответствующий подстановочный знак является строгим, но для элемента xi: include не найдено объявление. org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 142 в документе XML из ресурса пути к классу [activemq.xml] недопустим; вложенное исключение - org.xml.sax.SAXParseException; lineNumber: 142; columnNumber: 45; cvc-complex-type.2.4.c: Соответствующий подстановочный знак строгий, но для элемента xi: include не найдено декларации.
Сущности XML activemq.xml
<!DOCTYPE beans [
<!ENTITY queues SYSTEM "queues.xml">
]>
<beans ...>
<broker ...>
&queues;
</broker>
</beans>
но получил
ОШИБКА: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: строка 28 в XML-документе из ресурса пути к классу [activemq.xml] недопустима; вложенное исключение - org.xml.sax.SAXParseException; lineNumber: 28; columnNumber: 3; Необходимо объявить тип элемента "beans". org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: строка 28 в XML-документе из ресурса пути к классу [activemq.xml] недопустима; вложенное исключение - org.xml.sax.SAXParseException; lineNumber: 28; columnNumber: 3; Необходимо объявить тип элемента "beans".
Любые идеи? Заранее спасибо.