org.mapstruct

segment2.0
beeajax 2 years ago
parent a6c6f7bd6f
commit 027d21d849

@ -30,25 +30,33 @@ public class TrackRetryService {
@Async("recordMessage")
@Retryable(value = Exception.class, maxAttempts = 3, backoff = @Backoff(delay = 2000L, multiplier = 1.5))
public void doRetry(TaskMessage message) throws Exception {
TaskMessageRetryLog taskMessageRetryLog = new TaskMessageRetryLog();
BeanUtils.copyProperties(message, taskMessageRetryLog);
taskMessageRetryLog.setMessageId(message.getId());
taskMessageRetryLog.setId(idService.getDateSeq());
TaskMessageRetryLog taskMessageRetryLog = beforeProcess(message);
try {
IJobHandler jobHandler = TrackRetrySpringExecutor.loadJobHandler(message.getRetryKey());
String name = ((MethodJobHandler) jobHandler).getMethod().getParameterTypes()[0].getName();
Object o = JSON.fromJSON(message.getJsonStr(), Class.forName(name));
jobHandler.execute(o);
} catch (Exception e) {
log.error(e.getMessage(), e);
afterThrowingProcess(ExceptionUtils.getExceptionMessage(e), taskMessageRetryLog);
}
taskMessageRetryLog.setErrorMsg(ExceptionUtils.getExceptionMessage(e));
taskMessageRetryLogDao.save(taskMessageRetryLog);
}
private void afterThrowingProcess(String errorMsg, TaskMessageRetryLog taskMessageRetryLog) {
taskMessageRetryLog.setErrorMsg(errorMsg);
taskMessageRetryLog.setState(StateEnum.FAIL);
}
taskMessageRetryLogDao.save(taskMessageRetryLog);
private TaskMessageRetryLog beforeProcess(TaskMessage message) {
TaskMessageRetryLog taskMessageRetryLog = new TaskMessageRetryLog();
BeanUtils.copyProperties(message, taskMessageRetryLog);
taskMessageRetryLog.setMessageId(message.getId());
taskMessageRetryLog.setId(idService.getDateSeq());
return taskMessageRetryLog;
}
}

@ -29,4 +29,6 @@ public class PowerUserDaoImpl extends BaseDaoImpl<PowerUserMapper, PowerUser> im
public void delUserByUserName(String userName) {
baseMapper.delUserByUserName(userName);
}
}

@ -216,6 +216,24 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<!-- 实体映射转换 start -->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.3.0.Final</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
<version>1.3.0.Final</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.3.0.Final</version>
</dependency>
<!-- 实体映射转换 end -->
</dependencies>
<profiles>

Loading…
Cancel
Save