Перехватывать идентификаторы устройств activemq

Когда у брокера есть один издатель и подписчик (через MQTT), сообщения не сохраняются. Я тестировал в LevelDB и MySQL. В LevelDB было только название темы. Может быть, конфигурация была неправильной или мне нужно другое постоянство? Может быть, сообщения MQTT не записываются в хранилище сообщений?

Моя задача получить идентификатор публикации/подписчика. Как я могу это сделать, может быть, что-то из этого:

  • получить другое сохранение, такое как KahaDB с archiveDataLogs = true или высокопроизводительный журнал?
  • настроили "правильно" постоянство?
  • получить некоторые журналы или журнал брокера?
  • написать плагин и получить эти данные из оперативной памяти?

Версия 5.9.

Конфигурация LevelDb:

 <persistenceAdapter>
  <LevelDB directory="${activemq.data}/leveldb"/>
 </persistenceAdapter>

Теперь я попытался получить архив журнала в KahaDB? но никакого результата. Папка архива пуста:

<persistenceAdapter>
  <kahaDB directory="${activemq.data}/kahadb" archiveDataLogs="true" directoryArchive="${activemq.data}/datalog"/>
 </persistenceAdapter>

Спасибо.


person Andrew Shobotenko    schedule 23.01.2014    source источник
comment
пожалуйста, опубликуйте версию, которую вы используете, и некоторую конфигурацию или код с вашим вопросом, иначе никто не сможет вам помочь.   -  person Martin Serrano    schedule 23.01.2014


Ответы (1)


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

Если ActiveMQ не является жестким требованием, альтернативой может быть использование полнофункционального брокера MQTT, который явно позволяет выполнять перехват сообщений, например HiveMQ. С системой плагинов вполне возможно перехватывать сообщения, извлекать данные и сохранять их в выбранной базе данных (будь то SQL или NoSQL). Вы можете найти запись в блоге с большой картинкой того, как это будет работать здесь.

Документацию по системе плагинов можно найти здесь.

Обратите внимание, что я могу быть предвзятым, так как работаю над HiveMQ.

person Dominik Obermaier    schedule 24.01.2014
comment
ActiveMQ хорош тем, что поддерживает несколько протоколов. Задание было изменено. Мне нужен только идентификатор публикации/подписчика, а не сообщения. - person Andrew Shobotenko; 24.01.2014