2014-01-23 3 views
0

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

Моя задача получить publishe/subscriber id's. Как я могу это сделать, может быть, некоторые из этого:

  • получить еще одно сопротивление, такое KahaDB с archiveDataLogs = истинный или высокопроизводительный журнал?
  • настроен на «правильное» сопротивление?
  • получить несколько журналов или журнал брокера?
  • написать плагин и получить эти данные из ОЗУ?

Версия 5.9.

LevelDB конфигурацинный:

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

Теперь я попытался войти в архив KahaDB? но результата нет. Архивная папка пустая:

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

Спасибо.

+0

, пожалуйста, разместите версию, которую вы используете, и некоторую конфигурацию или код с вашим вопросом, или никто не сможет вам помочь. –

ответ

0

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

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

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

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

+0

ActiveMQ хорош, потому что он поддерживает несколько [протоколов] (http://activemq.apache.org/protocols.html). Задача была изменена. Мне нужно только публиковать/подписывать идентификаторы, а не сообщения. –