feat(REQ-2924) - 移除eventproducer

This commit is contained in:
wangli 2024-09-13 23:15:28 +08:00
parent 102d73e663
commit c4c2114db8
2 changed files with 12 additions and 10 deletions

View File

@ -15,6 +15,7 @@ import feign.Response;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
@ -42,7 +43,6 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
import java.util.Queue; import java.util.Queue;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -64,11 +64,11 @@ public class ComplexInvokeClient implements Client {
private final Logger log = LoggerFactory.getLogger(ComplexInvokeClient.class); private final Logger log = LoggerFactory.getLogger(ComplexInvokeClient.class);
private final WorkflowEngineStarterProperties starterProperties; private final WorkflowEngineStarterProperties starterProperties;
private final Optional<EventProducer> optEventProducer; private final ObjectProvider<EventProducer> optEventProducer;
private final Client feignClient; private final Client feignClient;
public ComplexInvokeClient(WorkflowEngineStarterProperties starterProperties, public ComplexInvokeClient(WorkflowEngineStarterProperties starterProperties,
Optional<EventProducer> optEventProducer, ObjectProvider<EventProducer> optEventProducer,
Client feignClient) { Client feignClient) {
this.starterProperties = starterProperties; this.starterProperties = starterProperties;
this.optEventProducer = optEventProducer; //(RpcInvokeEventProducer) eventProducer; this.optEventProducer = optEventProducer; //(RpcInvokeEventProducer) eventProducer;
@ -93,10 +93,14 @@ public class ComplexInvokeClient implements Client {
* @param options * @param options
*/ */
private Response asyncInvoke(Request request, Request.Options options) throws IOException { private Response asyncInvoke(Request request, Request.Options options) throws IOException {
if (!optEventProducer.isPresent()) { EventProducer ifAvailable = optEventProducer.getIfAvailable(() -> null);
if (ifAvailable == null) {
return feignClient.execute(request, options); return feignClient.execute(request, options);
} }
optEventProducer.ifPresent(eventProducer -> { // if (!optEventProducer.isPresent()) {
// return feignClient.execute(request, options);
// }
optEventProducer.ifAvailable(eventProducer -> {
WorkflowEngineStarterRpcInvokeDTO event = new WorkflowEngineStarterRpcInvokeDTO(); WorkflowEngineStarterRpcInvokeDTO event = new WorkflowEngineStarterRpcInvokeDTO();
MethodMetadata metadata = request.requestTemplate().methodMetadata(); MethodMetadata metadata = request.requestTemplate().methodMetadata();
event.setClassName(metadata.targetType().getName()); event.setClassName(metadata.targetType().getName());

View File

@ -15,7 +15,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.slf4j.MDC; import org.slf4j.MDC;
import org.springframework.beans.factory.ObjectFactory; import org.springframework.beans.factory.ObjectFactory;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters; import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.cloud.openfeign.FeignBuilderCustomizer; import org.springframework.cloud.openfeign.FeignBuilderCustomizer;
import org.springframework.cloud.openfeign.support.ResponseEntityDecoder; import org.springframework.cloud.openfeign.support.ResponseEntityDecoder;
@ -30,9 +30,7 @@ import javax.servlet.http.HttpServletRequest;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Objects; import java.util.Objects;
import java.util.Optional;
//import static cn.axzo.framework.web.filter.BasicRecordExceptionFilter.MICRO_SERVER_RECORD_ERROR_GET_PARAM_NAME;
import static cn.axzo.workflow.client.config.WorkflowRequestInterceptor.HEADER_API_VERSION; import static cn.axzo.workflow.client.config.WorkflowRequestInterceptor.HEADER_API_VERSION;
import static cn.axzo.workflow.client.config.WorkflowRequestInterceptor.HEADER_HTTP_CLIENT; import static cn.axzo.workflow.client.config.WorkflowRequestInterceptor.HEADER_HTTP_CLIENT;
import static cn.axzo.workflow.client.config.WorkflowRequestInterceptor.HEADER_HTTP_CLIENT_VALUE; import static cn.axzo.workflow.client.config.WorkflowRequestInterceptor.HEADER_HTTP_CLIENT_VALUE;
@ -57,9 +55,9 @@ public class WorkflowEngineStarterFeignConfiguration {
@Bean @Bean
public Client complexInvokeClient(WorkflowEngineStarterProperties starterProperties, public Client complexInvokeClient(WorkflowEngineStarterProperties starterProperties,
@Qualifier("workflowEngineStarterEventProducer") EventProducer eventProducer, ObjectProvider<EventProducer> producerObjectProvider,
Client feignClient) { Client feignClient) {
return new ComplexInvokeClient(starterProperties, Optional.ofNullable(eventProducer), feignClient); return new ComplexInvokeClient(starterProperties, producerObjectProvider, feignClient);
} }
@Bean @Bean