Spring Boot 2.x实战92 - 事件驱动1 - JMS

本文介绍了Spring Boot 2.x中使用JMS进行事件驱动开发,重点讲解了Apache ActiveMQ Artemis的安装和配置,以及如何在Spring Boot应用中创建消息生产者和消费者。详细阐述了Queue和Topic的区别,并提供了实际的发送和接收消息的示例。
摘要由CSDN通过智能技术生成

事件驱动开发是一种异步的、用来开发高扩展应用、分布式的架构。它涉及到事件的产生、处理和消费。了解事件驱动首先要了解下面四个概念:

  • Message/Event:消息或事件,需要产生、处理和消费的数据;
  • Publisher/Producer:消息的发布者或生产者;
  • Subsriber/Consumer:消息的订阅者或消费者;
  • Message Broker:消息代理或消息中间件,是发布者和订阅者另外的第三方;通过消息代理了来转发消息,发布者和订阅者无需知道彼此的存在。

1.JMS

Spring支持ActiveMQ和Artemis作为JMS消息中间件,Artemis是ActiveMQ下一代的重新实现,本节以Artemis作为示例。

1.1 安装Apache ActiveMQ Artemis

使用docker compose安装Artemis。

stack.yml

version: '3.1'

services:
  artemis:
    image: vromero/activemq-artemis
    restart: always
    ports:
      - 8161:8161 # 管理控制台端口
      - 61616:61616 # 连接端口
    environment:
      ARTEMIS_USERNAME: wisely
      ARTEMIS_PASSWORD: zzzzzz

执行命令:

$ docker-compose -f stack.yml up -d
1.2 新建应用

新建应用,信息如下:

Group:top.wisely

Artifact:learning-jms

Dependencies:Spring for Apache ActiveMQ ArtemisLombok

build.gradle文件中的依赖如下:

dependencies {
   
   implementation 'org.springframework.boot:spring-boot-starter-artemis'
   compileOnly 'org.projectlombok:lombok'
   annotationProcessor 'org.projectlombok:lombok'
	//...
}
1.3 Spring Boot的自动配置

Spring Boot对JMS提供的自动配置有:

  • ArtemisAutoConfiguration:通过ArtemisProperties使用spring.artemis.*来配置连接Artemis的jmsConnectionFactory的Bean;

  • JmsAutoConfiguration

    • 使用jmsConnectionFactory的Bean配置jmsTemplate的Bean;
    • 通过@EnableJms开启JMS的支持。
1.4 示例
  • 连接JMS中间件Artemis

    spring:
      artemis:
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值