注意:springboot支持的amqp規範的中間件只有rabbitmqjava
第一步:添加依賴web
<!-- amqp --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>
第二步:配置application.ymlspring
spring: application: name: boot-rabbitmq rabbitmq: host: 192.168.175.13 port: 5672 username: liuy password: 123456
第三步:編寫amqp隊列配置springboot
package com.liuy.config; import org.springframework.amqp.core.Queue; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * amqp隊列配置 * @description amqp隊列配置 * @author luis * @version 1.0 * @date:2017年8月22日下午12:33:36 */ @Configuration public class AmqpConfiguration { @Bean public Queue queue() { return new Queue("test.queue"); } }
第四步:編寫監聽與發送app
package com.liuy.component; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * 監聽與發送 * @description 監聽與發送 * @author luis * @version 1.0 * @date:2017年8月22日下午12:34:55 */ @Component public class AmqpComponent { @Autowired private AmqpTemplate amqpTemplate; public void send(String msg) { this.amqpTemplate.convertAndSend("test.queue", msg); } @RabbitListener(queues = "test.queue") public void receiveQueue(String text) { System.out.println("接受到:" + text); } }
第五步:編寫啓動類
ide
package com.liuy; import org.springframework.amqp.rabbit.annotation.EnableRabbit; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; /** * 集成rabbitmq--啓動類 * @description 集成rabbitmq--啓動類 * @author luis * @version 1.0 * @date:2017年8月22日下午12:39:04 */ @EnableRabbit @ServletComponentScan @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
第六步:測試spring-boot
package com.liuy; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import com.liuy.component.AmqpComponent; /** * 集成rabbitmq監聽與發送測試 * @description 集成rabbitmq監聽與發送測試 * @author luis * @version 1.0 * @date:2017年8月22日下午12:35:43 */ @RunWith(SpringRunner.class) @SpringBootTest public class AmqpComponentTest { @Autowired private AmqpComponent amqpComponent; @Test public void send() { amqpComponent.send("集成rabbitmq監聽與發送測試"); } }
效果:測試