[整理]阿里云之消息队列的使用
2016-06-20 20:27
489 查看
环境准备
1.申请阿里云账号,开通消息队列服务,申请accessKey。
2.SDK导入,Topic、发布和订阅申请
发布端代码
工具类:
订阅端代码
MessageListenser实现类:
1.申请阿里云账号,开通消息队列服务,申请accessKey。
2.SDK导入,Topic、发布和订阅申请
发布端代码
工具类:
import com.aliyun.openservices.ons.api.*; import java.util.Properties; /** * Created by Youme on 2016/6/20. */ public class CloudMQUtil { private static final String ACCESS_KEY = "XXXXXXXXX"; //你自己的AccessKey private static final String SECRET_KEY = "XXXXXXXXX"; //你自己的SecretKey /** * 获取消息的 Producer * * @param producerId producerId * @return Producer */ public static Producer getProducer(String producerId) { Properties properties = new Properties(); properties.put(PropertyKeyConst.ProducerId, producerId); properties.put(PropertyKeyConst.AccessKey, ACCESS_KEY); properties.put(PropertyKeyConst.SecretKey, SECRET_KEY); Producer producer = ONSFactory.createProducer(properties); // 在发送消息前,必须调用start方法来启动Producer,只需调用一次即可。 producer.start(); return producer; } }调用:
Producer producer = CloudMQUtil.getProducer("XXXXXXX"); //你申请的producerId Message msg = new Message("XXXXXXX", //你申请的TopicName "tag_003", "key_003", "这是消息".getBytes()); producer.send(msg);
订阅端代码
MessageListenser实现类:
import com.aliyun.openservices.ons.api.Action; import com.aliyun.openservices.ons.api.ConsumeContext; import com.aliyun.openservices.ons.api.Message; import com.aliyun.openservices.ons.api.MessageListener; import java.util.Date; /** * Created by Youme on 2016/6/20. */ public class MyMessageListener implements MessageListener { @Override public Action consume(Message message, ConsumeContext consumeContext) { System.out.println("Receive @" + new Date() + ": " + message); String body = new String(message.getBody()); System.out.println("msgBody is : " + body); return Action.CommitMessage; } }订阅器:
import com.aliyun.openservices.ons.api.Consumer; import com.aliyun.openservices.ons.api.ONSFactory; import com.aliyun.openservices.ons.api.PropertyKeyConst; import java.util.Date; import java.util.Properties; /** * Created by Youme on 2016/6/20. */ public class MyMessageConsumer { private static final String ACCESS_KEY = "XXXXXXXX"; //你自己的AccessKey private static final String SECRET_KEY = "XXXXXXXX"; //你自己的AccessKey private static final String TOPIC_NAME = "XXXXXXXX"; //你申请的TopicName private static final String CONSUMER_ID = "XXXXXXXX"; //你申请的ConsumerId /** * 订阅消息 */ public void subscribe() { Properties properties = new Properties(); properties.put(PropertyKeyConst.ConsumerId, CONSUMER_ID); properties.put(PropertyKeyConst.AccessKey, ACCESS_KEY); properties.put(PropertyKeyConst.SecretKey, SECRET_KEY); Consumer consumer = ONSFactory.createConsumer(properties); consumer.subscribe(TOPIC_NAME, "*", new PointMessageListener()); consumer.start(); System.out.println(CONSUMER_ID + " is running @" + new Date()); } }调用:
new MyMessageConsumer().subscribe(); // 系统启动的时候启动订阅
相关文章推荐
- mongo实现消息队列
- 阿里云这群疯子
- 进程间通信之深入消息队列的详解
- jQuery模仿阿里云购买服务器选择购买时间长度的代码
- java结合WebSphere MQ实现接收队列文件功能
- 阿里云服务器新建用户具体方法
- 阿里云Windows 2003安装IIS+FTP图文教程
- 阿里云云服务器远程连接管理Linux服务器图文教程
- 阿里云云服务器Linux系统FTP服务器搭建设置教程
- 阿里云主机Windows 2008 32位 64位自助正版激活图文教程
- 阿里云主机Windows Server 2008系统自动激活图文教程
- 阿里云主机Windows 2008服务器硬盘分区和格式化图文教程
- 基于条件变量的消息队列 说明介绍
- 阿里云服务器yum源更新问题从何而来
- Laravel中使用阿里云OSS Composer包分享
- PHP消息队列用法实例分析
- Laravel框架中实现使用阿里云ACE缓存服务
- PHP+memcache实现消息队列案例分享
- 阿里云云服务器Linux系统挂载数据盘图文教程
- 阿里云主机一键安装lamp、lnmp环境的shell脚本分享