From 21ff034e831489f057d995fae5801ab15c8db8f6 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Fri, 18 Oct 2024 14:32:32 +0800 Subject: [PATCH 1/4] =?UTF-8?q?optimize=20-=20=E8=B0=83=E6=95=B4=20starter?= =?UTF-8?q?=20=E4=B8=AD=E7=9A=84=E6=97=A5=E5=BF=97=E8=BE=93=E5=87=BA?= =?UTF-8?q?=E7=BA=A7=E5=88=AB=EF=BC=8C=E5=87=8F=E5=B0=91=E4=B8=8D=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E6=97=A5=E5=BF=97=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/aspectj/ErrorReportAspect.java | 16 +++++++++++---- .../StarterBroadcastMQConfiguration.java | 4 +++- .../StarterRPCInvokeMQConfiguration.java | 20 ++++++++++++++----- ...orkflowEngineStarterAutoConfiguration.java | 4 +++- .../ext/WorkflowEngineStarterDecoder.java | 4 +++- ...orkflowEngineStarterInvocationHandler.java | 6 ++++-- .../interceptor/FailOverInterceptor.java | 4 +++- .../execute/interceptor/LogInterceptor.java | 4 ++-- .../AbstractInnerWorkflowListener.java | 4 +++- 9 files changed, 48 insertions(+), 18 deletions(-) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/aspectj/ErrorReportAspect.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/aspectj/ErrorReportAspect.java index 05b5d7f19..55b246a3b 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/aspectj/ErrorReportAspect.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/common/aspectj/ErrorReportAspect.java @@ -66,7 +66,9 @@ public class ErrorReportAspect implements Ordered { */ @Around(value = "@within(org.springframework.web.bind.annotation.RestController) || @within(org.springframework.stereotype.Service)") public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable { - log.info("{}.{}", joinPoint.getSignature().getDeclaringTypeName(), joinPoint.getSignature().getName()); + if (log.isDebugEnabled()) { + log.debug("{}.{}", joinPoint.getSignature().getDeclaringTypeName(), joinPoint.getSignature().getName()); + } Signature signature = joinPoint.getSignature(); StopWatch watch = new StopWatch("running controller time"); watch.start(signature.toShortString()); @@ -75,10 +77,14 @@ public class ErrorReportAspect implements Ordered { result = joinPoint.proceed(); } finally { watch.stop(); - log.info("StopWatch '{}': running time = {} 's", watch.getLastTaskName(), watch.getTotalTimeSeconds()); + if (log.isDebugEnabled()) { + log.debug("StopWatch '{}': running time = {} 's", watch.getLastTaskName(), watch.getTotalTimeSeconds()); + } if (!methodNames.contains(watch.getLastTaskName())) { - log.info("StopWatch '{}': running time = {} 's", watch.getLastTaskName(), watch.getTotalTimeSeconds()); + if (log.isDebugEnabled()) { + log.debug("StopWatch '{}': running time = {} 's", watch.getLastTaskName(), watch.getTotalTimeSeconds()); + } } if (!signature.toShortString().contains("ExtAxApiLogServiceImpl")) { @@ -128,7 +134,9 @@ public class ErrorReportAspect implements Ordered { */ @AfterThrowing(pointcut = "@within(errorReporter) && @annotation(operation)", throwing = "e", argNames = "joinPoint,errorReporter,operation,e") public void doAfterThrowing(JoinPoint joinPoint, ErrorReporter errorReporter, Operation operation, Exception e) { - log.info("ErrorReportAspect 记录异常信息: {}", e.getMessage()); + if(log.isDebugEnabled()) { + log.debug("ErrorReportAspect 记录异常信息: {}", e.getMessage()); + } EnvConfig[] envConfigs = errorReporter.envConfig(); for (EnvConfig envConfig : envConfigs) { if (Arrays.asList(envConfig.profiles()).contains(profile)) { diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/StarterBroadcastMQConfiguration.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/StarterBroadcastMQConfiguration.java index 109a42920..ba89219ea 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/StarterBroadcastMQConfiguration.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/StarterBroadcastMQConfiguration.java @@ -107,7 +107,9 @@ public class StarterBroadcastMQConfiguration { // 处理 properties 配置进行事件过滤 for (InnerMessageQueueHandleBeforeFilter filter : filters) { if (filter.doFilter(message)) { - log.info("【{}】message has been filtered, messageId: {}", this.getClass().getSimpleName(), message.getMsgId()); + if (log.isDebugEnabled()) { + log.debug("【{}】message has been filtered, messageId: {}", this.getClass().getSimpleName(), message.getMsgId()); + } return; } } diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/StarterRPCInvokeMQConfiguration.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/StarterRPCInvokeMQConfiguration.java index aa47f3f3d..605bbc0b0 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/StarterRPCInvokeMQConfiguration.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/StarterRPCInvokeMQConfiguration.java @@ -105,7 +105,9 @@ public class StarterRPCInvokeMQConfiguration { private BiConsumer> getSendBeforeCallback() { return (event, context) -> { event.setEventId(IdHelper.get32UUID()); - log.info("mq_send_Before: {}, uniqueId: {}", event.getShardingKey(), event.getEventId()); + if (log.isDebugEnabled()) { + log.debug("mq_send_Before: {}, uniqueId: {}", event.getShardingKey(), event.getEventId()); + } }; } @@ -119,7 +121,9 @@ public class StarterRPCInvokeMQConfiguration { private BiConsumer> getSendAfterCallback() { return (event, context) -> { String messageId = context.getHeaders().get(MQ_MESSAGE_ID); - log.info("mq_send_after: {}, uniqueId: {}, messageId: {}", event.getShardingKey(), event.getEventId(), messageId); + if (log.isDebugEnabled()) { + log.debug("mq_send_after: {}, uniqueId: {}, messageId: {}", event.getShardingKey(), event.getEventId(), messageId); + } }; } @@ -132,7 +136,9 @@ public class StarterRPCInvokeMQConfiguration { */ private BiConsumer> getTransactionRollbackHandler() { return (event, context) -> { - log.info("mq_transaction_rollback: {}, uniqueId: {}", event.getShardingKey(), event.getEventId()); + if (log.isDebugEnabled()) { + log.debug("mq_transaction_rollback: {}, uniqueId: {}", event.getShardingKey(), event.getEventId()); + } }; } @@ -154,7 +160,9 @@ public class StarterRPCInvokeMQConfiguration { if (eventWrapper.isHandled()) { // 只收集被App真正消费的消息. Event event = eventWrapper.getEvent(); - log.info("WorkflowEngineStarter RPC MQ, handled event: {}", event.toPrettyJsonString()); + if (log.isDebugEnabled()) { + log.debug("WorkflowEngineStarter RPC MQ, handled event: {}", event.toPrettyJsonString()); + } } }; return new DefaultEventConsumer(applicationName + MODULE_NAME_SUFFIX, workflowEngineStarterEventHandlerRepository, callback); @@ -182,7 +190,9 @@ public class StarterRPCInvokeMQConfiguration { @Override public void onMessage(MessageExt message) { if (filter.doFilter(message)) { - log.info("【{}】message has been filtered, messageId: {}", this.getClass().getSimpleName(), message.getMsgId()); + if (log.isDebugEnabled()) { + log.debug("【{}】message has been filtered, messageId: {}", this.getClass().getSimpleName(), message.getMsgId()); + } return; } super.onEvent(message, workflowEngineStarterEventConsumer); diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java index 232c50771..8139b4682 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/WorkflowEngineStarterAutoConfiguration.java @@ -101,7 +101,9 @@ public class WorkflowEngineStarterAutoConfiguration { private ExecuteInterceptor getFailInterceptor(WorkflowEngineStarterProperties starterProperties) { BroadcastListenerProperties listenerRetry = starterProperties.getBroadcast(); FailHandleTypeEnum failHandleType = listenerRetry.getFailHandleType(); - log.info("workflow engine starter fail handle type : {}", failHandleType); + if (log.isDebugEnabled()) { + log.debug("workflow engine starter fail handle type : {}", failHandleType); + } switch (failHandleType) { case FAIL_BACK: // return new FailBackInterceptor(); diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/WorkflowEngineStarterDecoder.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/WorkflowEngineStarterDecoder.java index a949514d9..e3a911ef4 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/WorkflowEngineStarterDecoder.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/WorkflowEngineStarterDecoder.java @@ -72,7 +72,9 @@ final class WorkflowEngineStarterDecoder implements Decoder { wrappedType = ParameterizedTypeImpl.make(CommonResponse.class, new Type[]{type}, null); } Object decode = delegate.decode(response, wrappedType); - log.info("workflow engine starter response :{}", JSON.toJSONString(decode)); + if (log.isDebugEnabled()) { + log.debug("workflow engine starter response :{}", JSON.toJSONString(decode)); + } if (decode instanceof CommonResponse) { CommonResponse commonResponse = (CommonResponse) decode; if (response.status() == 202) { diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/WorkflowEngineStarterInvocationHandler.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/WorkflowEngineStarterInvocationHandler.java index a3c4ba593..d8e8e2a96 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/WorkflowEngineStarterInvocationHandler.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/WorkflowEngineStarterInvocationHandler.java @@ -61,8 +61,10 @@ class WorkflowEngineStarterInvocationHandler implements InvocationHandler { stopWatch.stop(); List ignoreMethods = Lists.newArrayList("sync", "async"); if (!ignoreMethods.contains(method.getName())) { - log.info("Workflow starter Method invoke record: {}.{}, args: {}, result: {} const: {} ms", - target.type().getSimpleName(), method.getName(), JSON.toJSONString(args), JSON.toJSONString(invoke), stopWatch.getTotalTimeMillis()); + if (log.isDebugEnabled()) { + log.debug("Workflow starter Method invoke record: {}.{}, args: {}, result: {} const: {} ms", + target.type().getSimpleName(), method.getName(), JSON.toJSONString(args), JSON.toJSONString(invoke), stopWatch.getTotalTimeMillis()); + } } } return invoke; diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/handler/execute/interceptor/FailOverInterceptor.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/handler/execute/interceptor/FailOverInterceptor.java index 0eb2659fc..a019b6e56 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/handler/execute/interceptor/FailOverInterceptor.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/handler/execute/interceptor/FailOverInterceptor.java @@ -35,7 +35,9 @@ public final class FailOverInterceptor extends AbstractListenerInterceptor { int failedAttempts = 0; do { if (failedAttempts > 0) { - log.info("Waiting for {} ms before retrying the command. retryTimes: {}", waitTime, failedAttempts); + if (log.isDebugEnabled()) { + log.debug("Waiting for {} ms before retrying the command. retryTimes: {}", waitTime, failedAttempts); + } waitBeforeRetry(waitTime); waitTime *= waitIncreaseFactor; } diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/handler/execute/interceptor/LogInterceptor.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/handler/execute/interceptor/LogInterceptor.java index 1ff75e8ad..7eb43810c 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/handler/execute/interceptor/LogInterceptor.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/handler/execute/interceptor/LogInterceptor.java @@ -21,8 +21,8 @@ public final class LogInterceptor extends AbstractListenerInterceptor { if (log.isDebugEnabled()) { log.debug("--- starting handle mq ---- "); } - if (log.isInfoEnabled()) { - log.info("messageId: {}, eventCode: {}, messageBody: {}", context.getMsgId(), context.getEventCode().toString(), JSON.toJSONString(t)); + if (log.isDebugEnabled()) { + log.debug("messageId: {}, eventCode: {}, messageBody: {}", context.getMsgId(), context.getEventCode().toString(), JSON.toJSONString(t)); } try { getNext().execute(executor, consumer, context, t); diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/broadcast/consumer/AbstractInnerWorkflowListener.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/broadcast/consumer/AbstractInnerWorkflowListener.java index 97a3faca4..cb2dbeb27 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/broadcast/consumer/AbstractInnerWorkflowListener.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/mq/broadcast/consumer/AbstractInnerWorkflowListener.java @@ -59,7 +59,9 @@ public abstract class AbstractInnerWorkflowListener Date: Tue, 22 Oct 2024 16:44:11 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix=20-=20=E8=B0=83=E6=95=B4141=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E7=9A=84=E5=93=8D=E5=BA=94=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../axzo/workflow/starter/feign/ext/ComplexInvokeClient.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java index 5e487ab60..5d1f90f62 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java @@ -6,6 +6,7 @@ import cn.axzo.workflow.common.model.response.mq.WorkflowEngineStarterRpcInvokeD import cn.axzo.workflow.starter.WorkflowEngineStarterProperties; import cn.axzo.workflow.starter.common.exception.WorkflowEngineStarterException; import cn.axzo.workflow.starter.mq.retry.producer.RpcInvokeEventProducer; +import cn.azxo.framework.common.model.CommonResponse; import com.alibaba.fastjson.JSON; import feign.Client; import feign.MethodMetadata; @@ -213,7 +214,7 @@ public class ComplexInvokeClient implements Client { } static Response.Body body = new Response.Body() { - final ByteArrayInputStream inputStream = new ByteArrayInputStream(JSON.toJSONString("Send MQ Success").getBytes(UTF_8)); + final ByteArrayInputStream inputStream = new ByteArrayInputStream(JSON.toJSONString(CommonResponse.success("Send MQ Success")).getBytes(UTF_8)); @Override public Integer length() { From 442af37f84dba58fa6e218db29d1243227adeb40 Mon Sep 17 00:00:00 2001 From: yangqicheng Date: Mon, 28 Oct 2024 14:40:19 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=BC=82=E6=AD=A5=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E8=BF=94=E5=9B=9E=E5=80=BC=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java index 5d1f90f62..6395b366a 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java @@ -214,7 +214,7 @@ public class ComplexInvokeClient implements Client { } static Response.Body body = new Response.Body() { - final ByteArrayInputStream inputStream = new ByteArrayInputStream(JSON.toJSONString(CommonResponse.success("Send MQ Success")).getBytes(UTF_8)); + final ByteArrayInputStream inputStream = new ByteArrayInputStream(JSON.toJSONString(CommonResponse.success()).getBytes(UTF_8)); @Override public Integer length() { From d6a5513c47ac12a63556e1b0888c94c036eb4603 Mon Sep 17 00:00:00 2001 From: yangqicheng Date: Mon, 28 Oct 2024 14:43:00 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=BC=82=E6=AD=A5=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E8=BF=94=E5=9B=9E=E5=80=BC=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../axzo/workflow/starter/feign/ext/ComplexInvokeClient.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java index bcb377b77..81e7c81d2 100644 --- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java +++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/feign/ext/ComplexInvokeClient.java @@ -244,8 +244,8 @@ public class ComplexInvokeClient implements Client { // at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) // at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) // 只设置为字符串会报错,恢复为设置成CommonResponse - final ByteArrayInputStream inputStream = new ByteArrayInputStream(JSON.toJSONString(CommonResponse.success(HttpStatus.OK.value(), "Send MQ Success", null)) - .getBytes(UTF_8)); + final ByteArrayInputStream inputStream = new ByteArrayInputStream(JSON.toJSONString(CommonResponse.success(HttpStatus.OK.value(), null, null)) + .getBytes(UTF_8)); @Override public Integer length() {