J'ai un problème de doublons lors du moissonnage de Canal-U (cf
exception ci-dessous). Je ne récolte qu'une seule fiche.
Je précise que j'ai nettoyé les précedentes récoltes avant de moissonner
à nouveau.
Que faut-il faire pour partir d'une base "propre" ? A quel champ
correspond la clé en double ?
A+,
Henri
253152387 [Thread-16962] ERROR
org.hibernate.event.def.AbstractFlushingEventListener - Could not
synchronize database state with session
org.hibernate.exception.ConstraintViolationException: Could not execute
JDBC batch update
at
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)
at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at
org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
at
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)
at
org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at
org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:558)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:540)
at
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:510)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:310)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:209)
at $Proxy1.addRecord(Unknown Source)
at
org.orioai.harvesting.domain.logic.AddOrUpdateRecordAction.execute(AddOrUpdateRecordAction.java:87)
at
org.orioai.harvesting.domain.logic.OAIStore$AddOrUpdateListRecordsAction.doRecordAction(OAIStore.java:726)
at
org.orioai.harvesting.domain.logic.OAIStore$XpathListRecordsAction.execute(OAIStore.java:677)
at
org.orioai.harvesting.domain.logic.ListProvider.processListRecords(ListProvider.java:76)
at
org.orioai.harvesting.domain.logic.OAIStore.processAddOrUpdate(OAIStore.java:570)
at
org.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:530)
at
org.orioai.harvesting.domain.logic.OAIStore.harvest(OAIStore.java:509)
at
org.orioai.harvesting.domain.service.HarvestServiceImpl.doHarvest(HarvestServiceImpl.java:188)
at
org.orioai.harvesting.domain.service.HarvestServiceImpl.harvest(HarvestServiceImpl.java:147)
at
org.orioai.harvesting.domain.logic.HarvestOnDemandActivity.harvest(HarvestOnDemandActivity.java:41)
at
org.orioai.harvesting.domain.logic.HarvestOnDemandActivity.run(HarvestOnDemandActivity.java:32)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.BatchUpdateException: Duplicate entry '589' for key 2
at
com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:657)
at
org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at
org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
--
Ce message a été vérifié par MailScanner
pour des virus ou des polluriels et rien de
suspect n'a été trouvé.