1、添加依賴java
<!-- jms-activemq --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency>
2、配置application.propertiesspring
#########################activemq開始######################### spring.activemq.in-memory=true spring.activemq.broker-url=failover:(tcp://192.168.175.13:61616)?jms.prefetchPolicy.all=100&jms.redeliveryPolicy.maximumRedeliveries=0 spring.activemq.user=liuy spring.activemq.password=123456 #spring.activemq.packages.trust-all=false #spring.activemq.packages.trusted= #spring.activemq.pool.configuration.*= #spring.activemq.pool.enabled=false #spring.activemq.pool.expiry-timeout=0 #spring.activemq.pool.idle-timeout=30000 #spring.activemq.pool.max-connections=1 #########################activemq結束#########################
3、代碼實現apache
注意:application啓動類須要加上註解@EnableJms
app
3.一、activemq配置
tcp
package com.example.demo.config; import org.apache.activemq.command.ActiveMQQueue; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.jms.Queue; /** * ActiveMQ配置 * * @Author: 我愛大金子 * @Description: ActiveMQ配置 * @Date: Create in 12:37 2017/7/5 */ @Configuration public class ActivemqConfiguration { @Bean public Queue queue1() { return new ActiveMQQueue("liuy.test.queue1"); } @Bean public Queue queue2() { return new ActiveMQQueue("liuy.test.queue2"); } }
3.二、消息的發送與監聽ide
package com.example.demo.utils.component; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jms.annotation.JmsListener; import org.springframework.jms.core.JmsMessagingTemplate; import org.springframework.stereotype.Component; import javax.jms.Queue; /** * 消息的發送與監聽 * * @Author: 我愛大金子 * @Description: 消息的發送與監聽 * @Date: Create in 12:39 2017/7/5 */ @Component public class ActivemqComponent { @Autowired private JmsMessagingTemplate jmsMessagingTemplate; @Autowired private Queue queue1; @Autowired private Queue queue2; /** * 發送消息 * @Author: 我愛大金子 * @Description: 發送消息 * @Date: 12:41 2017/7/5 * @param msg 消息內容 */ public void send1(String msg) { this.jmsMessagingTemplate.convertAndSend(this.queue1, msg); } /** * 發送消息 * @Author: 我愛大金子 * @Description: 發送消息 * @Date: 12:41 2017/7/5 * @param msg 消息內容 */ public void send2(String msg) { this.jmsMessagingTemplate.convertAndSend(this.queue2, msg); } /** * 監聽liuy.queued隊列 * @Author: 我愛大金子 * @Description: 監聽lliuy.test.queue1隊列 * @Date: 12:42 2017/7/5 * @param text */ @JmsListener(destination = "liuy.test.queue1") public void receiveQueue(String text) { System.out.println("接受到liuy.test.queue1:" + text); } /** * 監聽liuy.queued隊列 * @Author: 我愛大金子 * @Description: 監聽lliuy.test.queue1隊列 * @Date: 12:42 2017/7/5 * @param text */ @JmsListener(destination = "liuy.test.queue2") public void receiveQueue2(String text) { System.out.println("接受到liuy.test.queue2:" + text); } }
4、測試spring-boot
package com.example.demo; import com.example.demo.utils.component.ActivemqComponent; 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; @RunWith(SpringRunner.class) @SpringBootTest public class SpringBootActivemqApplicationTests { @Autowired private ActivemqComponent activemqComponent; @Test public void send1() { activemqComponent.send1("activemq消息測試1"); } @Test public void send2() { activemqComponent.send2("activemq消息測試2"); } }
運行send1方法:測試
運行send2方法:fetch
activemq控制檯:this