Jmix version: 2.3.0
Jmix Studio plugin version: 2.3.0-241
IntelliJ IDEA 2024.1 (Ultimate Edition)
Hi Jmix team.
I’ve encountered problem with Quartz. That is to say,
org.quartz.SchedulerException: JobListener 'quartz_JobExecutionListener' threw exception: Cached value is not of required type [io.jmix.quartz.service.RunningJobsCache$RunningTriggersWrapper]: JobDetail 'DEFAULT.pessimisticLockExpiring': jobClass: 'io.jmix.autoconfigure.pessimisticlock.job.PessimisticLockExpiringJob concurrentExectionDisallowed: false persistJobDataAfterExecution: false isDurable: true requestsRecovers: false
at org.quartz.core.QuartzScheduler.notifyJobListenersToBeExecuted(QuartzScheduler.java:1929) ~[quartz-2.3.2.jar:na]
at org.quartz.core.JobRunShell.notifyListenersBeginning(JobRunShell.java:324) ~[quartz-2.3.2.jar:na]
at org.quartz.core.JobRunShell.run(JobRunShell.java:173) ~[quartz-2.3.2.jar:na]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) ~[quartz-2.3.2.jar:na]
Caused by: java.lang.IllegalStateException: Cached value is not of required type [io.jmix.quartz.service.RunningJobsCache$RunningTriggersWrapper]: JobDetail 'DEFAULT.pessimisticLockExpiring': jobClass: 'io.jmix.autoconfigure.pessimisticlock.job.PessimisticLockExpiringJob concurrentExectionDisallowed: false persistJobDataAfterExecution: false isDurable: true requestsRecovers: false
at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:68) ~[spring-context-6.1.8.jar:6.1.8]
at io.jmix.quartz.service.RunningJobsCache.put(RunningJobsCache.java:72) ~[jmix-quartz-2.3.0.jar:na]
at io.jmix.quartzflowui.listener.JobExecutionListener.jobToBeExecuted(JobExecutionListener.java:62) ~[jmix-quartz-flowui-2.3.0.jar:na]
at org.quartz.core.QuartzScheduler.notifyJobListenersToBeExecuted(QuartzScheduler.java:1927) ~[quartz-2.3.2.jar:na]
... 3 common frames omitted
after updating project’s jmix version from 2.2.3 to 2.3.0
So, can you provide any solution to fix this problem?
Deployment schema is standalone. From today it stopped giving these errors. But it throws another one like:
org.quartz.SchedulerException: JobListener ‘quartz_JobExecutionListener’ threw exception: Cannot serialize
at org.quartz.core.QuartzScheduler.notifyJobListenersToBeExecuted(QuartzScheduler.java:1929) ~[quartz-2.3.2.jar:na]
at org.quartz.core.JobRunShell.notifyListenersBeginning(JobRunShell.java:324) ~[quartz-2.3.2.jar:na]
at org.quartz.core.JobRunShell.run(JobRunShell.java:173) ~[quartz-2.3.2.jar:na]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) ~[quartz-2.3.2.jar:na]
Caused by: org.springframework.data.redis.serializer.SerializationException: Cannot serialize
at org.springframework.data.redis.serializer.JdkSerializationRedisSerializer.serialize(JdkSerializationRedisSerializer.java:94) ~[spring-data-redis-3.2.6.jar:3.2.6]
at org.springframework.data.redis.serializer.DefaultRedisElementWriter.write(DefaultRedisElementWriter.java:41) ~[spring-data-redis-3.2.6.jar:3.2.6]
at org.springframework.data.redis.serializer.RedisSerializationContext$SerializationPair.write(RedisSerializationContext.java:292) ~[spring-data-redis-3.2.6.jar:3.2.6]
at org.springframework.data.redis.cache.RedisCache.serializeCacheValue(RedisCache.java:372) ~[spring-data-redis-3.2.6.jar:3.2.6]
at org.springframework.data.redis.cache.RedisCache.put(RedisCache.java:226) ~[spring-data-redis-3.2.6.jar:3.2.6]
at io.jmix.quartz.service.RunningJobsCache.put(RunningJobsCache.java:75) ~[jmix-quartz-2.3.0.jar:na]
at io.jmix.quartzflowui.listener.JobExecutionListener.jobToBeExecuted(JobExecutionListener.java:62) ~[jmix-quartz-flowui-2.3.0.jar:na]
at org.quartz.core.QuartzScheduler.notifyJobListenersToBeExecuted(QuartzScheduler.java:1927) ~[quartz-2.3.2.jar:na]
… 3 common frames omitted
Caused by: org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer
at org.springframework.core.serializer.support.SerializingConverter.convert(SerializingConverter.java:64) ~[spring-core-6.1.8.jar:6.1.8]
at org.springframework.core.serializer.support.SerializingConverter.convert(SerializingConverter.java:33) ~[spring-core-6.1.8.jar:6.1.8]
at org.springframework.data.redis.serializer.JdkSerializationRedisSerializer.serialize(JdkSerializationRedisSerializer.java:92) ~[spring-data-redis-3.2.6.jar:3.2.6]
… 10 common frames omitted
Caused by: java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [io.jmix.quartz.service.RunningJobsCache$RunningTriggersWrapper]
at org.springframework.core.serializer.DefaultSerializer.serialize(DefaultSerializer.java:43) ~[spring-core-6.1.8.jar:6.1.8]
at org.springframework.core.serializer.Serializer.serializeToByteArray(Serializer.java:56) ~[spring-core-6.1.8.jar:6.1.8]
at org.springframework.core.serializer.support.SerializingConverter.convert(SerializingConverter.java:60) ~[spring-core-6.1.8.jar:6.1.8]
… 12 common frames omitted
over and over again. What solution would you suggest for this?
In fact it all started after I upgraded to Jmix version to 2.3.0