From 933f986ba07b6f1caec517d8a05b4d59dd90cf55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= Date: Fri, 3 Jan 2020 15:53:55 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20Introducing=20new=20features.=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E9=9D=9Eweb=20=E7=8E=AF=E5=A2=83=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=20=E5=88=86=E5=B8=83=E5=BC=8F=E4=BA=8B=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interceptor/TxManagerInterceptor.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/pigx-common/pigx-common-transaction/src/main/java/com/pig4cloud/pigx/common/transaction/tx/springcloud/interceptor/TxManagerInterceptor.java b/pigx-common/pigx-common-transaction/src/main/java/com/pig4cloud/pigx/common/transaction/tx/springcloud/interceptor/TxManagerInterceptor.java index 51d1d4b43..8d40d51dd 100755 --- a/pigx-common/pigx-common-transaction/src/main/java/com/pig4cloud/pigx/common/transaction/tx/springcloud/interceptor/TxManagerInterceptor.java +++ b/pigx-common/pigx-common-transaction/src/main/java/com/pig4cloud/pigx/common/transaction/tx/springcloud/interceptor/TxManagerInterceptor.java @@ -18,9 +18,10 @@ package com.pig4cloud.pigx.common.transaction.tx.springcloud.interceptor; import com.codingapi.tx.aop.service.AspectBeforeService; +import lombok.AllArgsConstructor; import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; @@ -34,17 +35,23 @@ import javax.servlet.http.HttpServletRequest; * @since 4.1.0 */ +@Slf4j @Component +@AllArgsConstructor public class TxManagerInterceptor { - - @Autowired - private AspectBeforeService aspectBeforeService; + private final AspectBeforeService aspectBeforeService; @SneakyThrows public Object around(ProceedingJoinPoint point) { - RequestAttributes requestAttributes = RequestContextHolder.currentRequestAttributes(); - HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest(); - String groupId = request.getHeader("tx-group"); + RequestAttributes requestAttributes; + String groupId = null; + try { + requestAttributes = RequestContextHolder.currentRequestAttributes(); + HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest(); + groupId = request.getHeader("tx-group"); + } catch (IllegalStateException e) { + log.info("非web 环境调用 不包含请求上下文"); + } return aspectBeforeService.around(groupId, point); } }