Android接收RabbitMQ推送过来的消息
来源:互联网 发布:如何查询数据库名称 编辑:程序博客网 时间:2024/05/17 21:51
公司需求使用RabbitMQ来接收推送消息,实现实时推送并实时接收消息,简单记录下
先是导入包 手动下载导入rabbitmq-client.jar
//先是连接服务器 这个方法我自己写在全局 方便各个类调用 private static ConnectionFactory factory = new ConnectionFactory(); public static ConnectionFactory getupConnectionFactory() { //这些服务器端给你 factory.setHost("192.168.*.*");//连接服务端ip factory.setPort(****);//端口 factory.setUsername("username");//用户名 factory.setPassword("password");//密码 return factory; }
//开启消费者线程 subscribe(incomingMessageHandler); /** * 消费者线程 */ void subscribe(final Handler handler) { subscribeThread = new Thread(new Runnable() { @Override public void run() { //这里这个循环exit自己定义一个变量 来处理退出程序后停止去通道拿消息,否则会爆出异常 //当断网的时候它会循环去连接通道,直到连接通位置,这里会出现一个问题,如果长时间断网一直去去连接它会不断的创建连接对象,可能会出现内存溢出的情况,自行处理 while (!exit) { try { Connection connection = factory.newConnection(); //创建一个通道 Channel channel = connection.createChannel(); channel.basicQos(16); channel.exchangeDeclare("androidWorkUnit", "fanout");//androidWorkUni这是通道名称,定好后只改这里就行,看去那个通道去取 String queueName = channel.queueDeclare().getQueue(); channel.queueBind(queueName, "androidWorkUnit", "");//手动 demo //创建消费者 QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume(queueName, true, consumer); //相当一个心跳包,实时检测通道里面是否有消息,=有的话取处理 ,进行下面的处理 while (true) { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); //获取通道里面的消息 发送handler 自己处理更新UI String message = new String(delivery.getBody()); Log.e("message-->", message); Message msg = handler.obtainMessage(); msg.what = 1; Bundle bundle = new Bundle(); bundle.putString("msg", message); msg.setData(bundle); handler.sendMessage(msg); } } catch (InterruptedException e) { break; } catch (Exception e1) { Log.d("", "Connection broken: " + e1.getClass().getName()); try { Thread.sleep(5000); //sleep and then try again } catch (InterruptedException e) { break; } } } }// } }); subscribeThread.start(); }
阅读全文
0 0
- Android接收RabbitMQ推送过来的消息
- android(SignalA)接收.net(SignalR)推送过来的消息
- RabbitMQ 安卓 一分钟了完成 java客户端与android接收端的消息推送
- android 消息推送,手机被动接收类似通知的短消息
- Android客户端接收来自Faye的消息推送
- Android消息推送接收后,通知栏的显示
- android Fragment接收Jpush推送消息
- 第三方推送过来的消息,用户点击如何处理
- 使用socket接收服务器推送的消息
- 【TL8266】APP接收蓝牙模块发送过来的消息
- android的消息推送
- Android 的消息推送
- android的消息推送
- 推送消息接收
- SpringBoot的RabbitMQ消息队列: 一、消息发送接收第一印象
- SpringBoot的RabbitMQ消息队列: 一、消息发送接收第一印象
- swift3 激光推送的消息推送和接收
- Android 基于Netty的消息推送方案之字符串的接收和发送(三)
- 电器设备科技类系统网站模板【带手机端】
- 《电子入门趣谈》-后续更新方法
- unity脚本中运行时实例化一个prefab
- Android Http 网络探索
- Ubuntu终端命令行播放音乐(mp3)
- Android接收RabbitMQ推送过来的消息
- 免费的论文查重网站
- zookeeper 分布式锁
- 后台将文件内容直接通过流写入到页面
- Python工具-pdfkit
- 在eclipse平台上,通过maven构建web项目时,pom.xml报错web.xml is missing and <failOnMissingWebXml> is set to true
- [笔记]:指针 链表 邻接表
- 今天我开通了博客
- CSS H5 定位