SpringBoot配置activemq消息队列

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版本的,直接启动就好。

SpringBoot配置activemq消息队列

8.登录activmq,http://localhost:8161/admin/,用户名密码采用默认的,admin、admin。也可以在activmq的配置文件配置用户

SpringBoot配置activemq消息队列

这样我们就成功登录。

最后进行测试,测试成功,查看activemq的Queues,成功接收消息

SpringBoot配置activemq消息队列

上一篇:MySQL之alter语句用法总结


下一篇:扩展欧几里得模板&逆元求法