事务commit后 执行异步操作

在大事务中,大list保存引起dubbo调用超时,通过事务提交后执行异步操作。
如果异步操作失败需人工介入。--可考虑记失败日志重试。

    TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
            @Override
            public void afterCommit() {
                activityProductStoreMapPool.submit(() -> {
                    try {
                        activityStoreProductMapService.save(finalStoreProductMapList);
                    } catch (Exception e) {
                        log.error("活动商品门店关联关系保存失败,活动id:{},activityStoreProductMapList:{}", domain.getId(), JSON.toJSONString(finalStoreProductMapList));
                        log.error(e.getMessage(), e);
                    }
                });
            }
        });

你可能感兴趣的:(事务commit后 执行异步操作)