MQ的入门指南
2017-04-22 17:09
183 查看
消息队列(Message Queue,简称 MQ)是阿里巴巴集团中间件技术部自主研发的专业消息中间件。
也就是说他只是一个中间商,我们将消息提交到阿里云上面,然后由阿里云的MQ组件给我们将消息分发。
实现逻辑:
我们通过accessId,secretKey和mnsEndpoint来建立与阿里云的连接,然后将我们的数据上传到阿里云上,数据主要有两种方式:一个是订阅消息(Topic),一个是队列消息(Queue),然后由阿里云对我们的消息进行分发。
两种方式的区别:
功能实现:
1.检测提供信息是否正确,也就是输入相应的信息进行连接测试。
2.查看这个账户里面有多少个主题
CloudAccount cloudAccount = new CloudAccount("XXXXXXX","XXXXXXX", "XXXXXX");
MNSClient mnsClient = cloudAccount.getMNSClient();
PagingListResult<TopicMeta> topics = mnsClient.listTopic("", "", 100);
System.out.println("主题数量:"+topics.getResult().size());
for (TopicMeta topic : topics.getResult())
{ System.out.println(topic.getTopicName()); }
3.查看这个账户里面有多少队列
CloudAccount cloudAccount = new CloudAccount("XXXX","XXXX", "XXXXX");
MNSClient mnsClient = cloudAccount.getMNSClient();
PagingListResult<QueueMeta> queues = mnsClient.listQueue("", "", 100);
System.out.println("消息队列的数量:"+queues.getResult().size());
for (QueueMeta queue : queues.getResult()) {
System.out.println(queue.getQueueName());
}
4.查看队列里面的消息数量
CloudQueue cloudQueue = mnsClient.getQueueRef(queues.getResult().get(0).getQueueName());
if (cloudQueue != null) {
List<Message> messages = cloudQueue.batchPeekMessage(10);
if (messages != null) {
System.out.println("消息数");
}
}
最近由我写mq的控制台,所以写下来,上面的XXX是实例,真实的分别为accessId,secretKey,mnsEndpoint,因为是公司的相关信息,就不贴出来了。
也就是说他只是一个中间商,我们将消息提交到阿里云上面,然后由阿里云的MQ组件给我们将消息分发。
实现逻辑:
我们通过accessId,secretKey和mnsEndpoint来建立与阿里云的连接,然后将我们的数据上传到阿里云上,数据主要有两种方式:一个是订阅消息(Topic),一个是队列消息(Queue),然后由阿里云对我们的消息进行分发。
两种方式的区别:
功能实现:
1.检测提供信息是否正确,也就是输入相应的信息进行连接测试。
MNSMQConnection connection = new MNSMQConnection(); connection.setAccessId(“XXXXX”); connection.setSecretKey("XXXXXX"); connection.setMnsEndpoint(''XXXXXX"); try { connection.getQueue("12121"); // 测试成功才能添加或修改 return mqDao.save(MQConverter.convertP(mq)); } catch (Exception e) { e.printStackTrace(); return ActionResult.fail(e.getMessage()); }
2.查看这个账户里面有多少个主题
CloudAccount cloudAccount = new CloudAccount("XXXXXXX","XXXXXXX", "XXXXXX");
MNSClient mnsClient = cloudAccount.getMNSClient();
PagingListResult<TopicMeta> topics = mnsClient.listTopic("", "", 100);
System.out.println("主题数量:"+topics.getResult().size());
for (TopicMeta topic : topics.getResult())
{ System.out.println(topic.getTopicName()); }
3.查看这个账户里面有多少队列
CloudAccount cloudAccount = new CloudAccount("XXXX","XXXX", "XXXXX");
MNSClient mnsClient = cloudAccount.getMNSClient();
PagingListResult<QueueMeta> queues = mnsClient.listQueue("", "", 100);
System.out.println("消息队列的数量:"+queues.getResult().size());
for (QueueMeta queue : queues.getResult()) {
System.out.println(queue.getQueueName());
}
4.查看队列里面的消息数量
CloudQueue cloudQueue = mnsClient.getQueueRef(queues.getResult().get(0).getQueueName());
if (cloudQueue != null) {
List<Message> messages = cloudQueue.batchPeekMessage(10);
if (messages != null) {
System.out.println("消息数");
}
}
最近由我写mq的控制台,所以写下来,上面的XXX是实例,真实的分别为accessId,secretKey,mnsEndpoint,因为是公司的相关信息,就不贴出来了。
相关文章推荐
- Asp.net MVC3.0 入门指南 2.控制器Controller
- 教程:VS2010 之TFS入门指南
- Firebug入门指南
- [译]【Storm入门指南】第四章 Spouts
- 浏览器控件JxBrowser Swing开发者快速入门指南
- Asp.Net MVC4入门指南(5):从控制器访问数据模型
- JAVA架构师入门教学视频,linux nginx dubbox zookeeper activemq storm FastDFS等
- Commons-logging + Log4j 入门指南
- mongoDB 入门指南、示例
- Commons-logging + Log4j 入门指南
- TestNG入门指南
- 【OpenCV入门指南】第九篇 灰度直方图均衡化
- Express4入门指南
- Spring Boot入门指南
- 【OpenCV入门指南】第二篇 缩放图像
- ansible入门指南,登录其他宿主机,使用playbook创建文件
- JBoss7 入门指南
- Git入门指南六:移除文件和移动文件
- Solr使用入门指南 (二)
- Apache Zeppelin使用入门指南:编程