码迷,mamicode.com
首页 > 编程语言 > 详细

Spring Boot 整合 ActiveMQ

时间:2019-08-25 00:59:23      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:一段   sch   turn   lin   main   produce   boot   pen   group   

依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
<!--消息队列连接池-->
<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-pool</artifactId>
    <version>5.15.0</version>
</dependency>

配置文件(application.yml)

server:
  port: 61616

spring:
  activemq:
    broker-url: tcp://localhost:61616
    user: admin
    password: admin
  jms:
    pub-sub-domain: false   # false=queue  true=topic
    
#定义队列名称
myqueue: activemq-queue

#true 表示使用内置的MQ,false则连接服务器
spring.activemq.in-memory=false

#true表示使用连接池;false时,每发送一条数据创建一个连接
spring.activemq.pool.enabled=true


#连接池最大连接数
spring.activemq.pool.max-connections=10

#空闲的连接过期时间,默认为30秒
spring.activemq.pool.idle-timeout=30000

#强制的连接过期时间,与idleTimeout的区别在于:
    idleTimeout是在连接空闲一段时间失效,而expiryTimeout不管当前连接的情况,只要达到指定时间就失效。默认为0,never
spring.activemq.pool.expiry-timeout=0

定义Queue

@Configuration
@EnableJms
public class BeanConfig {

    @Value("${myqueue}")
    private String myqueue;
    
    //定义存放消息的队列
    @Bean
    public Queue queue() {
        return new ActiveMQQueue(myqueue);
    }
}

生产者

public class QueueProducer {

    //注入存放消息的队列,用于下列方法一
    @Autowired
    private Queue queue;

    //注入springboot封装的工具类
    @Autowired
    private JmsMessagingTemplate jmsMessagingTemplate;

    public void send(String name) {
        //方法一:添加消息到消息队列
        jmsMessagingTemplate.convertAndSend(queue, name);

        //方法二:这种方式不需要手动创建queue,系统会自行创建名为test的队列
        jmsMessagingTemplate.convertAndSend("test", name);
    }

    //间隔时间3s定投,需要在主启动类添加注解:@EnableScheduling
    @Scheduled(fixedDelay = 3000)
    public void send1(String name) {
        jmsMessagingTemplate.convertAndSend(queue, name);
    }
}

Spring Boot 整合 ActiveMQ

标签:一段   sch   turn   lin   main   produce   boot   pen   group   

原文地址:https://www.cnblogs.com/loveer/p/11406455.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!