• 欢迎光临~

org.quartz.JobPersistenceException: Couldn't retrieve trigger: invalid stream header: EFBFBDEF

开发技术 开发技术 2022-12-30 次浏览

项目工程集成quartz2.3.2,需要在内网环境重新部署一套,包括需要dump表结构和数据。

将原数据库所有表结构和表内数据导出并导入到内网数据库,并没有做任何特殊处理,启动工程后项目启动报错:org.quartz.JobPersistenceException: Couldn't retrieve trigger: invalid stream header: EFBFBDEF

org.quartz.JobPersistenceException: Couldn't retrieve trigger: invalid stream header: EFBFBDEF

 

 

 在网上搜索了许多上图错误信息都没得到启发,知道看到大佬一篇随笔 postgres 中报错 org.quartz.JobPersistenceException: Couldn't store trigger,invalid stream header

quartz 使用的表qrtz_job_details 中的字段 job_data 字段类型不正确, 在 mydql 中,是 blob 类型,二进制 大对象,但在 postgres 数据库中是没有 blob 类型,应该对应 bytea 类型,即二进制 

quartz 的 qrtz_triggers  表中的 job_data 必须要与  qutz_job_details 表中的 job_data 字段一致

一语惊醒,在之前的数据库导出导入操作,都是带数据导入的,结合上述报错,十有八九应该是导入的数据有问题,随即从这个角度下手排查问题。

将quartz的qrtz_triggers表和qrtz_job_details表的数据全删除后重启服务果然不再报错。

喜欢 (0)