Ошибка конфигурации посредника ActiveMQ при указании persistenceAdapter: «Один из '{WC [## прочее:“ * http://activemq.apache.org/schema/core"]}' ожидается »» - PullRequest
0 голосов
/ 05 мая 2010

Я настраиваю простого встроенного брокера ActiveMQ. Работает нормально, пока не попробую настроить адаптер персистентности. Я просто копирую конфигурацию из http://activemq.apache.org/persistence.html#Persistence-ConfiguringKahaPersistence. Когда я добавляю эту конфигурацию в мою конфигурацию Spring, вот так:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:amq="http://activemq.apache.org/schema/core"
   xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.3.0.xsd">

<amq:broker useJmx="true" persistent="true" brokerName="localhost">
    <amq:transportConnectors>
        <amq:transportConnector name="vm" uri="vm://localhost"/>            
    </amq:transportConnectors>
   <amq:persistenceAdapter>
    <amq:kahaPersistenceAdapter directory="activemq-data" maxDataFileLength="33554432"/>
   </amq:persistenceAdapter>
  </amq:broker>
   </beans>

Я получаю ошибку:

cvc-complex-type.2.4.a: Invalid content was found starting with element 'amq:persistenceAdapter'. 
 One of '{WC[##other:"http://activemq.apache.org/schema/core"]}' is expected.

Когда я вынимаю элемент amq: persistenceAdapter, он работает нормально. Такая же ошибка происходит независимо от того, какой адаптер персистентности я включаю в тело, например, JDBC, журнал и т. д.

Любая помощь будет принята с благодарностью.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 07 мая 2010

Не могу вспомнить, почему в данный момент, но произошло непреднамеренное изменение, которое требовало, чтобы элементы были в алфавитном порядке. Попробуйте поместить адаптер постоянства перед транспортными соединителями.

Брюс

0 голосов
/ 19 января 2017

Относительно алфавитного порядка в Справочнике по Apache ActiveMQ XML упоминается:

Начиная с ActiveMQ 5.4, элементы XML внутри элемента должны располагаться в алфавитном порядке. Если вы посмотрите на XSD, это всегда имело место с ActiveMQ. Разница в 5.4 заключается в том, что конфигурация XML фактически проверяется на соответствие схеме XML.

Вы должны следовать порядку схемы до v5.4.

...