无法序列化Quartz,java.io.NotSerializableException:org.Quartz.impl.StdScheduler
当尝试序列化计划的事件时,我得到无法序列化Quartz,java.io.NotSerializableException:org.Quartz.impl.StdScheduler,java,serialization,quartz-scheduler,Java,Serialization,Quartz Scheduler,当尝试序列化计划的事件时,我得到 java.io.NotSerializableException: org.quartz.impl.StdScheduler at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) at jav
java.io.NotSerializableException: org.quartz.impl.StdScheduler
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346)
at java.util.ArrayList.writeObject(ArrayList.java:710)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:975)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1480)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416)
作业计划如下所示
JobDetail job = new JobDetail();
job.setName(jobName);
job.setGroup("my group");
job.setJobClass(Event.class);
SimpleTrigger trigger = new SimpleTrigger();
trigger.setStartTime(new Date(momentInTime.inMillis()));
trigger.setName("trigger" + index);
if (shouldRunOnce()) {
trigger.setRepeatCount(0);
} else {
trigger.setRepeatInterval(repeatFrequency.inMillis());
trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
}
scheduleManager.getScheduler().scheduleJob(job, trigger);
如何避免这种情况?我怀疑您的事件类没有实现可序列化接口)。
我看不出有什么理由序列化调度程序本身,所以我怀疑这就是原因
,这有点道理,因为Quartz调度程序必须以某种方式存储作业。你能发布更多的stacktrace行吗?@Zaske Done。感谢您阅读此文章。您可以发布事件的源代码吗?没有任何内容,
实现作业
,休眠60秒。事件可序列化。看来,org.quartz.impl.StdScheduler
不是