解决多线程导致某些数据表数据重复问题。

This commit is contained in:
gaoyutao
2025-09-05 14:38:46 +08:00
parent 8aaa60d7ef
commit 3a45714100
16 changed files with 122 additions and 91 deletions
@@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
@@ -129,7 +130,7 @@ public class InitialBandwidthTrafficServiceImpl implements IInitialBandwidthTraf
* @param initialBandwidthTraffic 流量数据
*/
@Override
@Transactional
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
public void batchInsert(InitialBandwidthTraffic initialBandwidthTraffic) {
if (initialBandwidthTraffic == null) {
return;
@@ -7,6 +7,7 @@ import com.ruoyi.rocketmq.service.IInitialCpuInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -105,7 +106,7 @@ public class InitialCpuInfoServiceImpl implements IInitialCpuInfoService
* @return 结果
*/
@Override
@Transactional
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
public int batchInsertInitialCpuInfo(List<InitialCpuInfo> list) {
try {
return initialCpuInfoMapper.batchInsertInitialCpuInfo(list);
@@ -7,6 +7,7 @@ import com.ruoyi.rocketmq.service.IInitialDiskInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -104,7 +105,7 @@ public class InitialDiskInfoServiceImpl implements IInitialDiskInfoService
* @return 结果
*/
@Override
@Transactional
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
public int batchInsertInitialDiskInfo(List<InitialDiskInfo> list) {
try {
return initialDiskInfoMapper.batchInsertInitialDiskInfo(list);
@@ -7,6 +7,7 @@ import com.ruoyi.rocketmq.service.IInitialDockerInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -105,7 +106,7 @@ public class InitialDockerInfoServiceImpl implements IInitialDockerInfoService
* @return 结果
*/
@Override
@Transactional
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
public int batchInsertInitialDockerInfo(List<InitialDockerInfo> initialDockerInfo){
try {
return initialDockerInfoMapper.batchInsertInitialDockerInfo(initialDockerInfo);
@@ -7,6 +7,7 @@ import com.ruoyi.rocketmq.service.IInitialMemoryInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -105,7 +106,7 @@ public class InitialMemoryInfoServiceImpl implements IInitialMemoryInfoService
* @return 结果
*/
@Override
@Transactional
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
public int batchInsertInitialMemoryInfo(List<InitialMemoryInfo> list) {
try {
return initialMemoryInfoMapper.batchInsertInitialMemoryInfo(list);
@@ -7,6 +7,7 @@ import com.ruoyi.rocketmq.service.IInitialMountPointInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -104,7 +105,7 @@ public class InitialMountPointInfoServiceImpl implements IInitialMountPointInfoS
* @return 结果
*/
@Override
@Transactional
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
public int batchInsertInitialMountPointInfo(List<InitialMountPointInfo> list) {
try {
return initialMountPointInfoMapper.batchInsertInitialMountPointInfo(list);
@@ -7,6 +7,7 @@ import com.ruoyi.rocketmq.service.IInitialSwitchInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -105,7 +106,7 @@ public class InitialSwitchInfoServiceImpl implements IInitialSwitchInfoService
* @return 结果
*/
@Override
@Transactional
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
public int batchInsertInitialSwitchInfo(List<InitialSwitchInfo> list) {
try {
return initialSwitchInfoMapper.batchInsertInitialSwitchInfo(list);
@@ -8,6 +8,7 @@ import com.ruoyi.rocketmq.service.IInitialSwitchInfoTempService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -105,7 +106,7 @@ public class InitialSwitchInfoTempServiceImpl implements IInitialSwitchInfoTempS
* @return 结果
*/
@Override
@Transactional
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
public int batchInsertInitialSwitchInfoTemp(List<InitialSwitchInfo> list) {
try {
return initialSwitchInfoTempMapper.batchInsertInitialSwitchInfoTemp(list);
@@ -7,6 +7,8 @@ import com.ruoyi.rocketmq.service.IInitialSystemInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -103,7 +105,7 @@ public class InitialSystemInfoServiceImpl implements IInitialSystemInfoService
* @param initialSystemInfo 系统监控信息集合
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
public int batchInsertInitialSystemInfo(List<InitialSystemInfo> initialSystemInfo)
{
try {