当前位置:主页 > java教程 > Springboot整合ActiveMQ

Springboot整合ActiveMQ实现消息队列的过程浅析

发布:2023-04-07 09:10:01 59


我们帮大家精选了相关的编程文章,网友林宵月根据主题投稿了本篇教程内容,涉及到Springboot整合ActiveMQ、Springboot ActiveMQ消息队列、Springboot整合ActiveMQ相关内容,已被973网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

Springboot整合ActiveMQ

确保你启动了自己电脑的activemq。

pom中导入坐标

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-activemq</artifactId>
        </dependency>

书写yml配置

spring:
  activemq:
    broker-url: tcp://localhost:61616
  jms:
    template:
      default-destination: my    #消息队列的默认名字
    pub-sub-domain: false   #是否开启消息订阅模式

业务层代码

@Service
public class MessageServiceActive implements MessageService {
    @Autowired
    private JmsMessagingTemplate template;
    @Override
    public void getMessage(String id) {
        template.convertAndSend("AA",id);        //自定义消息队列名字
        System.out.println("待发送短信的订单已纳入处理队列,id:"+id);
    }
    @Override
    public String doMessage() {
        String id=template.receiveAndConvert("AA",String.class);
        return id;
    }

此时,你书写控制层代码就可以实现消息队列了,不过有一个缺陷,那就是处理消息的时候必须手动书写网址,调用执行对应的方法才可以,不过我们可以通过监听器来实现自动化,就是一旦有消息产生就会立即处理。

监听器代码

@Component
public class MessageListener {
    @Autowired
    private JmsMessagingTemplate template;
    @JmsListener(destination = "AA")    //要监听的消息队列名称
    @SendTo(value = "BB")        //自动化处理完,还可以把该消息传递给下一了消息队列        
    public String receive(){
        String id=template.receiveAndConvert("AA",String.class);
        System.out.println("已完成短信发送业务,id:"+id+"\n");
        return "new_"+id;       //利用返回值转发给下一个
    }
}

业务层代码

@Service
public class MessageServiceActive implements MessageService {
    @Autowired
    private JmsMessagingTemplate template;
    @Override
    public void getMessage(String id) {
        template.convertAndSend("AA",id);
        System.out.println("待发送短信的订单已纳入处理队列,id:"+id);
    }
}

这样我们的消息就可以流水线似的处理了,这是点对点的消息队列方式,还有订阅式的。

到此这篇关于Springboot整合ActiveMQ实现消息队列的过程浅析的文章就介绍到这了,更多相关Springboot整合ActiveMQ内容请搜索码农之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持码农之家!


参考资料

相关文章

网友讨论