mirror of
https://gitee.com/dromara/dax-pay
synced 2026-08-12 07:25:39 +08:00
feat(artemis): 支持 embedded/native 双模式切换,环境变量注入凭证
- common-artemis 引入 artemis-jms-server,使 spring.artemis.mode=embedded 可用 - dev 默认 embedded(无需独立 broker 容器),prod 默认 native(连独立容器) - 凭证/地址全部环境变量化(ARTEMIS_MODE/BROKER_URL/USER/PASSWORD/DATA_DIR) - prod 凭证改空串兜底,embedded 模式不传也不报错;native 由 installer 注入 - embedded 持久化开启(journal 落盘,支付超时/通知消息重启不丢) - .gitignore 忽略 Artemis 运行时数据目录 data/
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -18,3 +18,6 @@ rebel.xml
|
||||
.trae
|
||||
|
||||
nul
|
||||
|
||||
# Artemis 嵌入式 broker 运行时持久化目录(journal/分页/绑定)
|
||||
data/
|
||||
|
||||
@@ -24,6 +24,13 @@
|
||||
<groupId>org.messaginghub</groupId>
|
||||
<artifactId>pooled-jms</artifactId>
|
||||
</dependency>
|
||||
<!-- 嵌入式 Artemis server(提供 EmbeddedActiveMQ + Configuration)
|
||||
常驻 fat jar,使 spring.artemis.mode=embedded 可用;mode=native 时本依赖不被装配路径触发。
|
||||
版本由 Spring Boot BOM 管理。 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.activemq</groupId>
|
||||
<artifactId>artemis-jms-server</artifactId>
|
||||
</dependency>
|
||||
<!-- JSON 序列化 -->
|
||||
<dependency>
|
||||
<groupId>cn.daxpay.open</groupId>
|
||||
|
||||
@@ -34,21 +34,23 @@ spring:
|
||||
lettuce:
|
||||
pool:
|
||||
max-wait: 1000ms
|
||||
# Artemis 消息队列配置(独立容器部署,JMS 协议)
|
||||
# 本地开发启动 broker:
|
||||
# Artemis 消息队列(双模式:native=外置容器 / embedded=内嵌 JVM)
|
||||
# 本地开发默认 embedded:无需启动独立 artemis 容器,broker 内嵌后端 JVM
|
||||
# 如需连外部 broker(联调 docker artemis):设环境变量
|
||||
# ARTEMIS_MODE=native + ARTEMIS_BROKER_URL/USER/PASSWORD
|
||||
artemis:
|
||||
# 连接模式:native 表示连接外部独立 broker(非嵌入式)
|
||||
mode: native
|
||||
# Broker 连接地址
|
||||
broker-url: tcp://192.168.1.229:61616
|
||||
# broker 账号(与容器启动环境变量一致)
|
||||
user: admin
|
||||
password: admin
|
||||
# 连接池
|
||||
mode: ${ARTEMIS_MODE:embedded}
|
||||
broker-url: ${ARTEMIS_BROKER_URL:tcp://192.168.1.229:61616}
|
||||
user: ${ARTEMIS_USER:admin}
|
||||
password: ${ARTEMIS_PASSWORD:admin}
|
||||
pool:
|
||||
enabled: true
|
||||
max-connections: 10
|
||||
idle-timeout: 30s
|
||||
embedded:
|
||||
enabled: true
|
||||
persistent: true
|
||||
data-directory: ${ARTEMIS_DATA_DIR:./data/artemis}
|
||||
jms:
|
||||
# 会话缓存,提升发送性能
|
||||
cache:
|
||||
|
||||
@@ -40,16 +40,25 @@ spring:
|
||||
lettuce:
|
||||
pool:
|
||||
max-wait: 1000ms
|
||||
# Artemis 消息队列(凭证环境变量注入)
|
||||
# Artemis 消息队列(双模式:native=外置容器 / embedded=内嵌 JVM)
|
||||
# 切换:环境变量 ARTEMIS_MODE=native|embedded(默认 native),无需改代码、不重打包
|
||||
# - native:连接独立 artemis 容器(标准部署),需 ARTEMIS_USER/PASSWORD(installer 注入)
|
||||
# - embedded:broker 内嵌后端 JVM(内存紧张场景省独立 JVM),无需凭证,journal 落 ARTEMIS_DATA_DIR
|
||||
artemis:
|
||||
mode: native
|
||||
mode: ${ARTEMIS_MODE:native}
|
||||
broker-url: ${ARTEMIS_BROKER_URL:tcp://artemis:61616}
|
||||
user: ${ARTEMIS_USER:?missing ARTEMIS_USER}
|
||||
password: ${ARTEMIS_PASSWORD:?missing ARTEMIS_PASSWORD}
|
||||
# 凭证空串兜底:embedded 模式不传也不报错;native 模式由 installer 注入真实值
|
||||
user: ${ARTEMIS_USER:}
|
||||
password: ${ARTEMIS_PASSWORD:}
|
||||
pool:
|
||||
enabled: true
|
||||
max-connections: 20
|
||||
idle-timeout: 30s
|
||||
embedded:
|
||||
enabled: true
|
||||
# 持久化:支付超时 / 通知消息重启不丢(journal 落盘)
|
||||
persistent: true
|
||||
data-directory: ${ARTEMIS_DATA_DIR:./data/artemis}
|
||||
jms:
|
||||
cache:
|
||||
enabled: true
|
||||
|
||||
Reference in New Issue
Block a user