报错信息如下:
org.apache.ibatis.exceptions.PersistenceException:
Error querying database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.sunyard.insurance.dao.SyssequencesDao.getExtendId
Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.sunyard.insurance.dao.SyssequencesDao.getExtendId
java.lang.Exception: [新单]|create imageExtend|投保书|任务已完结或者任务不存在|创建ImageExtend表记录时,异常.error:操作Extend表异常;sql= error message:nested exception is org.apache.ibatis.exceptions.PersistenceException:
Error querying database. Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.sunyard.insurance.dao.SyssequencesDao.getExtendId
Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.sunyard.insurance.dao.SyssequencesDao.getExtendId
at com.sunyard.insurance.acsynchronized.TaskCreator.doNewCase(TaskCreator.java:216)
at com.sunyard.insurance.acsynchronized.TaskCreator.create(TaskCreator.java:104)
at com.sunyard.insurance.task.AcRe.dealBPOBatch(AcRe.java:403)
at com.sunyard.insurance.task.AcRe.deal(AcRe.java:189)
at com.sunyard.insurance.task.AcCall.call(AcCall.java:34)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
我查找网上资料,很多都说是命名错误,但是我这边命名没有错,而且他也正常跑错,就是这个错误会在程序正常运行一段时间之后突然出现。
我现在怀疑这个和多线程有关系
我这边这个方法是定时任务,2分钟执行一次。
第一次没处理完,第二次再启动的时候好像就报错。
比如说第一次处理,发现有1000条数据要处理,但是2分钟过去只处理了500条,接着定时任务又开始启动这个方法 然后又开始接着就好像报错了。
上面只是我的猜测。
这个BUG已经困扰很久了,求大神帮忙