我按照这个配置了,会报错
Opened this issue · 0 comments
@configuration
@EnableScheduling
@EnableSchedulerLock(defaultLockAtMostFor = "PT30S")
public class ScheduledLockConfig {
String env = "dev";
@Bean
public LockProvider lockProvider(RedisConnectionFactory connectionFactory) {
//环境变量 -需要区分不同环境避免冲突,如dev环境和test环境,两者都部署时,只有一个实例进行,此时会造成相关环境未启动情况
return new RedisLockProvider(connectionFactory, env);
}
@scheduled(fixedDelay = 5000)
@SchedulerLock(name = "taskMessagePushSchedule")
public void taskMessagePushSchedule() {
//TODO something
}
报错
10-24 10:36:52:423 E org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler(95) - Unexpected error occurred in scheduled task.
java.lang.NoSuchMethodError: org.springframework.data.redis.connection.RedisConnection.set([B[BLorg/springframework/data/redis/core/types/Expiration;Lorg/springframework/data/redis/connection/RedisStringCommands$SetOption;)Ljava/lang/Boolean;
at net.javacrumbs.shedlock.provider.redis.spring.RedisLockProvider$ShedlockRedisTemplate.lambda$tryToSetExpiration$0(RedisLockProvider.java:122)
at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:207)
at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:169)
at net.javacrumbs.shedlock.provider.redis.spring.RedisLockProvider$ShedlockRedisTemplate.tryToSetExpiration(RedisLockProvider.java:122)
at net.javacrumbs.shedlock.provider.redis.spring.RedisLockProvider$ShedlockRedisTemplate.access$100(RedisLockProvider.java:116)
at net.javacrumbs.shedlock.provider.redis.spring.RedisLockProvider.lock(RedisLockProvider.java:67)
at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.$Proxy101.lock(Unknown Source)
at net.javacrumbs.shedlock.core.DefaultLockingTaskExecutor.executeWithLock(DefaultLockingTaskExecutor.java:51)
at net.javacrumbs.shedlock.core.DefaultLockingTaskExecutor.executeWithLock(DefaultLockingTaskExecutor.java:40)
at net.javacrumbs.shedlock.core.DefaultLockManager.executeWithLock(DefaultLockManager.java:51)
at net.javacrumbs.shedlock.core.LockableRunnable.run(LockableRunnable.java:35)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
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)
请问是哪里配置不对吗?非常感谢