@Async
@Transactional(propagation = Propagation.REQUIRES_NEW)
public Future<Boolean> runTask(Integer jobId) throws AsyncTaskException {
Job job = this.jobRepo.findOne(jobId);
try {
this.restorer.restore(job.getDbDumperServiceInstance(), job.getDatabaseRefTarget(), job.getDumpDate());
} catch (RestoreException e) {
logger.error(String.format("Cannot restore dump for '%s' in '%s': %s", job.getDatabaseRefSrc().getDatabaseName(), job.getDatabaseRefTarget().getDatabaseName(), e.getMessage()));
job.setJobEvent(JobEvent.ERRORED);
job.setErrorMessage(e.getMessage());
this.databaseRefManager.deleteServiceKey(job);
jobRepo.save(job);
return new AsyncResult<Boolean>(false);
}
this.databaseRefManager.deleteServiceKey(job);
job.setJobEvent(JobEvent.FINISHED);
jobRepo.save(job);
return new AsyncResult<Boolean>(true);
}
RestoreDumpTask.java 文件源码
java
阅读 22
收藏 0
点赞 0
评论 0
项目:db-dumper-service
作者:
评论列表
文章目录