GitHub user jinnan22 created a discussion: 一个方法内,只执行一个更新的操作,会出现两次提交
**代码:**
@GlobalTransactional(name = "gtx_updateOilAnalysis", rollbackFor =
Exception.class)
@Transactional(rollbackFor = Exception.class)
public void updateOilAnalysis(OilAnalysisAddQuery oilAnalysisAddQuery){
oilAnalysisAddQuery.setDeptId(oilAnalysisAddQuery.getDeptIdStr());
if
(!MosConstants.MAINTENANCE_STATUS_UNSUBMITTED.equals(oilAnalysisAddQuery.getStatus()))
{
throw new CustomException("错误,周期工作标准数据已提交,不允许修改!");
}
if(ValidatorUtil.isEmpty(oilAnalysisAddQuery.getAnalysisId())){
throw new CustomException("参数错误!");
}
if (oilAnalysisAddQuery.isSubmit()) {
isSubmit(oilAnalysisAddQuery);
}
CmVessel vessel = new CmVessel();
if (ObjectUtil.isNotEmpty(oilAnalysisAddQuery.getVesselCode())){
vessel = vesselService.getOne(new LambdaQueryWrapper<CmVessel>()
.eq(CmVessel::getVesselCode,
oilAnalysisAddQuery.getVesselCode())
.eq(CmVessel::getDelFlag, MosConstants.NOT_DELETE_FLAG));
}
MmOilAnalysis mmOilAnalysis =
mmOilAnalysisService.addOrUpdateMmOilAnalysis(oilAnalysisAddQuery,
vessel.getBusinessUnits());
mmOilAnalysis.setStatus(oilAnalysisAddQuery.isSubmit() ?
MosConstants.MAINTENANCE_STATUS_UNREVIEWED :
MosConstants.MAINTENANCE_STATUS_UNSUBMITTED);
boolean update = mmOilAnalysisService.updateById(mmOilAnalysis);
if (!update) {
throw new CustomException("保存失败,请刷新后重试或联系管理员!");
}
if (oilAnalysisAddQuery.isSubmit()) {
mmOilAnalysisService.submitForActiviti(mmOilAnalysis.getAnalysisId(),
oilAnalysisAddQuery.getFlowBizInfoUrl(),
oilAnalysisAddQuery.getBizTypeCode(),mmOilAnalysis);
}
}
**日志:**
2026-09-07 15:55:49.212 chain-vessel
[traceId:0987a91f6bf44b428a5d740fa2faff53] INFO
io.seata.tm.TransactionManagerHolder - TransactionManager Singleton
io.seata.tm.DefaultTransactionManager@53f096f2
2026-09-07 15:55:51.287 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
INFO io.seata.tm.api.DefaultGlobalTransaction - Begin new global transaction
[192.168.59.101:8091:27842136592814315]
2026-09-07 15:55:51.352 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
DEBUG c.c.bus.vessel.mapper.CmVesselMapper.selectList - ==>
2026-09-07 15:55:51.399 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
DEBUG c.c.bus.vessel.mapper.CmVesselMapper.selectList - ==> Parameters:
GD7(String), 1(String)
2026-09-07 15:55:51.444 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
DEBUG c.c.bus.vessel.mapper.CmVesselMapper.selectList - <== Total: 1
2026-09-07 15:55:51.446 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
DEBUG c.c.bus.work.mapper.MmOilAnalysisMapper.selectList - ==>
2026-09-07 15:55:51.447 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
DEBUG c.c.bus.work.mapper.MmOilAnalysisMapper.selectList - ==> Parameters:
b2d2d766edb043b1814a540a64541067(String), 1(String)
2026-09-07 15:55:51.486 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
DEBUG c.c.bus.work.mapper.MmOilAnalysisMapper.selectList - <== Total: 1
2026-09-07 15:55:51.528 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
DEBUG c.c.bus.work.mapper.MmOilAnalysisMapper.updateById - ==> Preparing:
UPDATE mm_oil_analysis SET SAMPLE_TYPE=?, SAMPLE_NO=?, REPORT_NO=?,
REPORT_DATE=?, SAMPLE_DATE=?, ANALYSIS_RESULT=?, STATUS=?, CURRENCY_CODE=?,
ANALYSIS_AMOUNT=?, REMARK=?, CREATE_USER=?, create_time=?, MODIFY_USER=?,
modify_time=?, del_flag=?, vessel_code=?, version_num=? WHERE ANALYSIS_ID=?
2026-09-07 15:55:51.544 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
DEBUG c.c.bus.work.mapper.MmOilAnalysisMapper.updateById - ==> Parameters:
0(String), 111(String), d1111(String), 2026-09-07T00:00(LocalDateTime),
2026-09-08T00:00(LocalDateTime), 0(String), 0(String), OMR(String),
111(BigDecimal), 111(String), 0(String), 2026-09-07T15:05:19(LocalDateTime),
0(String), 2026-09-07T15:55:51.487(LocalDateTime), 1(String), GD7(String),
1(Integer), b2d2d766edb043b1814a540a64541067(String)
2026-09-07 15:55:52.152 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
DEBUG c.c.bus.work.mapper.MmOilAnalysisMapper.updateById - <== Updates: 1
2026-09-07 15:55:53.430 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
INFO io.seata.tm.api.DefaultGlobalTransaction - Suspending current
transaction, xid = 192.168.59.101:8091:27842136592814315
2026-09-07 15:55:53.431 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
INFO io.seata.tm.api.DefaultGlobalTransaction -
[192.168.59.101:8091:27842136592814315] commit status: Committed
2026-09-07 15:55:53.433 chain-vessel [traceId:0987a91f6bf44b428a5d740fa2faff53]
DEBUG com.chain.common.core.filter.TraceIdFilter -
TraceIdFilter#doFilterInternal#MDC removed
2026-09-07 15:55:53.818 chain-vessel [traceId:582b1f52c0374a33bb55f6777a1089eb]
DEBUG com.chain.common.core.filter.TraceIdFilter -
TraceIdFilter#doFilterInternal#traceId from header:
582b1f52c0374a33bb55f6777a1089eb
2026-09-07 15:55:53.818 chain-vessel [traceId:582b1f52c0374a33bb55f6777a1089eb]
DEBUG com.chain.common.core.filter.TraceIdFilter -
TraceIdFilter#doFilterInternal#traceId set to response header:
582b1f52c0374a33bb55f6777a1089eb
2026-09-07 15:55:53.840 chain-vessel [traceId:582b1f52c0374a33bb55f6777a1089eb]
INFO com.chain.bus.base.common.aspect.DataScopeAspect - 数据过滤处理
2026-09-07 15:55:53.847 chain-vessel [traceId:582b1f52c0374a33bb55f6777a1089eb]
WARN com.chain.common.core.utils.ServletUtils - Request is not wrapped by
CachedBodyHttpServletRequest, cannot read body.
2026-09-07 15:55:53.873 chain-vessel [traceId:582b1f52c0374a33bb55f6777a1089eb]
DEBUG c.c.b.w.m.MmOilAnalysisMapper.selectParam_COUNT - ==> Preparing: SELECT
count(0) FROM `mm_oil_analysis` s LEFT JOIN cm_vessel v ON s.vessel_code =
v.vessel_code WHERE s.`del_flag` = '1'
2026-09-07 15:55:53.874 chain-vessel [traceId:582b1f52c0374a33bb55f6777a1089eb]
DEBUG c.c.b.w.m.MmOilAnalysisMapper.selectParam_COUNT - ==> Parameters:
2026-09-07 15:55:53.907 chain-vessel [traceId:582b1f52c0374a33bb55f6777a1089eb]
DEBUG c.c.b.w.m.MmOilAnalysisMapper.selectParam_COUNT - <== Total: 1
2026-09-07 15:55:53.918 chain-vessel [traceId:582b1f52c0374a33bb55f6777a1089eb]
DEBUG c.c.b.work.mapper.MmOilAnalysisMapper.selectParam - ==> Preparing:
SELECT s.`work_id`, s.`ANALYSIS_ID`, s.`business_units`, s.`dept_id`,
s.`SAMPLE_TYPE`, s.`SAMPLE_NO`, s.`REPORT_NO`, s.`SAMPLE_DATE`,
s.`ANALYSIS_RESULT`, s.`STATUS`, s.`REMARK`, s.`CHECK_USER`, s.`CHECK_DATE`,
s.`CREATE_USER`, s.`create_time`, s.`MODIFY_USER`, s.`MODIFY_Time`,
s.`VESSEL_CODE`, s.`del_flag`, s.`REPORT_DATE`, s.`CURRENCY_CODE`,
s.`ANALYSIS_AMOUNT` FROM `mm_oil_analysis` s LEFT JOIN cm_vessel v ON
s.vessel_code = v.vessel_code WHERE s.`del_flag` = '1' order by create_time
desc LIMIT ?
2026-09-07 15:55:53.919 chain-vessel [traceId:582b1f52c0374a33bb55f6777a1089eb]
DEBUG c.c.b.work.mapper.MmOilAnalysisMapper.selectParam - ==> Parameters:
10(Integer)
2026-09-07 15:55:53.960 chain-vessel [traceId:582b1f52c0374a33bb55f6777a1089eb]
DEBUG c.c.b.work.mapper.MmOilAnalysisMapper.selectParam - <== Total: 10
2026-09-07 15:55:53.968 chain-vessel [traceId:582b1f52c0374a33bb55f6777a1089eb]
DEBUG com.chain.common.core.filter.TraceIdFilter -
TraceIdFilter#doFilterInternal#MDC removed
2026-09-07 15:55:54.462 chain-vessel [traceId:] INFO
i.s.c.rpc.processor.client.RmBranchCommitProcessor - rm client handle branch
commit
process:xid=192.168.59.101:8091:27842136592814315,branchId=27842136592814318,branchType=AT,resourceId=jdbc:mysql://180.168.38.38:8307/chain-mos-test,applicationData={"autoCommit":false}
2026-09-07 15:55:54.466 chain-vessel [traceId:] INFO
io.seata.rm.AbstractRMHandler - Branch committing:
192.168.59.101:8091:27842136592814315 27842136592814318
jdbc:mysql://180.168.38.38:8307/chain-mos-test {"autoCommit":false}
2026-09-07 15:55:54.467 chain-vessel [traceId:] INFO
io.seata.rm.AbstractRMHandler - Branch commit result: PhaseTwo_Committed
2026-09-07 15:55:54.521 chain-vessel [traceId:] INFO
i.s.c.rpc.processor.client.RmBranchCommitProcessor - rm client handle branch
commit
process:xid=192.168.59.101:8091:27842136592814315,branchId=27842136592814321,branchType=AT,resourceId=jdbc:mysql://180.168.38.38:8307/chain-mos-test,applicationData={"autoCommit":false}
2026-09-07 15:55:54.521 chain-vessel [traceId:] INFO
io.seata.rm.AbstractRMHandler - Branch committing:
192.168.59.101:8091:27842136592814315 27842136592814321
jdbc:mysql://180.168.38.38:8307/chain-mos-test {"autoCommit":false}
2026-09-07 15:55:54.521 chain-vessel [traceId:] INFO
io.seata.rm.AbstractRMHandler - Branch commit result: PhaseTwo_Committed
JDK:1.8
seata版本:1.6.1
GitHub link: https://github.com/apache/incubator-seata/discussions/8222
----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]