美文网首页程序猿阵线联盟-汇总各类技术干货
Android客户消费ActiveMQ消息以及消息持久化

Android客户消费ActiveMQ消息以及消息持久化

作者: cooze | 来源:发表于2017-09-20 16:41 被阅读0次

最近项目中遇到一个问题,就是用android消费ActiveMQ中的消息,并且对还没有被消费的消息持久化,等到Android客户端再次连接的时候,可订阅到还未处理的消息,在处理这个问题的时候我遇到了一些麻烦。

问题一
遇到的第一个麻烦是Android客户端不可以直接使用ActiveMQ的原生客户端来从ActiveMQ中订阅消息。
其原因是,android的sdk中不支持j2ee相关jar包和绝大多数的javax.*包的东西类库。

我也脑袋热过,直接将jdk的rt.jar搞到安卓项目里,但是最后报出错误信息,证明这样子做是很蠢的-_-!。

那么不能直接在Android上是使用ActiveMQ的原生客户端来发布订阅消息,就一点办法都没有了吗?答案肯定是不是这样子的,ActiveMQ的发布订阅模式支持MQTT协议,所以可以改用MQTT在ActiveMQ中发布订阅消息,想了解MQTT协议是啥,就自己点进去看看,这里就不多介绍了。

问题二
MQTT的协议的消息持久化,只是支持持久化最后一条未被消费的消息,但是这样和我的需求又不相符合。

我的解决方法:
将ActiveMQ的jms消息转发到MQTT的主题上,android终端订阅MQTT消息主题,把消息持久化放到ActiveMQ的jms主题中,我做了一个适配来解决这个问题。
适配逻辑图:

实现逻辑图
ActiveMQ适配器代码实现地以及android-sdk:代码地址
ActiveMQ适配器android例子:代码地址

相关文章

  • Android客户消费ActiveMQ消息以及消息持久化

    最近项目中遇到一个问题,就是用android消费ActiveMQ中的消息,并且对还没有被消费的消息持久化,等到An...

  • ActiveMQ发送消息原理解析

    本文将对ActiveMQ发送消息的源码进行解析,并分析ActiveMQ持久化消息和非持久化消息的发送策略和消息的存...

  • ActiveMq的发送原理

    持久化消息和非持久化消息的发送策略:消息同步发送和异步发送ActiveMQ支持同步、异步两种发送模式将消息发送到b...

  • 6 保证消息不丢失

    1 消息持久化 1.1 exchange持久化 1.2 queue持久化 1.3 消息持久化 2 消费者ACK确...

  • ActiveMQ消息数据持久化

    一、 问题提出 场景问题:服务器断电重启,未被消费的消息是否会在重启之后被继续消费?两种选择:非持久性模式/持久性...

  • activeMQ-12消息持久化机制

    首先之前说的事务、消息持久化、签收 这些功能,都是属于activeMQ自身携带的功能,那么是什么支撑的她消息持久化...

  • ActiveMq的消息存储持久化

    转载自 https://www.cnblogs.com/xinhuaxuan/p/6128380.html Act...

  • ActiveMQ的消息持久化实现

    字典里最重要的三个词,就是意志、工作、等待。我将要在这三块基石上建立我成功的金字塔。 —— 巴斯德 消息持久化方式...

  • activeMQ-06消息持久化

    activeMQ消息的持久化:分为两部分说,queue队列部分、topic主题部分; queue队列首先需要设计生...

  • 中间件技术ActiveMQ消息中间件的使用

    一. ActiveMQ介绍 通过ActiveMQ消息服务交换消息。消息生产者将消息发送至消息服务,消息消费者则从消...

网友评论

    本文标题:Android客户消费ActiveMQ消息以及消息持久化

    本文链接:https://www.haomeiwen.com/subject/nouosxtx.html