From caae7f60a1973ce20ba25aa93f1ea7523908860a Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Tue, 8 Mar 2022 21:20:52 +0800 Subject: [PATCH 1/9] =?UTF-8?q?ttl=E6=94=B9=E9=80=A0=E5=AE=8C=E6=88=90?= =?UTF-8?q?=EF=BC=8C=E5=BE=85=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-commons/epmet-commons-tools/pom.xml | 5 + .../commons/tools/config/AsyncConfig.java | 3 +- .../tools/constant/ThreadLocalConstant.java | 4 - .../feign/EpmetBaseRequestInterceptor.java | 19 ++-- .../FeignHystrixConcurrencyStrategy.java | 104 +++++++++++++++--- .../commons/tools/filter/GlobalFilter.java | 53 ++++++++- .../tools/utils/EpmetRequestHolder.java | 67 +++++++++++ .../controller/IcResiUserController.java | 57 ++++------ .../service/IcResiUserImportService.java | 2 + .../impl/IcResiUserImportServiceImpl.java | 57 ++++++---- 10 files changed, 278 insertions(+), 93 deletions(-) create mode 100644 epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java diff --git a/epmet-commons/epmet-commons-tools/pom.xml b/epmet-commons/epmet-commons-tools/pom.xml index 31e2276fc4..cafd5f7023 100644 --- a/epmet-commons/epmet-commons-tools/pom.xml +++ b/epmet-commons/epmet-commons-tools/pom.xml @@ -161,6 +161,11 @@ 2.6.0 compile + + com.alibaba + transmittable-thread-local + 2.12.4 + diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java index 2778f3c9ef..f094348322 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java +++ b/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; +import com.alibaba.ttl.threadpool.TtlExecutors; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; @@ -69,7 +70,7 @@ public class AsyncConfig { @Bean public ExecutorService executorService() { ThreadPoolTaskExecutor executor = (ThreadPoolTaskExecutor) executor(); - return executor.getThreadPoolExecutor(); + return TtlExecutors.getTtlExecutorService(executor.getThreadPoolExecutor()); } /** diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ThreadLocalConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ThreadLocalConstant.java index 9061c2e8d3..40d69ebcf4 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ThreadLocalConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/ThreadLocalConstant.java @@ -22,8 +22,4 @@ public class ThreadLocalConstant { */ public static final ThreadLocal requestParam = new ThreadLocal(); - /** - * 可被子线程继承的,追加的request headers - */ - public static final InheritableThreadLocal> inheritableAdditionalHeaders = new InheritableThreadLocal<>(); } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/EpmetBaseRequestInterceptor.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/EpmetBaseRequestInterceptor.java index d19a1145d2..2cfa8ea3ad 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/EpmetBaseRequestInterceptor.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/EpmetBaseRequestInterceptor.java @@ -1,6 +1,6 @@ package com.epmet.commons.tools.feign; -import com.epmet.commons.tools.constant.ThreadLocalConstant; +import com.epmet.commons.tools.utils.EpmetRequestHolder; import feign.RequestInterceptor; import feign.RequestTemplate; import org.slf4j.Logger; @@ -21,23 +21,17 @@ public class EpmetBaseRequestInterceptor implements RequestInterceptor { @Override public void apply(RequestTemplate template) { - // 自定义追加的request header,可被子线程继承拷贝 - Map inheritableAdditionalHeaders = FeignHystrixConcurrencyStrategy.hystrixAdditionHeaders.get(); - Map requestHeaders = getHeadersFromRequest(); + Map requestHeaders = EpmetRequestHolder.getAllHeaders(); - log.info("EpmetBaseRequestInterceptor#apply#inheritableAdditionalHeaders:"+inheritableAdditionalHeaders); +// Map requestHeaders = getHeadersFromRequest(); + + log.info("EpmetBaseRequestInterceptor#apply#inheritableAdditionalHeaders:" + requestHeaders); if (requestHeaders != null && requestHeaders.size() > 0) { for (Map.Entry kv : requestHeaders.entrySet()) { template.header(kv.getKey(), kv.getValue()); } } - - if (inheritableAdditionalHeaders != null && inheritableAdditionalHeaders.size() > 0) { - for (Map.Entry kv : inheritableAdditionalHeaders.entrySet()) { - template.header(kv.getKey(), kv.getValue()); - } - } } /** @@ -47,6 +41,9 @@ public class EpmetBaseRequestInterceptor implements RequestInterceptor { HashMap headers = new HashMap<>(); RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); + if (requestAttributes == null) { + return null; + } HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest(); Enumeration headerNames = request.getHeaderNames(); if (headerNames != null) { diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/FeignHystrixConcurrencyStrategy.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/FeignHystrixConcurrencyStrategy.java index 0d2998ccd3..2a63841ac9 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/FeignHystrixConcurrencyStrategy.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/FeignHystrixConcurrencyStrategy.java @@ -1,6 +1,6 @@ package com.epmet.commons.tools.feign; -import com.epmet.commons.tools.constant.ThreadLocalConstant; +import com.alibaba.ttl.TtlRunnable; import com.netflix.hystrix.HystrixThreadPoolKey; import com.netflix.hystrix.HystrixThreadPoolProperties; import com.netflix.hystrix.strategy.HystrixPlugins; @@ -12,17 +12,15 @@ import com.netflix.hystrix.strategy.executionhook.HystrixCommandExecutionHook; import com.netflix.hystrix.strategy.metrics.HystrixMetricsPublisher; import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; import com.netflix.hystrix.strategy.properties.HystrixProperty; +import com.netflix.hystrix.util.PlatformSpecific; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; -import java.util.Map; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.Callable; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; +import java.util.concurrent.*; +import java.util.concurrent.atomic.AtomicInteger; /** * 自定义Feign的隔离策略 @@ -37,7 +35,6 @@ import java.util.concurrent.TimeUnit; @Component public class FeignHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy { - public static final ThreadLocal> hystrixAdditionHeaders = new ThreadLocal<>(); private static final Logger log = LoggerFactory.getLogger(FeignHystrixConcurrencyStrategy.class); private HystrixConcurrencyStrategy delegate; @@ -77,23 +74,57 @@ public class FeignHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy @Override public Callable wrapCallable(Callable callable) { - Map inheritableAdditionalHeaders = ThreadLocalConstant.inheritableAdditionalHeaders.get(); RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); - return new WrappedCallable<>(callable, requestAttributes, inheritableAdditionalHeaders); + return new WrappedCallable<>(callable, requestAttributes); } @Override public ThreadPoolExecutor getThreadPool(HystrixThreadPoolKey threadPoolKey, HystrixProperty corePoolSize, HystrixProperty maximumPoolSize, HystrixProperty keepAliveTime, TimeUnit unit, BlockingQueue workQueue) { - return this.delegate.getThreadPool(threadPoolKey, corePoolSize, maximumPoolSize, keepAliveTime, - unit, workQueue); +// return this.delegate.getThreadPool(threadPoolKey, corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue); + + final ThreadFactory threadFactory = getThreadFactory(threadPoolKey); + + final int dynamicCoreSize = corePoolSize.get(); + final int dynamicMaximumSize = maximumPoolSize.get(); + + if (dynamicCoreSize > dynamicMaximumSize) { + log.error("Epmet Hystrix ThreadPool configuration at startup for : " + threadPoolKey.name() + " is trying to set coreSize = " + + dynamicCoreSize + " and maximumSize = " + dynamicMaximumSize + ". Maximum size will be set to " + + dynamicCoreSize + ", the coreSize value, since it must be equal to or greater than the coreSize value"); + return new WrappedThreadPoolExecutor(dynamicCoreSize, dynamicCoreSize, keepAliveTime.get(), unit, workQueue, threadFactory); + } else { + return new WrappedThreadPoolExecutor(dynamicCoreSize, dynamicMaximumSize, keepAliveTime.get(), unit, workQueue, threadFactory); + } } @Override public ThreadPoolExecutor getThreadPool(HystrixThreadPoolKey threadPoolKey, HystrixThreadPoolProperties threadPoolProperties) { - return this.delegate.getThreadPool(threadPoolKey, threadPoolProperties); +// return this.delegate.getThreadPool(threadPoolKey, threadPoolProperties); + + final ThreadFactory threadFactory = getThreadFactory(threadPoolKey); + + final boolean allowMaximumSizeToDivergeFromCoreSize = threadPoolProperties.getAllowMaximumSizeToDivergeFromCoreSize().get(); + final int dynamicCoreSize = threadPoolProperties.coreSize().get(); + final int keepAliveTime = threadPoolProperties.keepAliveTimeMinutes().get(); + final int maxQueueSize = threadPoolProperties.maxQueueSize().get(); + final BlockingQueue workQueue = getBlockingQueue(maxQueueSize); + + if (allowMaximumSizeToDivergeFromCoreSize) { + final int dynamicMaximumSize = threadPoolProperties.maximumSize().get(); + if (dynamicCoreSize > dynamicMaximumSize) { + log.error("Epmet Hystrix ThreadPool configuration at startup for : " + threadPoolKey.name() + " is trying to set coreSize = " + + dynamicCoreSize + " and maximumSize = " + dynamicMaximumSize + ". Maximum size will be set to " + + dynamicCoreSize + ", the coreSize value, since it must be equal to or greater than the coreSize value"); + return new WrappedThreadPoolExecutor(dynamicCoreSize, dynamicCoreSize, keepAliveTime, TimeUnit.MINUTES, workQueue, threadFactory); + } else { + return new WrappedThreadPoolExecutor(dynamicCoreSize, dynamicMaximumSize, keepAliveTime, TimeUnit.MINUTES, workQueue, threadFactory); + } + } else { + return new WrappedThreadPoolExecutor(dynamicCoreSize, dynamicCoreSize, keepAliveTime, TimeUnit.MINUTES, workQueue, threadFactory); + } } @Override @@ -106,21 +137,41 @@ public class FeignHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy return this.delegate.getRequestVariable(rv); } + /** + * 从父类复制过来的 + * @param threadPoolKey + * @return + */ + private ThreadFactory getThreadFactory(final HystrixThreadPoolKey threadPoolKey) { + if (!PlatformSpecific.isAppEngineStandardEnvironment()) { + return new ThreadFactory() { + private final AtomicInteger threadNumber = new AtomicInteger(0); + + @Override + public Thread newThread(Runnable r) { + Thread thread = new Thread(r, "hystrix-" + threadPoolKey.name() + "-" + threadNumber.incrementAndGet()); + thread.setDaemon(true); + return thread; + } + + }; + } else { + return PlatformSpecific.getAppEngineThreadFactory(); + } + } + static class WrappedCallable implements Callable { private final Callable target; private final RequestAttributes requestAttributes; - private final Map inheritableAdditionalHeaders; - public WrappedCallable(Callable target, RequestAttributes requestAttributes, Map inheritableAdditionalHeaders) { + public WrappedCallable(Callable target, RequestAttributes requestAttributes) { this.target = target; this.requestAttributes = requestAttributes; - this.inheritableAdditionalHeaders = inheritableAdditionalHeaders; } @Override public T call() throws Exception { try { - hystrixAdditionHeaders.set(inheritableAdditionalHeaders); RequestContextHolder.setRequestAttributes(requestAttributes); return target.call(); } finally { @@ -128,4 +179,25 @@ public class FeignHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy } } } + + /** + * 自定义线程池类,使用Ttl包装过,解决异步环境下线程上下文透传问题 + */ + static class WrappedThreadPoolExecutor extends ThreadPoolExecutor { + private static final RejectedExecutionHandler defaultHandler = new AbortPolicy(); + + public WrappedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, + BlockingQueue workQueue) { + super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue); + } + public WrappedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, + BlockingQueue workQueue, ThreadFactory threadFactory) { + super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory, defaultHandler); + } + + @Override + public void execute(Runnable command) { + super.execute(TtlRunnable.get(command)); + } + } } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/GlobalFilter.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/GlobalFilter.java index 4aa7beab20..d27a5dbe0f 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/GlobalFilter.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/GlobalFilter.java @@ -1,10 +1,16 @@ package com.epmet.commons.tools.filter; import com.epmet.commons.tools.constant.ThreadLocalConstant; +import com.epmet.commons.tools.exception.ExceptionUtils; +import com.epmet.commons.tools.utils.EpmetRequestHolder; +import lombok.extern.slf4j.Slf4j; import javax.servlet.*; import javax.servlet.annotation.WebFilter; +import javax.servlet.http.HttpServletRequest; import java.io.IOException; +import java.util.Enumeration; +import java.util.HashMap; /** * @Description 全局过滤器,可在请求结束的时候清除线程变量残留 @@ -12,20 +18,59 @@ import java.io.IOException; * @date 2021.07.19 10:19:24 */ @WebFilter(value = "/*") +@Slf4j public class GlobalFilter implements Filter { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { try { + // 获取request中的header,放入RequestHeaderHolder,用于异步环境下的上下文透传 + HashMap headerMap = getHeadersFromRequest((HttpServletRequest) servletRequest); + EpmetRequestHolder.addHeaders(headerMap); + filterChain.doFilter(servletRequest, servletResponse); } catch (Throwable e) { throw e; } finally { // 清除线程变量残留 - ThreadLocalConstant.sqlFilter.remove(); - ThreadLocalConstant.requirePermissionTl.remove(); - ThreadLocalConstant.requestParam.remove(); - ThreadLocalConstant.inheritableAdditionalHeaders.remove(); + clear(ThreadLocalConstant.sqlFilter, "sqlFilter"); + clear(ThreadLocalConstant.requirePermissionTl, "requirePermissionTl"); + clear(ThreadLocalConstant.requestParam, "requestParam"); + EpmetRequestHolder.clearAllHeaders(); + System.out.println("清理完成"); + } + } + + /** + * 从header里面获取headers + */ + public HashMap getHeadersFromRequest(HttpServletRequest request) { + HashMap headers = new HashMap<>(); + Enumeration headerNames = request.getHeaderNames(); + if (headerNames != null) { + while (headerNames.hasMoreElements()) { + String name = headerNames.nextElement(); + Enumeration values = request.getHeaders(name); + while (values.hasMoreElements()) { + String value = values.nextElement(); + headers.put(name, value); + } + } + } + return headers; + } + + /** + * 清空threadlocal + * @param tl + * @param tag + */ + public void clear(ThreadLocal tl, String tag) { + try { + tl.remove(); + } catch (Throwable t) { + String errorMsg = ExceptionUtils.getThrowableErrorStackTrace(t); + log.error("【GlobalFilter】清空ThreadLocal失败,{}, {}", tag, errorMsg); } } } \ No newline at end of file diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java new file mode 100644 index 0000000000..80849ebfc3 --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java @@ -0,0 +1,67 @@ +package com.epmet.commons.tools.utils; + +import com.alibaba.ttl.TransmittableThreadLocal; +import org.apache.commons.lang3.StringUtils; + +import java.util.HashMap; +import java.util.Map; + +/** + * 请求header holder,可用于异步环境下request header的透传。详情结合 alibaba transmitable-thread-local + */ +public class EpmetRequestHolder { + + public static final TransmittableThreadLocal> requestHeaderTtl = new TransmittableThreadLocal<>(); + + /** + * 存储 + * @param headerName + * @param headerValue + */ + public static void addHeader(String headerName, String headerValue) { + if (StringUtils.isBlank(headerName)) { + return; + } + before(); + requestHeaderTtl.get().put(headerName, headerValue); + } + + public static void addHeaders(Map headers) { + if (headers == null) { + return; + } + before(); + requestHeaderTtl.get().putAll(headers); + } + + private static void before() { + if (requestHeaderTtl.get() == null) { + requestHeaderTtl.set(new HashMap<>()); + } + } + + /** + * 获取 + * @param headerName + * @return + */ + public static String getHeader(String headerName) { + return requestHeaderTtl.get().get(headerName); + } + + /** + * 获取所有 + * @return + */ + public static Map getAllHeaders() { + return requestHeaderTtl.get(); + } + + /** + * 清空内容 + */ + public static void clearAllHeaders() { + requestHeaderTtl.remove(); + } + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index e09f7427c5..bde8165171 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -35,7 +35,6 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; -import com.epmet.commons.tools.feign.EpmetBaseRequestInterceptor; import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.RedisKeys; @@ -43,10 +42,7 @@ import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.user.LoginUserUtil; -import com.epmet.commons.tools.utils.ExcelUtils; -import com.epmet.commons.tools.utils.HttpClientManager; -import com.epmet.commons.tools.utils.IpUtils; -import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.SystemMessageType; import com.epmet.constants.ImportTaskConstants; @@ -67,7 +63,6 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.tomcat.util.http.MimeHeaders; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; @@ -75,7 +70,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -83,13 +77,11 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.lang.reflect.Field; import java.net.URLEncoder; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; -import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; @@ -135,6 +127,8 @@ public class IcResiUserController implements ResultDataResolver { private LoginUserUtil loginUserUtil; @Autowired private RequestInterceptor requestInterceptor; + @Autowired + private ExecutorService executorService; /** * 模板枚举 @@ -467,12 +461,8 @@ public class IcResiUserController implements ResultDataResolver { throw new RenException("上传失败"); } - HashMap headers = ((EpmetBaseRequestInterceptor) requestInterceptor).getHeadersFromRequest(); - - ThreadLocalConstant.inheritableAdditionalHeaders.set(headers); - // 三.异步执行导入 - new Thread(() -> { + executorService.execute(() -> { try { List formItemList = icResiUserService.listFormItems(customerId,IcFormCodeEnum.RESI_BASE_INFO.getCode()); @@ -491,31 +481,12 @@ public class IcResiUserController implements ResultDataResolver { } catch (IOException e) { log.error("【导入居民信息失败】清理上传的文件失败:{}", ExceptionUtils.getErrorStackTrace(e)); } - - // 清理tl对象 - ThreadLocalConstant.inheritableAdditionalHeaders.remove(); } - }).start(); + }); return new Result(); } -// private HashMap getHeadersFromRequest(HttpServletRequest request) { -// HashMap headers = new HashMap<>(); -// Enumeration headerNames = request.getHeaderNames(); -// if (headerNames != null) { -// while (headerNames.hasMoreElements()) { -// String name = headerNames.nextElement(); -// Enumeration values = request.getHeaders(name); -// while (values.hasMoreElements()) { -// String value = values.nextElement(); -// headers.put(name, value); -// } -// } -// } -// return headers; -// } - @PostMapping("test") public Result>> test(@LoginUser TokenDto tokenDto, @RequestBody DynamicQueryFormDTO formDTO) { formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); @@ -747,4 +718,22 @@ public class IcResiUserController implements ResultDataResolver { ValidatorUtils.validateEntity(formDTO, PersonWarnRightListFormDTO.PersonWarnRightListForm.class); return new Result().ok(icResiUserService.personWarnRightList(formDTO,tokenDto)); } + +// public static ThreadLocal tl = new ThreadLocal(); + + @PostMapping("test-async") + public Result testAsync(HttpServletRequest request){ +// tl.set("wxz"); + executorService.submit(() -> { + try { + Thread.sleep(500l); + System.out.println("["+Thread.currentThread().getId() + "]:" + EpmetRequestHolder.getHeader("app")); + System.out.println("---"); + } catch (InterruptedException e) { + e.printStackTrace(); + } +// icResiUserImportService.testAsync(); + }); + return new Result(); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserImportService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserImportService.java index 7358dcd961..05fb431c32 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserImportService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserImportService.java @@ -32,4 +32,6 @@ public interface IcResiUserImportService { * @param resultDescPath 结果描述文件,excel等文件,有错误的话需要传入,成功则不需要 */ void finishImportTask(String importTaskId, String operatorId, String processStatus, String resultDesc, String resultDescPath); + + Object testAsync(); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index 62b7dbf697..302d3d7b01 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -24,7 +24,9 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.EpmetRequestHolder; import com.epmet.commons.tools.utils.Result; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcResiUserDao; @@ -213,9 +215,9 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res @Override public void importIcResiInfoFromExcel(String importTaskId, List formItemList, String excelPathName, HttpServletResponse response, Path importTempPath) { - String app = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.APP); - String client = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.CLIENT); - String loginUserId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.USER_ID.toLowerCase()); + String app = EpmetRequestHolder.getHeader(AppClientConstant.APP); + String client = EpmetRequestHolder.getHeader(AppClientConstant.CLIENT); + String loginUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID.toLowerCase()); String currUserAgencyId = userService.getLoginUserDetails(app, client, loginUserId).getAgencyId(); @@ -316,7 +318,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res */ private void initImportThreadLocal(String customerId) { // 生成importTag,用于标记唯一一次导入操作,导入完成之后,用来删除redis里面临时的key - String operatorId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.USER_ID.toLowerCase()); + String operatorId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID.toLowerCase()); String importTag = operatorId + System.currentTimeMillis(); // 错误信息 @@ -356,10 +358,10 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res private void importIcResiBaseInfoFromExcel(List formItemList, String excelPathName, int sheetNo, int headRowNumber, String currUserAgencyId, String currUserAgencyPids, String currentUserId, String tableName, String customerId) { - String loginUserApp = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.APP); - String loginUserClient = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.CLIENT); - String loginUserId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.USER_ID.toLowerCase()); - String loginUserCustomerId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.CUSTOMER_ID.toLowerCase()); + String loginUserApp = EpmetRequestHolder.getHeader(AppClientConstant.APP); + String loginUserClient = EpmetRequestHolder.getHeader(AppClientConstant.CLIENT); + String loginUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID.toLowerCase()); + String loginUserCustomerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID.toLowerCase()); log.info("importIcResiBaseInfoFromExcel:: userId:{}, app:{}, client:{}, customerId:{}", loginUserId, loginUserApp, loginUserClient, loginUserCustomerId); @@ -472,7 +474,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res columnAndValues.put("AGENCY_ID", currUserAgencyId); columnAndValues.put("PIDS", currUserAgencyPids); - columnAndValues.put("CUSTOMER_ID", ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.CUSTOMER_ID.toLowerCase())); + columnAndValues.put("CUSTOMER_ID", EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID.toLowerCase())); columnAndValues.put("UPDATED_BY", currentUserId); @@ -542,10 +544,10 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res LinkedHashMap columnAndValues = new LinkedHashMap<>(); - String loginUserApp = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.APP); - String loginUserClient = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.CLIENT); - String loginUserId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.USER_ID.toLowerCase()); - String loginUserCustomerId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.CUSTOMER_ID.toLowerCase()); + String loginUserApp = EpmetRequestHolder.getHeader(AppClientConstant.APP); + String loginUserClient = EpmetRequestHolder.getHeader(AppClientConstant.CLIENT); + String loginUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID.toLowerCase()); + String loginUserCustomerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID.toLowerCase()); log.info("persistIcResiExtraInfo:: userId:{}, app:{}, client:{}, customerId:{}", loginUserId, loginUserApp, loginUserClient, loginUserCustomerId); @@ -1281,8 +1283,8 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res Date now = new Date(); - String customerId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.CUSTOMER_ID.toLowerCase()); - String userId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.USER_ID.toLowerCase()); + String userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID.toLowerCase()); + String customerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID.toLowerCase()); CustomerStaffInfoCacheResult operator = CustomerStaffRedis.getStaffInfo(customerId, userId); @@ -1378,8 +1380,8 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res Set newResiKeys = redisUtils.keys(RedisKeys.icResiImportTypeKey(newlyOrChangedResi.get().getImportTag(), "add").concat("*")); - String customerId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.CUSTOMER_ID.toLowerCase()); - String userId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.USER_ID.toLowerCase()); + String userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID.toLowerCase()); + String customerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID.toLowerCase()); CustomerStaffInfoCacheResult operator = CustomerStaffRedis.getStaffInfo(customerId, userId); @@ -1416,8 +1418,10 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res */ public void saveTransferedResiRecord(Map transferedResis) { Date now = new Date(); - String loginUserId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.USER_ID.toLowerCase()); - String loginUserCustomerId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.CUSTOMER_ID.toLowerCase()); + + String loginUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID.toLowerCase()); + String loginUserCustomerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID.toLowerCase()); + CustomerStaffInfoCacheResult operator = CustomerStaffRedis.getStaffInfo(loginUserCustomerId, loginUserId); for (Map.Entry resi : transferedResis.entrySet()) { @@ -1831,11 +1835,18 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res } public void printLog(String positionPrefix) { - String app = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.APP); - String client = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.CLIENT); - String loginUserId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.USER_ID.toLowerCase()); - String loginUserCustomerId = ThreadLocalConstant.inheritableAdditionalHeaders.get().get(AppClientConstant.CUSTOMER_ID.toLowerCase()); + String app = EpmetRequestHolder.getHeader(AppClientConstant.APP); + String client = EpmetRequestHolder.getHeader(AppClientConstant.CLIENT); + String loginUserId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID.toLowerCase()); + String loginUserCustomerId = EpmetRequestHolder.getHeader(AppClientConstant.CUSTOMER_ID.toLowerCase()); log.info("{}:: userId:{}, app:{}, client:{}, customerId:{}", positionPrefix, loginUserId, app, client, loginUserCustomerId); } + + @Override + public Object testAsync() { + IcNeighborHoodDTO nform = new IcNeighborHoodDTO(); + govOrgOpenFeignClient.getNeighborHoodOptions(nform); + return null; + } } From a6d17f71fe0b13db096ea8302cfa104885fccdc3 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 10 Mar 2022 14:54:30 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=94=B9=E9=80=A0=EF=BC=9AMCD+TraceId?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=BF=BD=E8=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../tools/aspect/BaseRequestLogAspect.java | 6 ++-- .../commons/tools/config/AsyncConfig.java | 21 +++++++++--- .../FeignHystrixConcurrencyStrategy.java | 18 +++++++++- .../commons/tools/filter/GlobalFilter.java | 33 +++++++++++++++++-- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../src/main/resources/logback-spring.xml | 8 ++--- .../controller/IcResiUserController.java | 6 ++-- .../src/main/resources/logback-spring.xml | 8 ++--- 41 files changed, 215 insertions(+), 157 deletions(-) diff --git a/epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml b/epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml index fc97e8f1c9..ab8ee06fa8 100644 --- a/epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml +++ b/epmet-admin/epmet-admin-server/src/main/resources/logback-spring.xml @@ -33,7 +33,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -60,7 +60,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -87,7 +87,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -113,7 +113,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-auth/src/main/resources/logback-spring.xml b/epmet-auth/src/main/resources/logback-spring.xml index 0152e72505..6cc55ee386 100644 --- a/epmet-auth/src/main/resources/logback-spring.xml +++ b/epmet-auth/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java index 3321091b4f..085edda60f 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/BaseRequestLogAspect.java @@ -64,9 +64,9 @@ public abstract class BaseRequestLogAspect { Map requestHeaders = getRequestHeaders(request); // 将当前线程名称设置为事务流水号 - if (!StringUtils.isEmpty(transactionSerial)) { - Thread.currentThread().setName(transactionSerial); - } +// if (!StringUtils.isEmpty(transactionSerial)) { +// Thread.currentThread().setName(transactionSerial); +// } Object result; LocalDateTime startTime = LocalDateTime.now(); diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java index f094348322..83c4758a63 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/config/AsyncConfig.java @@ -1,16 +1,15 @@ package com.epmet.commons.tools.config; import com.alibaba.ttl.threadpool.TtlExecutors; +import org.slf4j.MDC; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -import java.util.concurrent.Executor; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.RejectedExecutionHandler; -import java.util.concurrent.ThreadPoolExecutor; +import java.util.Map; +import java.util.concurrent.*; /** * 线程池配置类 @@ -63,6 +62,20 @@ public class AsyncConfig { executor.setThreadNamePrefix(threadNamePrefix); executor.setRejectedExecutionHandler(getRejectedExecutionHandler(rejectedExecutionHandler)); //对拒绝task的处理策略 executor.setKeepAliveSeconds(keepAliveSeconds); + // 设置装饰器,使用MDC将runnable进行装饰,实现日志上下文传递到子线程 + executor.setTaskDecorator((Runnable r) -> { + Map copyOfContextMap = MDC.getCopyOfContextMap(); + return () -> { + try { + if (copyOfContextMap != null && copyOfContextMap.size() > 0) { + MDC.setContextMap(copyOfContextMap); + } + r.run(); + } finally { + MDC.clear(); + } + }; + }); executor.initialize(); return executor; } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/FeignHystrixConcurrencyStrategy.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/FeignHystrixConcurrencyStrategy.java index 2a63841ac9..bd271b8032 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/FeignHystrixConcurrencyStrategy.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/FeignHystrixConcurrencyStrategy.java @@ -15,10 +15,12 @@ import com.netflix.hystrix.strategy.properties.HystrixProperty; import com.netflix.hystrix.util.PlatformSpecific; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.slf4j.MDC; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; +import java.util.Map; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicInteger; @@ -197,7 +199,21 @@ public class FeignHystrixConcurrencyStrategy extends HystrixConcurrencyStrategy @Override public void execute(Runnable command) { - super.execute(TtlRunnable.get(command)); + super.execute(wrapByMDC(TtlRunnable.get(command))); + } + + private Runnable wrapByMDC(Runnable command) { + Map copyOfContextMap = MDC.getCopyOfContextMap(); + return () -> { + if (copyOfContextMap != null && copyOfContextMap.size() > 0) { + MDC.setContextMap(copyOfContextMap); + } + try { + command.run(); + } finally { + MDC.clear(); + } + }; } } } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/GlobalFilter.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/GlobalFilter.java index d27a5dbe0f..f483062940 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/GlobalFilter.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/GlobalFilter.java @@ -1,9 +1,12 @@ package com.epmet.commons.tools.filter; +import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.ThreadLocalConstant; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.utils.EpmetRequestHolder; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.MDC; import javax.servlet.*; import javax.servlet.annotation.WebFilter; @@ -24,8 +27,17 @@ public class GlobalFilter implements Filter { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { try { - // 获取request中的header,放入RequestHeaderHolder,用于异步环境下的上下文透传 HashMap headerMap = getHeadersFromRequest((HttpServletRequest) servletRequest); + String tranSerial = headerMap.get(AppClientConstant.TRANSACTION_SERIAL_KEY.toLowerCase()); + + if (StringUtils.isBlank(tranSerial)) { + tranSerial = generateTransactionSerial(); + EpmetRequestHolder.addHeader(AppClientConstant.TRANSACTION_SERIAL_KEY, tranSerial); + } + + MDC.put(AppClientConstant.TRANSACTION_SERIAL_KEY, tranSerial); + + // 获取request中的header,放入RequestHeaderHolder,用于异步环境下的上下文透传 EpmetRequestHolder.addHeaders(headerMap); filterChain.doFilter(servletRequest, servletResponse); @@ -37,7 +49,7 @@ public class GlobalFilter implements Filter { clear(ThreadLocalConstant.requirePermissionTl, "requirePermissionTl"); clear(ThreadLocalConstant.requestParam, "requestParam"); EpmetRequestHolder.clearAllHeaders(); - System.out.println("清理完成"); + MDC.clear(); } } @@ -73,4 +85,21 @@ public class GlobalFilter implements Filter { log.error("【GlobalFilter】清空ThreadLocal失败,{}, {}", tag, errorMsg); } } + + /** + * 获取事务流水号 + * + * @return + */ + public String generateTransactionSerial() { + String[] letterPool = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n" + , "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}; + + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < 4; i++) { + sb.append(letterPool[(int) (Math.random() * 25)]); + } + + return sb.append(System.currentTimeMillis()).toString(); + } } \ No newline at end of file diff --git a/epmet-gateway/src/main/resources/logback-spring.xml b/epmet-gateway/src/main/resources/logback-spring.xml index 876bbde4e8..8cffd573f8 100644 --- a/epmet-gateway/src/main/resources/logback-spring.xml +++ b/epmet-gateway/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/logback-spring.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/logback-spring.xml index 04411568ff..a33066487a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/logback-spring.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml b/epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml index 34664cd623..85893a5907 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml index b2e0b7a9da..90d3242709 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/logback-spring.xml index e406a5c68c..06dee672f2 100644 --- a/epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-activiti/epmet-activiti-server/src/main/resources/logback-spring.xml @@ -33,7 +33,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -60,7 +60,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -87,7 +87,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -113,7 +113,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml index fa8dd97a46..e9ea76e023 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/epmet-demo/epmet-demo-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-demo/epmet-demo-server/src/main/resources/logback-spring.xml index dd3023d252..d131824d7c 100644 --- a/epmet-module/epmet-demo/epmet-demo-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-demo/epmet-demo-server/src/main/resources/logback-spring.xml @@ -33,7 +33,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -60,7 +60,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -87,7 +87,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -113,7 +113,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml index 6f14b27477..19d477e27c 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml index df57dd24a6..3c5a3debf2 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-job/epmet-job-server/src/main/resources/logback-spring.xml index a4e9cf63d2..6848af35bc 100644 --- a/epmet-module/epmet-job/epmet-job-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-job/epmet-job-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml index 00797f713e..21fea3ca9a 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml index 22c774cac7..e60686a853 100644 --- a/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-oss/epmet-oss-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/logback-spring.xml index 319395e4f4..c6a2ee5d59 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml b/epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml index 610146dec5..79238c1aa2 100644 --- a/epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml +++ b/epmet-module/epmet-third/epmet-third-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/gov-access/gov-access-server/src/main/resources/logback-spring.xml b/epmet-module/gov-access/gov-access-server/src/main/resources/logback-spring.xml index c53f4711fe..e1ef42b796 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-access/gov-access-server/src/main/resources/logback-spring.xml @@ -36,7 +36,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -63,7 +63,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -90,7 +90,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -116,7 +116,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml b/epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml index dbf5cf299c..da2b1e092b 100644 --- a/epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-grid/gov-grid-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml index ade9c2dcc3..ffc7e45335 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml b/epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml index 80e1ea56e2..b5cbd899a6 100644 --- a/epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-mine/gov-mine-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml index c768b78ed0..d6eb972115 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml index 8a9462ce2b..a851ad256c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml b/epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml index a2d26ca0d7..27b2c7c048 100644 --- a/epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-voice/gov-voice-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/logback-spring.xml b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/logback-spring.xml index bcbff37445..f985020aa1 100644 --- a/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/logback-spring.xml +++ b/epmet-module/open-data-worker/open-data-worker-server/src/main/resources/logback-spring.xml @@ -36,7 +36,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -63,7 +63,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -90,7 +90,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -116,7 +116,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml b/epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml index d0829fae23..3cf0e3cefa 100644 --- a/epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml +++ b/epmet-module/oper-access/oper-access-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml b/epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml index 2b2af13d83..fe3ecdc558 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml +++ b/epmet-module/oper-crm/oper-crm-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml index 9e56bd9fda..d809abcfd7 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml index d6f09d87ae..a496703051 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml b/epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml index 174beb8e91..aecd596059 100644 --- a/epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-guide/resi-guide-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml b/epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml index be2d2c27e7..f563d2f511 100644 --- a/epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-hall/resi-hall-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml b/epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml index 81dec45754..5b795cd61f 100644 --- a/epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-home/resi-home-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml b/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml index 2893426200..960bb7f009 100644 --- a/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-mine/resi-mine-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml index ce07d2963b..8ea5787698 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml b/epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml index c6e86ca128..d6b46b3e2c 100644 --- a/epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml +++ b/epmet-module/resi-voice/resi-voice-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-openapi/epmet-openapi-scan/src/main/resources/logback-spring.xml b/epmet-openapi/epmet-openapi-scan/src/main/resources/logback-spring.xml index 9d2ad51e14..fb1ff2cf82 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/resources/logback-spring.xml +++ b/epmet-openapi/epmet-openapi-scan/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index bde8165171..b27f866ba8 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -27,7 +27,6 @@ import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; -import com.epmet.commons.tools.constant.ThreadLocalConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.dto.result.OptionDataResultDTO; import com.epmet.commons.tools.enums.IcFormCodeEnum; @@ -82,6 +81,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; +import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.stream.Collectors; @@ -727,12 +727,12 @@ public class IcResiUserController implements ResultDataResolver { executorService.submit(() -> { try { Thread.sleep(500l); - System.out.println("["+Thread.currentThread().getId() + "]:" + EpmetRequestHolder.getHeader("app")); + log.info("[我是子线程]:" + EpmetRequestHolder.getHeader("app")); System.out.println("---"); } catch (InterruptedException e) { e.printStackTrace(); } -// icResiUserImportService.testAsync(); + icResiUserImportService.testAsync(); }); return new Result(); } diff --git a/epmet-user/epmet-user-server/src/main/resources/logback-spring.xml b/epmet-user/epmet-user-server/src/main/resources/logback-spring.xml index 4c29aa4de8..6b7089434f 100644 --- a/epmet-user/epmet-user-server/src/main/resources/logback-spring.xml +++ b/epmet-user/epmet-user-server/src/main/resources/logback-spring.xml @@ -35,7 +35,7 @@ ${log.path}/debug.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -62,7 +62,7 @@ ${log.path}/info.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -89,7 +89,7 @@ ${log.path}/warn.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 @@ -115,7 +115,7 @@ ${log.path}/error.log - %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%thread] %-5level %logger{50} - %msg%n + %d{yyyy-MM-dd HH:mm:ss.SSS} [%contextName] [%X{Transaction-Serial}] %-5level %logger{50} - %msg%n UTF-8 From 6c0e5d34aac8fe7f573e2f21f4142c39f0aaa604 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 10 Mar 2022 15:12:18 +0800 Subject: [PATCH 3/9] =?UTF-8?q?gateway=20tranceId=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/filter/EpmetGatewayFilter.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/epmet-gateway/src/main/java/com/epmet/filter/EpmetGatewayFilter.java b/epmet-gateway/src/main/java/com/epmet/filter/EpmetGatewayFilter.java index 0d92c5f611..7cca3c4b36 100644 --- a/epmet-gateway/src/main/java/com/epmet/filter/EpmetGatewayFilter.java +++ b/epmet-gateway/src/main/java/com/epmet/filter/EpmetGatewayFilter.java @@ -17,6 +17,7 @@ import com.epmet.utils.ServerHttpRequestUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.slf4j.MDC; import org.springframework.cloud.gateway.filter.GatewayFilter; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.core.io.buffer.DataBuffer; @@ -94,7 +95,10 @@ public class EpmetGatewayFilter implements GatewayFilter { // 设置当前线程名 request.mutate().header(AppClientConstant.TRANSACTION_SERIAL_KEY, new String[]{tranSerial}); } - Thread.currentThread().setName(tranSerial); + + // Thread.currentThread().setName(tranSerial); + // 设置mdc + MDC.put(AppClientConstant.TRANSACTION_SERIAL_KEY, tranSerial); //1.打印请求信息 logRequest(request); From 1f28354fc9cada46cc2f025992d7546227fae01e Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 10 Mar 2022 16:44:28 +0800 Subject: [PATCH 4/9] =?UTF-8?q?gateway=20tranceId=E6=94=B9=E9=80=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/utils/EpmetRequestHolder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java index 80849ebfc3..94304fab98 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/EpmetRequestHolder.java @@ -46,7 +46,7 @@ public class EpmetRequestHolder { * @return */ public static String getHeader(String headerName) { - return requestHeaderTtl.get().get(headerName); + return requestHeaderTtl.get().get(headerName.toLowerCase()); } /** From 943516082625c528c3ed87e9c8f8cba9db6935fd Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Fri, 11 Mar 2022 09:46:51 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E8=B0=83=E6=95=B4ResultDataResolver?= =?UTF-8?q?=E5=A4=84=E7=90=86=E9=94=99=E8=AF=AFResult=E7=9A=84=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/feign/ResultDataResolver.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/ResultDataResolver.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/ResultDataResolver.java index 07c2df6679..e481ea942f 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/ResultDataResolver.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/ResultDataResolver.java @@ -51,24 +51,24 @@ public interface ResultDataResolver { // 考虑到:上游服务抛出的异常代码和错误消息并不一定适用于当前服务,并且上有服务的错误消息弹出之后可能给用户造成困扰, // 因此,当前服务抛出异常的时候,不再继承上游服务返回的错误码和错误消息 - if (!result.success()) { - Integer finalErrorCode = errorCode == null ? result.getCode() : errorCode; - String finalErrorInternalMsg = StringUtils.isBlank(errorInternalMsg) ? result.getInternalMsg() : errorInternalMsg; - throw new RenException(finalErrorCode, finalErrorInternalMsg, showMsg, RenException.MessageMode.CODE_INTERNAL_EXTERNAL); - } - // if (!result.success()) { -// String j = JSON.toJSONString(result); -// logger.info("远程调用出错,返回结果:{}", j); -// -// // 如果不通过参数指定code,则默认使用8000服务器开小差 -// Integer finalErrorCode = errorCode == null ? EpmetErrorCode.SERVER_ERROR.getCode() : errorCode; -// String finalErrorInternalMsg = StringUtils.isBlank(errorInternalMsg) ? "" : errorInternalMsg; -// String finalShowMsg = StringUtils.isBlank(showMsg) ? "" : showMsg; -// -// throw new EpmetException(finalErrorCode, finalErrorInternalMsg, finalShowMsg); +// Integer finalErrorCode = errorCode == null ? result.getCode() : errorCode; +// String finalErrorInternalMsg = StringUtils.isBlank(errorInternalMsg) ? result.getInternalMsg() : errorInternalMsg; +// throw new RenException(finalErrorCode, finalErrorInternalMsg, showMsg, RenException.MessageMode.CODE_INTERNAL_EXTERNAL); // } + if (!result.success()) { + String j = JSON.toJSONString(result); + logger.info("远程调用出错,返回结果:{}", j); + + // 如果不通过参数指定code,则默认使用8000服务器开小差 + Integer finalErrorCode = errorCode == null ? EpmetErrorCode.SERVER_ERROR.getCode() : errorCode; + String finalErrorInternalMsg = StringUtils.isBlank(errorInternalMsg) ? "" : errorInternalMsg; + String finalShowMsg = StringUtils.isBlank(showMsg) ? "" : showMsg; + + throw new EpmetException(finalErrorCode, finalErrorInternalMsg, finalShowMsg); + } + return result.getData(); } From e3be103e7ea9cb6b59bb6b9cf67bd124cee9f946 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 11 Mar 2022 14:16:37 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=97=A5=E5=BF=97=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96traceId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/commons/tools/filter/LogMsgSendFilter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java index 9f6be36819..9164f6d142 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java @@ -6,6 +6,7 @@ import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.classic.spi.IThrowableProxy; import ch.qos.logback.classic.spi.StackTraceElementProxy; import ch.qos.logback.core.spi.FilterReply; +import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.ThreadLocalConstant; import com.epmet.commons.tools.dto.form.DingTalkTextMsg; import com.epmet.commons.tools.enums.EnvEnum; @@ -15,6 +16,7 @@ import com.epmet.commons.tools.utils.SpringContextUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.slf4j.MDC; import org.springframework.cloud.commons.util.InetUtils; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; @@ -77,7 +79,7 @@ public class LogMsgSendFilter extends LevelFilter { stringBuilder.append("故障时间:").append(DateUtils.format(new Date(event.getTimeStamp()),DateUtils.DATE_TIME_PATTERN)); stringBuilder.append("\n"); - stringBuilder.append("TraceId:").append(Thread.currentThread().getName()); + stringBuilder.append("TraceId:").append(MDC.get(AppClientConstant.TRANSACTION_SERIAL_KEY)); stringBuilder.append("\n"); HttpServletRequest request = getRequest(); From bd9857c150c578e4673fe92d854d05b0fda73641 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 17 Mar 2022 16:14:59 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E6=96=B0=E5=A2=9E=201.=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E5=B9=B3=E5=8F=B0=E6=8E=A5=E5=85=A5=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet-demo/epmet-demo-server/pom.xml | 5 + .../test/openapi/TestTakeTokenOpenApi.java | 135 ++++++++++++++++++ .../dto/form/openapi/GetOrgDetailFormDTO.java | 2 +- .../controller/OpenApiOrgController.java | 2 +- 4 files changed, 142 insertions(+), 2 deletions(-) create mode 100644 epmet-module/epmet-demo/epmet-demo-server/src/test/java/com/epmet/test/openapi/TestTakeTokenOpenApi.java diff --git a/epmet-module/epmet-demo/epmet-demo-server/pom.xml b/epmet-module/epmet-demo/epmet-demo-server/pom.xml index 2a2ee9e597..03635124a5 100644 --- a/epmet-module/epmet-demo/epmet-demo-server/pom.xml +++ b/epmet-module/epmet-demo/epmet-demo-server/pom.xml @@ -92,6 +92,11 @@ 2.0.0 compile + + com.epmet + epmet-openapi-sdk + 2.0.0 + diff --git a/epmet-module/epmet-demo/epmet-demo-server/src/test/java/com/epmet/test/openapi/TestTakeTokenOpenApi.java b/epmet-module/epmet-demo/epmet-demo-server/src/test/java/com/epmet/test/openapi/TestTakeTokenOpenApi.java new file mode 100644 index 0000000000..c07080e687 --- /dev/null +++ b/epmet-module/epmet-demo/epmet-demo-server/src/test/java/com/epmet/test/openapi/TestTakeTokenOpenApi.java @@ -0,0 +1,135 @@ +package com.epmet.test.openapi; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.epmet.openapi.sdk.sign.OpenApiSignUtils; +import com.google.gson.JsonObject; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.util.EntityUtils; +import org.junit.Test; + +import java.util.HashMap; +import java.util.UUID; + +/** + * TakeToken方式的第三方平台接入测试类 + */ +public class TestTakeTokenOpenApi { + + String appId = "1504335474091569153"; + String authType = "take_token"; + String secret = "70e7ee0592d94affaa6e7b463926a3dd3cf1606945644baf810f93e8e9638c50"; + + @Test + public void testIt() throws Exception { + String accessToken = getAccessToken(); + //execBusinessWithSign(accessToken); + execBusinessWithoutSign(accessToken); + + } + + /** + * 获取accessToken + * @return + * @throws Exception + */ + private String getAccessToken() throws Exception { + String timestamp = String.valueOf(System.currentTimeMillis()); + String nonce = UUID.randomUUID().toString().replace("-", ""); + + HashMap content = new HashMap<>(); + content.put("app_id", appId); + content.put("timestamp", timestamp); + content.put("nonce", nonce); + content.put("auth_type", authType); + + String sign = OpenApiSignUtils.createSign(content, secret); + + String takeTokenUrl = String.format("http://localhost:8080/api/epmet/ext/open-api/get-access-token?auth_type=%s&app_id=%s×tamp=%s&sign=%s&nonce=%s", authType, appId, timestamp, sign, nonce); + + CloseableHttpClient httpClient = HttpClientBuilder.create().build(); + HttpPost httpPost = new HttpPost(takeTokenUrl); + CloseableHttpResponse response = httpClient.execute(httpPost); + String result = EntityUtils.toString(response.getEntity()); + JSONObject resultObject = JSON.parseObject(result).getJSONObject("data"); + + return resultObject.getString("accessToken"); + } + + /** + * 执行需要校验签名业务方法 + * @param accessToken + */ + private void execBusinessWithSign(String accessToken) throws Exception { + String orgId = "1"; + String test = "2"; + + String timestamp = String.valueOf(System.currentTimeMillis()); + String nonce = UUID.randomUUID().toString().replace("-", ""); + + // 签名参数 + HashMap createSignParams = new HashMap<>(); + createSignParams.put("orgId", orgId); + createSignParams.put("test", test); + + createSignParams.put("app_id", appId); + createSignParams.put("timestamp", timestamp); + createSignParams.put("nonce", nonce); + createSignParams.put("auth_type", authType); + + String sign = OpenApiSignUtils.createSign(createSignParams, secret); + + String businessUrl = String.format("http://localhost:8080/api/epmet/ext/open-api/get-org-detail?auth_type=%s&app_id=%s×tamp=%s&sign=%s&nonce=%s", authType, appId, timestamp, sign, nonce); + + // 业务参数 + JsonObject bizParam = new JsonObject(); + bizParam.addProperty("orgId", "3"); + bizParam.addProperty("test", test); + + // 发送请求 + CloseableHttpClient httpClient = HttpClientBuilder.create().build(); + HttpPost httpPost = new HttpPost(businessUrl); + httpPost.addHeader("accesstoken", accessToken); + httpPost.addHeader("content-type", "application/json;charset=utf-8"); + httpPost.setEntity(new StringEntity(bizParam.toString(), "utf-8")); + CloseableHttpResponse response = httpClient.execute(httpPost); + + // 解析结果 + String result = EntityUtils.toString(response.getEntity()); + System.out.println(result); + } + + /** + * 执行不校验签名业务方法 + * @param accessToken + */ + private void execBusinessWithoutSign(String accessToken) throws Exception { + String orgId = "1"; + String test = "2"; + + // 不需要签名,但是仍然要传递app_id和auth_type参数,以及accesstoken + String businessUrl = String.format("http://localhost:8080/api/epmet/ext/open-api/get-org-detail?auth_type=%s&app_id=%s", authType, appId); + + // 业务参数 + JsonObject bizParam = new JsonObject(); + bizParam.addProperty("orgId", "3"); + bizParam.addProperty("test", test); + + // 发送请求 + CloseableHttpClient httpClient = HttpClientBuilder.create().build(); + HttpPost httpPost = new HttpPost(businessUrl); + httpPost.addHeader("accesstoken", accessToken); + httpPost.addHeader("content-type", "application/json;charset=utf-8"); + httpPost.setEntity(new StringEntity(bizParam.toString(), "utf-8")); + CloseableHttpResponse response = httpClient.execute(httpPost); + + // 解析结果 + String result = EntityUtils.toString(response.getEntity()); + System.out.println(result); + } + +} diff --git a/epmet-module/epmet-ext/epmet-ext-client/src/main/java/com/epmet/dto/form/openapi/GetOrgDetailFormDTO.java b/epmet-module/epmet-ext/epmet-ext-client/src/main/java/com/epmet/dto/form/openapi/GetOrgDetailFormDTO.java index 820225682a..207e88bb27 100644 --- a/epmet-module/epmet-ext/epmet-ext-client/src/main/java/com/epmet/dto/form/openapi/GetOrgDetailFormDTO.java +++ b/epmet-module/epmet-ext/epmet-ext-client/src/main/java/com/epmet/dto/form/openapi/GetOrgDetailFormDTO.java @@ -5,7 +5,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; @Data -public class GetOrgDetailFormDTO extends OpenApiBaseFormDTO { +public class GetOrgDetailFormDTO { @NotBlank(message = "orgId不能为空") private String orgId; diff --git a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenApiOrgController.java b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenApiOrgController.java index 30e97da2bf..24bde19031 100644 --- a/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenApiOrgController.java +++ b/epmet-module/epmet-ext/epmet-ext-server/src/main/java/com/epmet/controller/OpenApiOrgController.java @@ -19,7 +19,7 @@ public class OpenApiOrgController { @PostMapping("/get-org-detail") public Result getOrgDetail(@RequestBody GetOrgDetailFormDTO input, @RequestHeader("AppId") String appId) { - return new Result().ok("测试org"); + return new Result().ok(String.format("测试org:orgId=%s,test=%s", input.getOrgId(), input.getTest())); } From 5f0868e7d840b526afcddd210b11ae9f6bd998fd Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 17 Mar 2022 17:39:44 +0800 Subject: [PATCH 8/9] =?UTF-8?q?fastjson=E7=89=88=E6=9C=AC=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=E5=88=B01.2.79?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-cloud-generator/pom.xml | 2 +- epmet-commons/epmet-commons-extapp-auth/pom.xml | 2 +- epmet-commons/epmet-commons-tools/pom.xml | 2 +- .../java/com/epmet/test/openapi/TestTakeTokenOpenApi.java | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/epmet-cloud-generator/pom.xml b/epmet-cloud-generator/pom.xml index 107e07be28..9077dca049 100644 --- a/epmet-cloud-generator/pom.xml +++ b/epmet-cloud-generator/pom.xml @@ -24,7 +24,7 @@ 2.6 2.5 1.10 - 1.2.45 + 1.2.79 1.7 5.1.38 4.0 diff --git a/epmet-commons/epmet-commons-extapp-auth/pom.xml b/epmet-commons/epmet-commons-extapp-auth/pom.xml index d6683ae51d..8ff0d46ada 100644 --- a/epmet-commons/epmet-commons-extapp-auth/pom.xml +++ b/epmet-commons/epmet-commons-extapp-auth/pom.xml @@ -20,7 +20,7 @@ 4.6.1 4.4.0 2.9.9 - 1.2.60 + 1.2.79 2.8.6 1.11.3 1.18.4 diff --git a/epmet-commons/epmet-commons-tools/pom.xml b/epmet-commons/epmet-commons-tools/pom.xml index cafd5f7023..c551a68db1 100644 --- a/epmet-commons/epmet-commons-tools/pom.xml +++ b/epmet-commons/epmet-commons-tools/pom.xml @@ -20,7 +20,7 @@ 4.6.1 4.4.0 2.9.9 - 1.2.60 + 1.2.79 2.8.6 1.11.3 1.18.4 diff --git a/epmet-module/epmet-demo/epmet-demo-server/src/test/java/com/epmet/test/openapi/TestTakeTokenOpenApi.java b/epmet-module/epmet-demo/epmet-demo-server/src/test/java/com/epmet/test/openapi/TestTakeTokenOpenApi.java index c07080e687..7f6bf1572c 100644 --- a/epmet-module/epmet-demo/epmet-demo-server/src/test/java/com/epmet/test/openapi/TestTakeTokenOpenApi.java +++ b/epmet-module/epmet-demo/epmet-demo-server/src/test/java/com/epmet/test/openapi/TestTakeTokenOpenApi.java @@ -27,8 +27,8 @@ public class TestTakeTokenOpenApi { @Test public void testIt() throws Exception { String accessToken = getAccessToken(); - //execBusinessWithSign(accessToken); - execBusinessWithoutSign(accessToken); + execBusinessWithSign(accessToken); + //execBusinessWithoutSign(accessToken); } @@ -87,7 +87,7 @@ public class TestTakeTokenOpenApi { // 业务参数 JsonObject bizParam = new JsonObject(); - bizParam.addProperty("orgId", "3"); + bizParam.addProperty("orgId", orgId); bizParam.addProperty("test", test); // 发送请求 From 2bbdc81cf8c70e5cc9917c84bb3cdec6b9f0f63a Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 17 Mar 2022 17:42:54 +0800 Subject: [PATCH 9/9] - --- .../com/epmet/test/openapi/TestTakeTokenOpenApi.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/epmet-module/epmet-demo/epmet-demo-server/src/test/java/com/epmet/test/openapi/TestTakeTokenOpenApi.java b/epmet-module/epmet-demo/epmet-demo-server/src/test/java/com/epmet/test/openapi/TestTakeTokenOpenApi.java index 7f6bf1572c..b70e9aeed8 100644 --- a/epmet-module/epmet-demo/epmet-demo-server/src/test/java/com/epmet/test/openapi/TestTakeTokenOpenApi.java +++ b/epmet-module/epmet-demo/epmet-demo-server/src/test/java/com/epmet/test/openapi/TestTakeTokenOpenApi.java @@ -20,9 +20,11 @@ import java.util.UUID; */ public class TestTakeTokenOpenApi { - String appId = "1504335474091569153"; + // 这是测试环境的 + //体悟实训的appId和secret + String appId = "61161d2f4b9c045859b7de5df93dd8b2"; String authType = "take_token"; - String secret = "70e7ee0592d94affaa6e7b463926a3dd3cf1606945644baf810f93e8e9638c50"; + String secret = "4d8e8fc9bacb41bba94e715f5fe2e0a36ae9c4150ade4436ad2c9448c486cc9c"; @Test public void testIt() throws Exception { @@ -49,7 +51,7 @@ public class TestTakeTokenOpenApi { String sign = OpenApiSignUtils.createSign(content, secret); - String takeTokenUrl = String.format("http://localhost:8080/api/epmet/ext/open-api/get-access-token?auth_type=%s&app_id=%s×tamp=%s&sign=%s&nonce=%s", authType, appId, timestamp, sign, nonce); + String takeTokenUrl = String.format("https://epmet-dev.elinkservice.cn/api/epmet/ext/open-api/get-access-token?auth_type=%s&app_id=%s×tamp=%s&sign=%s&nonce=%s", authType, appId, timestamp, sign, nonce); CloseableHttpClient httpClient = HttpClientBuilder.create().build(); HttpPost httpPost = new HttpPost(takeTokenUrl); @@ -83,7 +85,7 @@ public class TestTakeTokenOpenApi { String sign = OpenApiSignUtils.createSign(createSignParams, secret); - String businessUrl = String.format("http://localhost:8080/api/epmet/ext/open-api/get-org-detail?auth_type=%s&app_id=%s×tamp=%s&sign=%s&nonce=%s", authType, appId, timestamp, sign, nonce); + String businessUrl = String.format("https://epmet-dev.elinkservice.cn/api/epmet/ext/open-api/get-org-detail?auth_type=%s&app_id=%s×tamp=%s&sign=%s&nonce=%s", authType, appId, timestamp, sign, nonce); // 业务参数 JsonObject bizParam = new JsonObject();