赞
踩
- package com.bfxy.spring;
-
- import org.springframework.amqp.core.Binding;
- import org.springframework.amqp.core.BindingBuilder;
- import org.springframework.amqp.core.Queue;
- import org.springframework.amqp.core.TopicExchange;
- 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.ComponentScan;
- import org.springframework.context.annotation.Configuration;
-
-
- @Configuration
- @ComponentScan({"com.bfxy.spring.*"})
- public class RabbitMQConfig {
-
- public final static String HOST = "127.0.0.1";
-
- @Bean
- public ConnectionFactory connectionFactory(){
- CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
- connectionFactory.setAddresses(HOST);
- connectionFactory.setUsername("guest");
- connectionFactory.setPassword("guest");
- connectionFactory.setVirtualHost("/");
- return connectionFactory;
- }
-
- @Bean
- public TopicExchange exchange001() {
- return new TopicExchange("topic001", true, false);
- }
-
- @Bean
- public Queue queue001() {
- return new Queue("queue001", true); //队列持久
- }
-
- @Bean
- public Binding binding001() {
- return BindingBuilder.bind(queue001()).to(exchange001()).with("spring.*");
- }
-
- @Bean
- public TopicExchange exchange002() {
- return new TopicExchange("topic002", true, false);
- }
-
- @Bean
- public Queue queue002() {
- return new Queue("queue002", true); //队列持久
- }
-
- @Bean
- public Binding binding002() {
- return BindingBuilder.bind(queue002()).to(exchange002()).with("rabbit.*");
- }
-
- @Bean
- public Queue queue003() {
- return new Queue("queue003", true); //队列持久
- }
-
- @Bean
- public Binding binding003() {
- return BindingBuilder.bind(queue003()).to(exchange001()).with("mq.*");
- }
-
- @Bean
- public Queue queue_image() {
- return new Queue("image_queue", true); //队列持久
- }
-
- @Bean
- public Queue queue_pdf() {
- return new Queue("pdf_queue", true); //队列持久
- }
-
- @Bean
- public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) {
- RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
- return rabbitTemplate;
- }
-
- }
- package com.bfxy.spring;
-
-
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.amqp.AmqpException;
- import org.springframework.amqp.core.*;
- import org.springframework.amqp.rabbit.core.RabbitTemplate;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.test.context.junit4.SpringRunner;
-
-
- @RunWith(SpringRunner.class)
- @SpringBootTest
- public class ApplicationTests {
-
- @Autowired
- private RabbitTemplate rabbitTemplate;
-
- @Test
- public void testSendMessage() throws Exception {
-
- MessageProperties messageProperties = new MessageProperties();
- messageProperties.getHeaders().put("desc", "信息描述..");
- messageProperties.getHeaders().put("type", "自定义消息类型..");
- Message message = new Message("Hello RabbitMQ".getBytes(), messageProperties);
-
- rabbitTemplate.convertAndSend("topic001", "spring.amqp", message, new MessagePostProcessor() {
- @Override
- public Message postProcessMessage(Message message) throws AmqpException {
- System.err.println("------添加额外的设置---------");
- message.getMessageProperties().getHeaders().put("desc", "额外修改的信息描述");
- message.getMessageProperties().getHeaders().put("attr", "额外新加的属性");
- return message;
- }
- });
-
- }
-
- @Test
- public void testSendMessage2() throws Exception {
-
- MessageProperties messageProperties = new MessageProperties();
- messageProperties.setContentType("text/plain");
- Message message = new Message("mq 消息1234".getBytes(), messageProperties);
-
- rabbitTemplate.send("topic001", "spring.abc", message);
-
- rabbitTemplate.convertAndSend("topic001", "spring.amqp", "hello object message send!");
- rabbitTemplate.convertAndSend("topic002", "rabbit.abc", "hello object message send!");
-
- }
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。