Как включают персистентность ActiveMQ?

Я хочу, сохраняют не использованные сообщения после amq или перезапуск машины. Действительно ли этот документ является фактическим для Выпуска ActiveMQ 5.12.1? Я пробую пример использования из документов и получаю ошибку:

ОШИБКА | Неудавшийся для загрузки: ресурс пути к классу [activemq.xml], причина: Строка 86 в XML-документе от ресурса пути к классу [activemq.xml] недопустима; вложенная исключительная ситуация является org.xml.sax. SAXParseException; lineNumber: 86; columnNumber: 90; cvc-complex-type.2.4.a: Недопустимое содержание было найдено, начав с элемента 'kahaPersistenceAdapter'. Один из '{"http://activemq.apache.org/schema/core": jdbcPersistenceAdapter, "http://activemq.apache.org/schema/core": journalPersistenceAdapter, "http://activemq.apache.org/schema/core": kahaDB, "http://activemq.apache.org/schema/core": levelDB, "http://activemq.apache.org/schema/core": mKahaDB, "http://activemq.apache.org/schema/core": memoryPersistenceAdapter, "http://activemq.apache.org/schema/core": replicatedLevelDB, туалет [##other: "http://activemq.apache.org/schema/core"]}' ожидается.

Эта ошибка происходит почти с конфигурацией по умолчанию: https://yadi.sk/d/e8tWyIzyk9piV

Ну, я заменяю kahaPersistenceAdapter к kahaDB и перезапуску. И получите ошибку:

Атрибуту 'maxDataFileLength' не позволяют появиться в элементе 'kahaDB'.

Я заменяю этот атрибут и запущенный ActiveMQ. Я отправляю сообщение очереди, перезапускаю amq и мой не использованное сообщение, которое уводят. Что я делаю неправильно?

0
задан 1 November 2015 в 12:03
1 ответ

Ну, вы просто должны послать специальный заголовок с сообщением.

$amq_headers['persistent'] = "true";

И ваше сообщение осталось.

0
ответ дан 5 December 2019 в 11:46