ActiveMQ实现整合Springboot,实现queue以及Topic消息的发送和监听以及三种持久化方式

1.配置文件

  • 前置条件是Maven导包!
  • MQ的配置文件如下,主要是地址和密码。其他的参数根据自己需要配置
#ActiveMQ
spring.activemq.broker-url=tcp://127.0.0.1:61616?wireFormat.cacheSize=2048&connectionTimeout=6000&soTimeout=3000&tcpNoDelay=true
spring.activemq.user=test
spring.activemq.password=xxxxx
#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

2.Jms配置类

  1. 创建MQ连接工厂。MQ的重发策略,根据项目实际情况配置
  2. 消费者策略可省略。根据项目实际情况配置
  3. Topic工厂类,主要设置了缓存策略以及消费者数量
  4. Queue工厂类在监听时注意并发行
  5. 消息发送模版jmsTemplate这个在实际项目中很重要。我这里主要设置了异步参数以及消息持久化
  6. 创建Topic和Queue实例
@Configuration
@EnableJms
public class JmsConfig {

    @Value("${spring.activemq.broker-url}")
    private String brokerUrl;
    @Value("${spring.activemq.user}")
    private String userName;
    @Value("${spring.activemq.password}")
    private String password;


    /**
     * ActiveMQ连接工厂,非@Bean创建,配置互不影响
     * @return org.apache.activemq.ActiveMQConnectionFactory
     */
    public ActiveMQConnectionFactory connectionFactory() {
        ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory();
        factory.setBrokerURL(brokerUrl);
        factory.setUserName(userName);
        factory.setPassword(password);
        // 重发策略
        RedeliveryPolicy queuePolicy = new RedeliveryPolicy();
        // 初始重发延迟时间
        queuePolicy.setInitialRedeliveryDelay(0);
        // 重发延迟时间,当initialRedeliveryDelay=0时生效
        que
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Anyan-T

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值