@Slf4j
@RequiredArgsConstructor
public class MultiThreadTransaction {
private final PlatformTransactionManager transactionManager;
private void asyncSaveBatch() {
// 线程个数
final int SIZE = 6;
// 交给单个线程处理,失败则加1
final AtomicInteger failedCounter = new AtomicInteger();
final CountDownLatch latch = new CountDownLatch(SIZE);
final ExecutorService pool = Executors.newFixedThreadPool(SIZE);
List<TransactionStatus> transactionStatuses = Collections.synchronizedList(new ArrayList<TransactionStatus
SpringBoot 多线程事务回滚问题处理
最新推荐文章于 2024-08-15 08:30:00 发布
该博客探讨了一种使用Java实现的多线程事务处理策略。通过创建固定线程池,每个线程独立处理数据插入,并使用`AtomicInteger`记录失败次数。在所有任务完成后,如果失败次数大于0,则回滚所有事务。此方法旨在提高批量数据插入的效率并确保数据一致性。
摘要由CSDN通过智能技术生成