JDBC バッチ更新を使用できるように、Java 同時実行ソリューションを探しています。BlockingQueue は一度に 1 つの項目を許可します。DAO にはバッチ更新のメソッドが既にありますが、単一のレコード更新ではなく JDBC バッチ更新を利用できるようにするための解決策が必要です。
私のワーカースレッドは次のようになります:
class DBWorker extends Thread {
@Override
public void run() {
try {
while (true) {
try {
Pair<Long, Status> p = dbQ.take();
//--
orderDao.updateStatus(p.getLeft(), p.getRight());
} catch (InterruptedException e) {
log.error(e);
}
}
} catch (Exception e) {
log.error(e);
} finally {
}
}
}