feat(1.5.0-beta1): 回滚死信表数据,存在重复的数据时明确异常信息
This commit is contained in:
parent
25b4b0a2db
commit
bf7342ba30
@ -29,6 +29,7 @@ import com.aizuda.snailjob.template.datasource.persistence.po.*;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.dao.DuplicateKeyException;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
@ -125,9 +126,13 @@ public class RetryDeadLetterServiceImpl implements RetryDeadLetterService {
|
|||||||
waitRollbackList.add(retry);
|
waitRollbackList.add(retry);
|
||||||
}
|
}
|
||||||
|
|
||||||
TaskAccess<Retry> retryTaskAccess = accessTemplate.getRetryAccess();
|
try {
|
||||||
Assert.isTrue(waitRollbackList.size() == retryTaskAccess.insertBatch( waitRollbackList),
|
TaskAccess<Retry> retryTaskAccess = accessTemplate.getRetryAccess();
|
||||||
() -> new SnailJobServerException("Failed to add retry task"));
|
Assert.isTrue(waitRollbackList.size() == retryTaskAccess.insertBatch( waitRollbackList),
|
||||||
|
() -> new SnailJobServerException("Failed to add retry task"));
|
||||||
|
} catch (DuplicateKeyException e) {
|
||||||
|
throw new SnailJobServerException("Duplicate retry task");
|
||||||
|
}
|
||||||
|
|
||||||
Set<Long> waitDelRetryDeadLetterIdSet = StreamUtils.toSet(retryDeadLetterList, RetryDeadLetter::getId);
|
Set<Long> waitDelRetryDeadLetterIdSet = StreamUtils.toSet(retryDeadLetterList, RetryDeadLetter::getId);
|
||||||
Assert.isTrue(waitDelRetryDeadLetterIdSet.size() == retryDeadLetterAccess.delete(
|
Assert.isTrue(waitDelRetryDeadLetterIdSet.size() == retryDeadLetterAccess.delete(
|
||||||
|
Loading…
Reference in New Issue
Block a user