- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
android消息推送之 apache apollo
在学习apollo之前,我也学习过apache-activemq-5.9.0,并实现了android消息推送。在此过程中我也遇到了一些问题,怕这些问题会影响系统正式上线,我决定重新实现一种消息推送,作为备选方案吧。刚好公司其他人有用apollo的,我就学习了一下apollo。结合网上各种资料,包括摘抄网上的代码,我实现了一个简单的android消息推送。下面是我实现的整个过程。
我对apollo的认识
Apollo作为一个消息中间件,连通我们的客户端和服务端,允许客户端,服务端交换消息。服务端要推送到手机的消息先发送到apollo消息队列,然后由apollo推送到手机端,反之,从手机到服务器也是如此。因此严格的说,我们的服务器,客户端都是作为apollo的客户窜存在的,而且推送的过程对于我们开发者来说是透明的,所以,我们只需要写好手机端和服务段到apollo的之间程序就可以了。
安装apollo(windows)
下载apache-apollo-1.7.1-windows-distro.zip(我用的是当前最新的,2015/8/24)。下载地址/apollo/
安装apollo
apollo中间件其实是免安装的,我们只需要下载apache-apollo-1.7.1-windows-distro.zip,然后解压到某个文件夹就可以了。在这里我解压到D:\apache-apollo-1.7.1。解压开的路径如下:
创建一个自己的apollo域
类似与weblogic创建domain,我们可以创建一个自己的apollo,这样做的好处是我们可以根据自己的需要修改一些配置信息。创建过程如下:
1 创建D:\myApollo文件夹。
2 cd D:\myApollo。
3 D:\apache-apollo-1.7.1\bin\apollo create myapollo
创建成功后,在D:\myApollo会有一个myapollo子文件夹,里面内容如下:
其中etc/apollo.xml 存放的是端口配置信息
etc/perties 存放控制台用户名/密码信息,待会我们会用到
启动myapollo
1 cd D:\myApollo\myapollo\bin
2 apollo-broker run
在这里我们也可以看到端口配置信息。
访问控制台
在浏览器输入:61680/,就是上面黑窗口最后一行,打开如下页面
然后输入用户名/密码:(admin/password),用户名密码可以在etc/perties中找到,点击登陆,然后进入控制页面,可以看到myapollo,当然目前里面是没有连接,没有消息的,因为我们还没有建立连接,发送消息。
至此,我们的apollo中间件就可以正常使用了。
服务端程序开发
服务端程序主要是建立连接,然后发布主题,供客户端订阅。
新建一个java项目,项目结构如下:
其中mqtt-client-0.4.0.jar的下载地址:
/content/repositories/paho/org/eclipse/paho/mqtt-client/0.4.0/
有人会问,我们的服务端程序,怎么会用一个client的jar包,这就是我上面所说,我们的程序是作为apollo的客户端存在的,不管我们写的是客户端程序,还是服务端程序。在之后我们要写的android客户端程序中,也是用的这个jar包。
MyMqtt.java代码如下:
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.MqttPersistenceException;
import org.eclipse.paho.client.mqttv3.MqttTopic;
import org.eclipse.paho.client.mqttv3.p
文档评论(0)