2014-01-29 9 views
2

Я вхожу в процесс взаимодействия с RESTful API для собственного сервера, работающего внутри моей организации. Мы используем HiveMQ, и я создал простой плагин на основе невероятно полезной документации на веб-сайте HiveMQ.HiveMQ RESTful Authentication Plugin

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

Наш RESTful API реализовал Spring Security Remember-Me Auth, и наш плагин HiveMQ будет использовать «действительный» ответ, чтобы предоставить пользователю Auth в HiveMQ.

Мой вопрос есть ли рекомендуется Java RESTful клиентов, интерфейс с HiveMQ лучше? Очевидно, я обыскал и знаю, что есть разные варианты. Я надеюсь, что кто-то с большим опытом работы с HiveMQ может дать представление о том, что/не улучшилось/ухудшилось, чем другие.

Cheers!

ответ

2

Теоретически все HTTP-клиенты для Java должны работать в плагине аутентификации. Я знаю Apache HTTPClient и Netty, что они отлично работают для таких задач. Я создал пример плагина on Github, чтобы показать доказательство концепции с Apache HTTPClient. Хотя API немного неуклюжий, HTTPClient является твердым (и потокобезопасным!).

Как уже говорилось, правильное кэширование очень важно, когда вы хотите масштабировать механизм. Блокировка не является проблемой в AuthenticationCallback, потому что HiveMQ должен ждать ответа сервера, который предоставляет поддерживающий API. Тем не менее, я лично использовал бы небольшой тайм-аут.

Надеюсь, это поможет вам начать с проверки подлинности REST. Для более подробных обсуждений по этой теме есть также HiveMQ Google Group.

+1

Спасибо за информацию. Я закончил работу с Джерси, которая работает до сих пор. Я могу выполнить аутентификацию с помощью нашего серверного сервера, и HiveMQ разрешит/отклонит на основе этого результата. Я взгляну на группу HiveMQ Google. –

+0

Если кому-то интересно: я написал небольшое сообщение в блоге об этой теме: http://forkbomb-blog.de/2014/bringing-mqtt-authentication-and-rest-together –