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,成功接收消息