我正在将jpaItemWriter与多线程一起使用。 但是我一直在收到SQL错误:1062,SQLState:23000主键冲突。尽管我正在获取不同的记录并插入相同的记录。 是JpaItemWriter ThreadSafe吗?在多线程中如何使Processor和writer线程安全,以免发生上述异常。 有时我还会收到以下异常
java.sql.SQLException: Deadlock found when trying to get lock; try restarting transaction
o.h.e.jdbc.batch.internal.BatchingBatch : HHH000315: Exception executing batch [java.sql.BatchUpdateException: (conn=629417) Duplicate entry
预先感谢
答案 0 :(得分:0)
是的, downloadAndOpenPdf(name) {
let path = null;
if (this.platform.is('ios')) {
path = this.file.documentsDirectory;
} else if (this.platform.is('android')) {
path = this.file.dataDirectory;
}
const transfer = this.transfer.create();
transfer.download(globalData.imagesUrl + name, path + 'myfile.pdf').then(entry => {
let url = entry.toURL();
this.document.viewDocument(url, 'application/pdf', {});
});
}
是线程安全的(如Javadoc中所述)。
与数据库读取器和写入器一起使用多线程步骤不是最佳选择,我建议改为使用分区步骤。