RabbitMQ入门-10-2(整合spring-发送同步消息注解实现)
来源:互联网 发布:男人影视软件下载 编辑:程序博客网 时间:2024/05/21 00:54
写在前面的话
系列教程都是从网络上收集和本人的理解所编辑而成,仅供广大爱好者学习所用,请尊重本人的劳动成果。欢迎评论指正和转帖!(请保留连接谢谢!)
一、项目结构
二、POM.XML
三、Producer.java
package com.rabbitmq;import org.springframework.amqp.core.AmqpTemplate;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class Producer { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(AnnotationConfiguration.class); AmqpTemplate amqpTemplate = context.getBean(AmqpTemplate.class); amqpTemplate.convertAndSend("Hello World"); System.out.println("Sent: Hello World"); }}
四、Consumer.java
package com.rabbitmq;import org.springframework.amqp.core.AmqpTemplate;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class Consumer { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(AnnotationConfiguration.class); AmqpTemplate amqpTemplate = context.getBean(AmqpTemplate.class); System.out.println("Received: " + amqpTemplate.receiveAndConvert()); }}
五、AnnotationConfiguration.java
package com.rabbitmq;import org.springframework.amqp.core.AmqpAdmin;import org.springframework.amqp.core.Queue;import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;import org.springframework.amqp.rabbit.connection.ConnectionFactory;import org.springframework.amqp.rabbit.core.RabbitAdmin;import org.springframework.amqp.rabbit.core.RabbitTemplate;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import com.rabbitmq.client.AMQP;@Configurationpublic class AnnotationConfiguration { //指定队列名称 routingkey的名称默认为Queue的名称,使用Exchange类型为DirectExchange protected String springQueueDemo = "spring-queue-demo"; //创建链接 @Bean public ConnectionFactory connectionFactory() { CachingConnectionFactory connectionFactory = new CachingConnectionFactory("192.168.0.117"); connectionFactory.setUsername("admin"); connectionFactory.setPassword("admin"); connectionFactory.setPort(AMQP.PROTOCOL.PORT); return connectionFactory; } //创建rabbitAdmin 代理类 @Bean public AmqpAdmin amqpAdmin() { return new RabbitAdmin(connectionFactory()); } //创建rabbitTemplate 消息模板类 @Bean public RabbitTemplate rabbitTemplate() { RabbitTemplate template = new RabbitTemplate(connectionFactory()); //The routing key is set to the name of the queue by the broker for the default exchange. template.setRoutingKey(this.springQueueDemo); //Where we will synchronously receive messages from template.setQueue(this.springQueueDemo); return template; } // // Every queue is bound to the default direct exchange public Queue helloWorldQueue() { return new Queue(this.springQueueDemo); } /* @Bean public Binding binding() { return declare(new Binding(helloWorldQueue(), defaultDirectExchange())); }*/ /* @Bean public TopicExchange helloExchange() { return declare(new TopicExchange("hello.world.exchange")); }*/ /* public Queue declareUniqueQueue(String namePrefix) { Queue queue = new Queue(namePrefix + "-" + UUID.randomUUID()); rabbitAdminTemplate().declareQueue(queue); return queue; } // if the default exchange isn't configured to your liking.... @Bean Binding declareP2PBinding(Queue queue, DirectExchange exchange) { return declare(new Binding(queue, exchange, queue.getName())); } @Bean Binding declarePubSubBinding(String queuePrefix, FanoutExchange exchange) { return declare(new Binding(declareUniqueQueue(queuePrefix), exchange)); } @Bean Binding declarePubSubBinding(UniqueQueue uniqueQueue, TopicExchange exchange) { return declare(new Binding(uniqueQueue, exchange)); } @Bean Binding declarePubSubBinding(String queuePrefix, TopicExchange exchange, String routingKey) { return declare(new Binding(declareUniqueQueue(queuePrefix), exchange, routingKey)); }*/}
写在后面的话
The worldi is like mirror:Frown at itand it frowns at you;smile,and it smiles too.
世界犹如一面镜子:朝它皱眉它就朝你皱眉,朝它微笑它就朝你微笑。
阅读全文
0 0
- RabbitMQ入门-10-2(整合spring-发送同步消息注解实现)
- RabbitMQ入门-10-1(整合spring-发送同步消息)
- RabbitMQ入门-10-3(整合spring-发送异步消息注解实现)
- RabbitMQ学习之spring整合发送同步消息(注解实现)
- RabbitMQ学习(十)之spring整合发送同步消息(注解实现)
- RabbitMQ入门-10(整合spring-发送异步消息)
- RabbitMQ学习之spring整合发送异步消息(注解实现)
- RabbitMQ学习(十二)之spring整合发送异步消息(注解实现)
- RabbitMQ学习之spring整合发送同步消息
- RabbitMQ学习(九)之spring整合发送同步消息
- RabbitMQ学习之spring整合发送异步消息
- RabbitMQ学习(十一)之spring整合发送异步消息
- rabbitMq入门,整合spring
- spring整合消息队列rabbitmq
- spring整合消息队列rabbitmq
- spring整合消息队列rabbitmq
- spring整合消息队列rabbitmq
- spring整合消息队列rabbitmq
- 算法导论<1、课程简介与算法分析>
- 爬虫,可用于增加访问量和抓取网站全页内容
- unity平台预处理
- AI将改变工作方式,社会要学会适应!
- oracle--9.集合运算
- RabbitMQ入门-10-2(整合spring-发送同步消息注解实现)
- 如何用一行CSS制作响应式HTML网页
- Docker Quickstart Terminal启动后报错问题解决
- Linux网络编程
- Spring Cloud/Boot WebSocket 无法注入其他类的解决办法
- Go语言如何实现遗传算法
- dialog第三方框架,material-dialogs的使用
- CULA矩阵相乘和CUBLAS矩阵相乘
- 申请/连接/配置aws linux(redhat)服务器的总结