实现序列化接口无法序列化问题

本文解决了一个在使用Quartz进行动态时间设置时遇到的序列化问题。问题出现在一个实现了Serializable接口的类中,由于该类依赖于未实现序列化的对象,导致序列化失败。文章详细介绍了排查过程及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        最近在做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("@@调查任务执行结束");
}
 
 
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值