Hono (официально) не поддерживает RabbitMQ как сеть обмена сообщениями AMQP 1.0.Однако, благодаря поддержке Rabbit для AMQP 1.0, вы все равно можете заставить его работать.Тем не менее, похоже, что адаптер MQTT не может открыть ссылку отправителя на Rabbit, которая, по-видимому, отклоняет запрос адаптера открыть отправителя по целевому адресу telemetry/DEFAULT_TENANT
.Это может быть связано с происхождением Rabbit в качестве посредника сообщений, который требует определить очереди и / или тем , прежде чем их можно будет использовать во время выполнения.
Я не специалист по RabbitMQ, но думаю, вам следует выяснить
- , как настроить RabbitMQ, чтобы он динамически создавал очереди / темы во время выполнения при открытии соответствующей ссылкичерез одноранговый узел или
- определить соответствующие очереди в RabbitMQ заранее, например, путем добавления их в конфигурационные файлы Rabbit.
Если не обязательно использовать RabbitMQЯ бы порекомендовал вместо этого использовать Qpid Dispatch Router вместе с Apache MQ Artemis.Вы получите лучшую поддержку от команды разработчиков Hono, потому что это официальная реализация AMQP Messaging Network, используемая для разработки.
Что касается вашего примечания: До Hono 0.7 всеПротокольные адаптеры должны были подключиться к службе обмена сообщениями, которая обеспечила центральную точку в потоке сообщений, где Hono может проверить происхождение сообщения или события телеметрии, прежде чем направить его вниз по сети в сеть обмена сообщениями AMQP (и, следовательно, к приложениям-потребителям).
Для этого адаптер протокола должен был включать в каждое сообщение веб-токен JSON, полученный им от службы регистрации устройств для подключенного устройства и подтверждающий статус регистрации устройства.Затем Hono Messaging проверит подпись JWT, гарантируя, что сообщение отправляется с существующего (зарегистрированного) устройства арендатора, для которого фактически включен адаптер протокола.Идея заключалась в том, что реестр устройств не будет выпускать JWT для устройства, для которого адаптер не был авторизован.Это особенно полезно в сценариях, где адаптер протокола нестандартного (предоставляется сторонним поставщиком) должен быть интегрирован с установкой Hono (например, для конкретного арендатора), но этот адаптер протокола должен быть запрещен для отправки сообщений в обратном направлении от имени илипроизвольные устройства, которые не принадлежат арендатору, для которого был авторизован адаптер.
В более поздних версиях мы отказались от этого компонента в пользу авторизации адаптеров протокола в сети обмена сообщениями AMQP.
Регистрация
Все сервисы Hono регистрируют стандартную информацию.Уровень журнала может быть установлен с помощью системного свойства spring.profiles.active
Java.Если не установлено, службы будут регистрироваться на уровне INFO, просто предоставляя очень ограниченную информацию о событиях жизненного цикла, через которые проходит компонент.Чтобы включить более полное ведение журнала отладки, при запуске JVM установите системное свойство, например, -Dspring.profiles.active=dev
.