Browse Source

1.ttl线程池包装->TtlRunnable.getRunnable()包装,更彻底

feature/teamB_zz_wgh
wangxianzhang 3 years ago
parent
commit
e53f12d806
  1. 7
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java
  2. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java
  3. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java
  4. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java

7
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java

@ -1,5 +1,6 @@
package com.epmet.commons.tools.config; package com.epmet.commons.tools.config;
import com.alibaba.ttl.TtlRunnable;
import com.alibaba.ttl.threadpool.TtlExecutors; import com.alibaba.ttl.threadpool.TtlExecutors;
import org.slf4j.MDC; import org.slf4j.MDC;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@ -64,8 +65,9 @@ public class AsyncConfig {
executor.setKeepAliveSeconds(keepAliveSeconds); executor.setKeepAliveSeconds(keepAliveSeconds);
// 设置装饰器,使用MDC将runnable进行装饰,实现日志上下文传递到子线程 // 设置装饰器,使用MDC将runnable进行装饰,实现日志上下文传递到子线程
executor.setTaskDecorator((Runnable r) -> { executor.setTaskDecorator((Runnable r) -> {
// 1.mdc包装,日志追踪
Map<String, String> copyOfContextMap = MDC.getCopyOfContextMap(); Map<String, String> copyOfContextMap = MDC.getCopyOfContextMap();
return () -> { Runnable rr = () -> {
try { try {
if (copyOfContextMap != null && copyOfContextMap.size() > 0) { if (copyOfContextMap != null && copyOfContextMap.size() > 0) {
MDC.setContextMap(copyOfContextMap); MDC.setContextMap(copyOfContextMap);
@ -75,6 +77,9 @@ public class AsyncConfig {
MDC.clear(); MDC.clear();
} }
}; };
// 2.ttl包装,异步线程上下文透传
return TtlRunnable.get(rr);
}); });
executor.initialize(); executor.initialize();
return executor; return executor;

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java

@ -310,7 +310,7 @@ public class IcNatServiceImpl extends BaseServiceImpl<IcNatDao, IcNatEntity> imp
} }
} }
@Async("executorService") @Async
@Override @Override
public void execAsyncExcelImport(Path filePath, String importTaskId) { public void execAsyncExcelImport(Path filePath, String importTaskId) {
String userId = null; String userId = null;

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcTripReportRecordServiceImpl.java

@ -334,7 +334,7 @@ public class IcTripReportRecordServiceImpl extends BaseServiceImpl<IcTripReportR
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
@Async("executorService") @Async
@Override @Override
public void execAsyncExcelImport(Path filePath, String importTaskId,String customerId,String userId) { public void execAsyncExcelImport(Path filePath, String importTaskId,String customerId,String userId) {
try { try {

2
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java

@ -160,7 +160,7 @@ public class IcVaccineServiceImpl extends BaseServiceImpl<IcVaccineDao, IcVaccin
} }
} }
@Async("executorService") @Async
@Override @Override
public void execAsyncExcelImport(Path filePath, String importTaskId) { public void execAsyncExcelImport(Path filePath, String importTaskId) {
String userId = null; String userId = null;

Loading…
Cancel
Save