RabbitMQ简单例子
来源:互联网 发布:windows10 node sass 编辑:程序博客网 时间:2024/06/06 05:02
pom.xml
<!--rabbit-mq--> <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifactId> <version>1.4.5.RELEASE</version> </dependency>
RabbitmqTest.java
public class RabbitmqTest { public static void main(String[] args) { //建立连接 CachingConnectionFactory connectionFactory = new CachingConnectionFactory("127.0.0.1",5672); connectionFactory.setUsername("guest"); connectionFactory.setPassword("guest"); connectionFactory.setVirtualHost("/"); //创建管理,创建vhost,queue,exchange,binding RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory); //helper,主要发送消息到rabbitmq RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory); Map<String,Object> arg3,arg2,arg = new HashMap<String,Object>(); arg2 = arg; arg3 = arg; arg.put("queueArg","queueuArgO"); arg2.put("exArg","exArgO"); arg3.put("bindArg","bindArgO"); //新建队列,暂时是声明,没有在rabbitmq服务器创建 Queue testQ = new Queue("testQ",true,false,false, arg); //新建路由 TopicExchange topicExchange = new TopicExchange("testEx",true,false, arg2); //新建绑定关系 Binding binding = new Binding("testQ", Binding.DestinationType.QUEUE,"testEx","testQ", arg3); //提交新建队列,路由,绑定等命令到服务器,使变更生效 rabbitAdmin.declareQueue(testQ); rabbitAdmin.declareExchange(topicExchange); rabbitAdmin.declareBinding(binding); //发送消息,网页http://127.0.0.1:15672 登录名与密码 guest,点击队列管理页queue,看到列表testQ有Ready数100,等待被消费者获取 for (int i=0;i<500;i++) rabbitTemplate.send("testEx","testQ",new Message("this is from Rabbittest..................".getBytes(), new MessageProperties())); System.out.println("end"); connectionFactory.destroy(); //没有destroy,进程不关闭 }}
RabbitmqTest2.java
public class RabbitmqTest2 implements MessageListener { public static void main(String[] args) { //建立监听器 SimpleMessageListenerContainer listenerContainer = new SimpleMessageListenerContainer(connectionFactory); SimpleMessageListenerContainer listenerContainer2 = new SimpleMessageListenerContainer(connectionFactory); //创建消费者,要实现MessageListener接口 RabbitmqTest2 rabbitmqTest2 = new RabbitmqTest2(); RabbitmqTest2 rabbitmqTest3 = new RabbitmqTest2(); //设置消息处理的消费者 listenerContainer.setMessageListener(rabbitmqTest2); listenerContainer2.setMessageListener(rabbitmqTest3); //开始监听,有消息会自动调用上面的消费者 listenerContainer.start(); listenerContainer2.start(); //listenerContainer.shutdown(); //关闭监听进程 System.out.println("end2"); connectionFactory.destroy();//没有destroy,进程不关闭 } public void onMessage(Message message) { //System.out.println("msg:" +message.toString()); System.out.println(new String(message.getBody())); }}
完整项目地址:https://u695858.pipipan.com/fs/695858-231349735
密码:234433
阅读全文
0 0
- Spring+RabbitMq简单例子
- RabbitMQ简单例子
- Spring Mvc整合Rabbitmq的简单例子
- linux下rabbitmq SimpleAmqpClient客户端的使用的简单例子
- (java)一个简单的原生的RabbitMQ的例子。
- rabbitmq helloword 例子
- RabbitMQ搭建与例子
- rabbitmq java 例子
- RabbitMQ学习笔记(例子)
- rabbitmq---代码例子详解---perfect
- RabbitMQ学习笔记(例子)
- RabbitMQ 概念与Java例子
- RabbitMQ学习笔记(例子)
- RabbitMQ简单入门
- 2、RabbitMQ简单实例
- RabbitMQ原理简单介绍
- 简单了解RabbitMQ
- 简单Java实例rabbitMQ
- NOIP2013T Day2 T1: 积木大赛
- Leetcode 132 Pattern
- PAT乙级(c++)1001. 害死人不偿命的(3n+1)猜想 (15)
- Slim研读笔记七乱入篇之Monolog(中)
- 〖NOIP2004P〗FBI树
- RabbitMQ简单例子
- myeclipse 如何显示序号
- 〖NOIP2003P〗栈
- Can't connect to local MySQL server through socket '/tmp/mysql.sock'
- 12.springboot使用redis的订阅功能实现消息队列
- 新建maven一直加载缓存 C:\Users\Administratol\AppData\Local\Temp\..
- 设计模式之禅PK之行为类1
- 51Nod-1050-循环数组最大子段和
- 求某个数组里连续子数组最大和的几个算法