You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shedlock动态锁名称模板插值:如何将方法参数作为锁名部分

如何将方法参数作为锁名称的一部分

要在调度锁名称中嵌入方法参数,直接在@SchedulerLock注解的name属性中使用SpEL表达式(#{参数名})引用方法参数即可,以此动态生成包含参数的锁名称。

示例代码

@SchedulerLock(name = "my-job-#{tenantId}-#{date}")
public void job(UUID tenantId, LocalDate date) {
    // 执行任务逻辑
}

关键说明

  • SpEL表达式#{tenantId}和#{date}会在运行时被替换为对应方法参数的实际值,生成如my-job-123e4567-e89b-12d3-a456-426614174000-2024-05-20的唯一锁名
  • 这种方式能实现锁的维度隔离,比如按租户、日期区分任务,避免不同参数的任务之间出现锁冲突

内容的提问来源于stack exchange,提问作者Hadi Mansouri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 04:52:02