gpt4 book ai didi

scheduled-tasks - 当 Sleuth 在场时,ShedLock 不会锁定

转载 作者:行者123 更新时间:2023-12-05 03:56:53 27 4
gpt4 key购买 nike

有一个应用程序通过调度程序运行一些进程,比如我们有多个实例,我们选择 shedlock 来阻止其他运行相同的进程。但是,它不起作用,因为 sleuth 提供了一个 Runnable 实例,它是 TraceRunnable,预期是 ScheduledMethodRunnable。有解决这个问题的想法吗?

类 SpringLockConfigurationExtractor

@Override
public Optional<LockConfiguration> getLockConfiguration(Runnable task) {
if (task instanceof ScheduledMethodRunnable) {
ScheduledMethodRunnable scheduledMethodRunnable = (ScheduledMethodRunnable) task;
return getLockConfiguration(scheduledMethodRunnable.getTarget(), scheduledMethodRunnable.getMethod());
} else {
logger.debug("Unknown task type " + task);
}
return Optional.empty();
}

最佳答案

我与开发人员交谈并按照文档将参数 interceptMode 设置为 PROXY_METHOD 及其工作。他提到这将是 future 版本中的默认值,有利于避免此类问题。

@EnableSchedulerLock(defaultLockAtMostFor = "PT5M", interceptMode = PROXY_METHOD)

关于scheduled-tasks - 当 Sleuth 在场时,ShedLock 不会锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58973889/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com