我正在为我的组织内部运行的专有服务器连接RESTful API。我们正在使用HiveMQ,我已经基于HiveMQ网站上非常有用的文档创建了一个简单的插件。
我还回顾了缓存和非阻塞哲学,因此了解在编写我的插件代码时需要考虑这些因素。
我们的RESTful API已经实现了Spring Security Remember-Me Auth,我们的HiveMQ插件将使用“有效”响应在HiveMQ中提供用户身份验证。
我的问题是,有没有推荐的与HiveMQ最佳配合的Java RESTful客户端?显然,我已经四处搜寻,并且知道有多种选择。我希望对HiveMQ有更多经验的人可以就什么比其他人做得更好/更差方面提供见解。
干杯!
最佳答案
从理论上讲,所有Java的HTTP客户端都应在身份验证插件中工作。我知道Apache HTTPClient和Netty可以很好地完成这些任务。我创建了一个示例插件on Github来显示Apache HTTPClient的概念证明。尽管该API有点笨拙,但HTTPClient非常可靠(并且是线程安全的!)。
正如您已经说过的那样,当您要扩展该机制时,适当的缓存非常重要。阻塞在AuthenticationCallback中不是问题,因为HiveMQ需要等待提供静态API的服务器的答复。我个人会使用一个小的超时时间。
我希望这有助于您开始使用REST身份验证。对于有关该主题的更深入的讨论,还有一个HiveMQ Google Group。