采用基于MQTT的ActiveMQ实现消息推送

由于消息推送,个人感觉人难度,所以到网上找一个开源的系统用,感觉很不错。

网上现在主要有两种对于消息推送的开源项目解决方案,一个是基于XMAPP的,还有一个就是基于MQTT的了。由于MQTT相对于XMAPP较轻量点,便试试它,感觉还挺不错的。


1.下载服务端

我这里,下载的是5.8.0版本的,其所有的ActiveMQ的下载列表地址为:点击打开链接
下下来解压就好了

2.部署服务端

下载后服务端程序,解压后的目录是这样的
采用基于MQTT的ActiveMQ实现消息推送

当然,在运行前,得让安装Java的JDK啦,并把环境变量啥的设好

同时,在运行前还得添加一个配置,找到工程目录下的conf目录,再找到activemq.xml文件,编辑它,在其中的<transportConnectors>节点中加入<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?create=false"/> 就好

即变成了这样子:

[html] view plain copy
  1.      <transportConnectors>  
  2.          <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->  
  3.          <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireformat.maxFrameSize=104857600"/>  
  4.          <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireformat.maxFrameSize=104857600"/>  
  5. <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?create=false"/>   
  6.      </transportConnectors>  
运行时,找到bin/win64/activemq.bat文件,双击运行就可以了(由于我的电脑是64位的JDK,所以就用win64目录下的这个文件,32位的,就用win32下的对应文件就好)

采用基于MQTT的ActiveMQ实现消息推送

这样,服务端的部署就成功了。


3.下载安卓客户端工程

安卓客户端下载地址:https://github.com/puhaiyang/activeMQDemo

下载载来后,导入到eclipse工程中,并修改对应的服务器地址
采用基于MQTT的ActiveMQ实现消息推送
将对应的BROKER_URL改掉就好。采用基于MQTT的ActiveMQ实现消息推送

4.运行安卓APP

直接运行就好采用基于MQTT的ActiveMQ实现消息推送
之后,点击start service,就成功了

5.消息推送测试

之后,打开浏览器,来通过浏览器给手机发一条消息吧。
采用基于MQTT的ActiveMQ实现消息推送
在消息body中填入对应的消息内容就好
采用基于MQTT的ActiveMQ实现消息推送
之后,点击发送,试一下吧。
采用基于MQTT的ActiveMQ实现消息推送
刚点击发送,消息就发送成功了。