stacksaga.domain-entity-scan
|
String[]
|
[]
|
用于扫描带有 @SagaDomainEntity 注解的类的包名列表(以逗号分隔)。例如:com.example.domain,com.example.anotherdomain。 |
stacksaga.scheduler.execution.parallelism
|
int
|
Runtime.getRuntime().availableProcessors()
|
支持框架共享非阻塞 executionScheduler 的工作线程数 —— 该并行 reactor.core.scheduler.Scheduler(通过 Schedulers.newParallel("saga-exe", parallelism) 创建)负责驱动持续进行的响应式/Saga 处理,以及 ReactiveTransactionEventListener#onStateChanged 实现的运行环境。参见 ReactiveTransactionEventListener。 |
stacksaga.scheduler.blocking-execution.thread-cap
|
int
|
Runtime.getRuntime().availableProcessors() * 10
|
blockingExecutionScheduler 允许创建的最大线程数 —— 这是一个有界弹性 (Bounded-Elastic) reactor.core.scheduler.Scheduler,专门用于调用阻塞式、非响应式的用户代码(例如 TransactionEventListener#onStateChanged)。参见 TransactionEventListener。
|
stacksaga.scheduler.blocking-execution.queued-task-cap
|
int
|
100000
|
当达到 thread-cap 限制且所有线程均处于繁忙状态时,blockingExecutionScheduler 允许排队的最大任务数,超过此容量后将拒绝新任务提交。 |
stacksaga.scheduler.blocking-execution.ttl-seconds
|
int
|
60
|
空闲存活时间(以秒为单位),超过此时间未使用的 blockingExecutionScheduler 工作线程将被回收。 |
stacksaga.scheduler.blocking-execution.daemon
|
boolean
|
false
|
blockingExecutionScheduler 工作线程是否创建为守护线程。默认保持 false,以确保当监听器调用仍在进行中时 JVM 不会提前退出。
|
stacksaga.scheduler.graceful-shutdown-timeout-seconds
|
int
|
30
|
停机时在强制立即释放前,给予每个调度器正在进行/排队任务完成的等待超时时间(以秒为单位)。同时适用于 executionScheduler 与 blockingExecutionScheduler。 |
stacksaga.instance.cluster
|
String
|
- |
当前实例所属的集群名称。各组件仅在 cluster 值相同时才能互相连接,因此必须在所有需要连接的 Master、Slave 以及编排器之间保持完全一致。 |
stacksaga.instance.region
|
String
|
default
|
当前实例所属的运行部署区域。用于标识事务来源、强制集群边界并协调分布式重试。
+
NOTE: 默认为 default(区域代码 0)。如果配置了自定义区域(例如 us-east-1),必须声明自定义 SagaRegionResolver Spring Bean;否则应用程序启动时将快速失败并抛出 ValidationException。 |
stacksaga.instance.zone
|
String
|
- |
当前实例所属的可用区 (Zone)。在此处无强制业务影响,但应按照 StackSaga 核心规范进行设置。 |