1.配置pom相關依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId>
<version>1.5.4.RELEASE</version>
</dependency>
2.在application.yml配置文件下配置相關信息
spring: #表示該配置直接為Spring容器負責處理
jms:
pub-sub-domain: false #配置消息的類型,如果是true則表示為topic消息,如果為false表示Queue消息
activemq:
user: admin #連接用戶名
password: admin #連接密碼
broker-url: tcp://0.0.0.0:61616 #消息組件的連接主機信息
3.創建消費者代碼
import org.springframework.jms.annotation.JmsListener; import org.springframework.stereotype.Service; @Service public class MessageConsumerService { @JmsListener(destination = "mldn.msg.queue") public void receiveMessage(String text) {//進行消息接收處理 System.err.println("接受消息"+text); } }
4.建立生產者代碼
生產者接口:
public interface ImessageProducerService { public void sendMessage(String msg); }
生產者實現:
import javax.annotation.Resource; import javax.jms.Queue; import org.springframework.jms.core.JmsMessagingTemplate; import org.springframework.stereotype.Service; import cn.mldn.microboot.producer.ImessageProducerService; @Service public class MessageProducerServiceImpl implements ImessageProducerService { @Resource private JmsMessagingTemplate jmsMessagingTemplate; @Resource private Queue queue; @Override public void sendMessage(String msg) { this.jmsMessagingTemplate.convertAndSend(this.queue,msg);; } }
5.建立測試類
import javax.annotation.Resource; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import cn.mldn.microboot.StartSpringBootMain; import cn.mldn.microboot.producer.ImessageProducerService; @SpringBootTest(classes = StartSpringBootMain.class) @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration public class TestActiveMQ { @Resource private ImessageProducerService messageProducer; @Test public void testSend() throws Exception{ for (int i = 0; i < 103; i++) { this.messageProducer.sendMessage("mldn-"+i); } } }
6.增加消息Queue的配置
import javax.jms.Queue; import org.apache.activemq.command.ActiveMQQueue; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jms.annotation.EnableJms; @Configuration @EnableJms public class ActiveMQConfig { @Bean public Queue queue() { return new ActiveMQQueue("mldn.msg.queue"); } }
7.啟動activemq的服務,該服務可自行下載,我這里下載了一個Windows版本的,直接啟動就好。

8.登錄activmq,http://localhost:8161/admin/,用戶名密碼采用默認的,admin、admin。也可以在activmq的配置文件配置用戶

這樣我們就成功登錄。
最后進行測試,測試成功,查看activemq的Queues,成功接收消息

