Artemis Origin Null Is Not Allowed to Call This Agent
解决不能访问jolokia http interface 接口的问题,访问报403 状态错误
工作项目中需要使用到mq的消息管理api,如需要查询在线连接数,需要查看某一个clientId是否在线,需要整合到自身业务当中去,
对于artemis 就是一个黑盒,虽然是开源的,而且是完全开放的源代码,没有必须去改里面源码达到需求,其实artemis 后台提供了
工作项目中需要使用到mq的消息管理api,如需要查询在线连接数,需要查看某一个clientId是否在线,需要整合到自身业务当中去,
对于artemis 就是一个黑盒,虽然是开源的,而且是完全开放的源代码,没有必须去改里面源码达到需求,其实artemis 后台提供了
在一次项目中需要使用activemq artemis mqtt 协议通信特性,需要借助rest api 功能按clientId 查询是否在线,也就是如何通过client id 查询 设备是否在线需要借助rest api 特性,默认情况artemis 不提供rest api 特性,在网搜索了一了,再借助官网的文档,需要build 一个war包 放 到web目录下即可,然后 重启程序
artemis-boot :项目主要的程序入口,man函数在此
artemis-cdi-client : cdi 集成 它既可以使用嵌入代理,也可以连接到远程代理。通过实现
artemis clientconfiguration
接口提供配置
artemis-cli: 提供命令工具使用,可以通过命令窗口运行东西,如创建用户,创建
address
artemis-commons: 为整个项目提供 api 的统一异常库,网络连接心跳逻辑,日志打印库,连接池,集合库,线程原子锁,uuid生成工具库,时间工具类库
activemq 有两个版本,过去很多人使用的activemq 经典版。 对该版本性能上面评价不是很满意,但今天官方又提供基于netty版的
activemq artemis 这个消息中件间,将提供异步消息处理。在使用activemq好处是在于,对大多数据中小企业来说没有经历去造轮子,那么完全可以采用开源方案来完成需求,采用activemq artemis 这个消息中间件,他不仅继承原来的多协议,还大大提升了性能,着实很香的,activemq 本来就和rabbitmq, kafka,rocketmq 等三大mq不一样,还是有区别,适用不同场景。比如过去们常常使用mq kafka, rabbitmq大多数是在云服务器内网通信使用的,做服务消息解耦使用,但它只是普通的tcp 传输协议,不支持webscket 直连,http, udp 直连等特点,而activemq artemis 相反,他可以支的寺ws直连,tcp,udp直连,加上公司团队java技术栈的优势,采用先使用,熟悉如何使用activemq artemis 然后对其二次开发,也不是不错技术选型路线