最近在做quartz的動態時間設置時碰見了一個類方法無法序列化的問題,但是該方法我已經實現了java.io.Serializable的接口了,所以很迷茫,經過詢問同事瞭解到如果想序列化某一個類,必須保證這個類中的所有對象都是可序列化的,因此找到了原因所在,我在類中調用了自動注入的對象,這個對象並沒有實現序列化的java.io.Serializable接口,所以我重新將該調用的對象一路序列化到底。
總結問題點如下:無法實現序列化的時候,檢查是否該序列化的類中有沒序列化的對象。
package com.jd.market.service.worker;
import com.jd.market.service.impl.SendMail;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.Serializable;
/**
*調度使用邏輯控制類,在此類中進行不同組別的調度操作
*/
@Service("simpleService")
public class SimpleService implements Serializable{
private static final long serialVersionUID =122323233244334343L;
private static final Logger logger =LoggerFactory.getLogger(SimpleService.class);
@Resource
privateSendMail sendMail;
/**
*執行任務執行方法
* @paramtriggerName
* @paramgroup
*/
public void executeJob(String triggerName, Stringgroup){
sendMail.sendExecuteMail();
System.out.println("@@執行任務執行結束");
}
/**
*調查任務執行方法
* @paramtriggerName
* @paramgroup
*/
public void surveyJob( String triggerName,Stringgroup){
sendMail.sendSurveyMail();
System.out.println("@@調查任務執行結束");
}
}