Commit 92ea3cc2 authored by suhuiguang's avatar suhuiguang

refact(3库刷新) :优化

1.执行速度调优
parent 897f8799
...@@ -25,17 +25,22 @@ public class DataRefreshDispatcher implements IDataRefreshDispatch { ...@@ -25,17 +25,22 @@ public class DataRefreshDispatcher implements IDataRefreshDispatch {
@Async @Async
public void doDispatch(List<IDataRefreshHandler> dataRefreshHandlers, List<TzsDataRefreshMessage> messages) { public void doDispatch(List<IDataRefreshHandler> dataRefreshHandlers, List<TzsDataRefreshMessage> messages) {
int total = dataRefreshHandlers.size(); int total = dataRefreshHandlers.size();
dataRefreshHandlers.forEach(dataRefreshHandler -> { messages.parallelStream().forEach(message -> {
messages.parallelStream().forEach(message -> { try {
try { message.setDistributions(total);
message.setDistributions(total); dataRefreshHandlers.forEach(dataRefreshHandler -> {
dataRefreshHandler.doRefresh(message); try {
markRefreshSuccess(message, dataRefreshHandler); dataRefreshHandler.doRefresh(message);
} catch (Exception e) { markRefreshSuccess(message, dataRefreshHandler);
log.error("企业、设备、人员,总线分发处理变更数据失败,消息内容:{}, 错误日志:{}", message, e.getMessage(), e); } catch (Exception e) {
markRefreshFailure(message, dataRefreshHandler, e); log.error("企业、设备、人员,总线分发处理变更数据失败,消息内容:{}, 错误日志:{}", message, e.getMessage(), e);
} markRefreshFailure(message, dataRefreshHandler, e);
}); }
});
doUpdateMessage(message);
} catch (Exception e) {
log.error("3库数据刷新,写入数据库失败,消息:{}", message, e);
}
}); });
} }
...@@ -46,17 +51,15 @@ public class DataRefreshDispatcher implements IDataRefreshDispatch { ...@@ -46,17 +51,15 @@ public class DataRefreshDispatcher implements IDataRefreshDispatch {
private void markRefreshSuccess(TzsDataRefreshMessage message, IDataRefreshHandler dataRefreshHandler) { private void markRefreshSuccess(TzsDataRefreshMessage message, IDataRefreshHandler dataRefreshHandler) {
message.setSuccessDistributionHandler(message.getSuccessDistributionHandler() == null ? dataRefreshHandler.getClass().getSimpleName() : message.getSuccessDistributionHandler() + ";" + dataRefreshHandler.getClass().getSimpleName()); message.setSuccessDistributionHandler(message.getSuccessDistributionHandler() == null ? dataRefreshHandler.getClass().getSimpleName() : message.getSuccessDistributionHandler() + ";" + dataRefreshHandler.getClass().getSimpleName());
updateMessageStatus(message);
} }
private void markRefreshFailure(TzsDataRefreshMessage message, IDataRefreshHandler dataRefreshHandler, Exception e) { private void markRefreshFailure(TzsDataRefreshMessage message, IDataRefreshHandler dataRefreshHandler, Exception e) {
message.setErrorMsg(buildErrorMsg(dataRefreshHandler, message, e)); message.setErrorMsg(buildErrorMsg(dataRefreshHandler, message, e));
message.setFailedDistributions(message.getFailedDistributions() == null ? 1 : message.getFailedDistributions() + 1); message.setFailedDistributions(message.getFailedDistributions() == null ? 1 : message.getFailedDistributions() + 1);
updateMessageStatus(message);
} }
private void updateMessageStatus(TzsDataRefreshMessage message) { private void doUpdateMessage(TzsDataRefreshMessage message) {
message.setRecDate(new Date()); message.setRecDate(new Date());
refreshMessageService.saveOrUpdate(message); refreshMessageService.saveOrUpdate(message);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment