Commit 92ea3cc2 authored by suhuiguang's avatar suhuiguang

refact(3库刷新) :优化

1.执行速度调优
parent 897f8799
...@@ -25,10 +25,11 @@ public class DataRefreshDispatcher implements IDataRefreshDispatch { ...@@ -25,10 +25,11 @@ 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 -> {
try {
dataRefreshHandler.doRefresh(message); dataRefreshHandler.doRefresh(message);
markRefreshSuccess(message, dataRefreshHandler); markRefreshSuccess(message, dataRefreshHandler);
} catch (Exception e) { } catch (Exception e) {
...@@ -36,6 +37,10 @@ public class DataRefreshDispatcher implements IDataRefreshDispatch { ...@@ -36,6 +37,10 @@ public class DataRefreshDispatcher implements IDataRefreshDispatch {
markRefreshFailure(message, dataRefreshHandler, 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