问题描述
我有一个 Spring Boot 应用程序,它使用 Spring 的 @Scheduled 注释使用预定作业。 我通过 net.javacrumbs.shedlock 添加了 @SchedulerLock ,由 net.javacrumbs.shedlock:shedlock-provider-jdbc-template 支持 集成测试使用wiremock 服务器。添加 SchedulerLock 后,测试变得异常缓慢,我看到以下日志:
[Connector-Scheduler-5ed379c0] DEBUG wiremock.org.eclipse.jetty.io.WriteFlusher - ignored: WriteFlusher@4d03e612{IDLE}->null
java.util.concurrent.TimeoutException: Idle timeout expired: 30001/30000 ms
at wiremock.org.eclipse.jetty.io.IdleTimeout.checkIdleTimeout(IdleTimeout.java:171)
at wiremock.org.eclipse.jetty.io.IdleTimeout.idleCheck(IdleTimeout.java:113)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
当我删除 SchedLock 时,一切正常。 知道可能是什么问题吗?
示例代码:
@EnableSchedulerLock(defaultLockAtMostFor = "10m") // This is in Spring Boot's main Application class
@SchedulerLock(name = "test1",lockAtLeastFor = "5m",lockAtMostFor = "10m") // This one in the scheduler class method level
环境: schedlock 版本:4.15.1 弹簧靴:2.3.7
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)