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

View File

@ -15,7 +15,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
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.cloud.openfeign.FeignBuilderCustomizer;
import org.springframework.cloud.openfeign.support.ResponseEntityDecoder;
@ -30,9 +30,7 @@ import javax.servlet.http.HttpServletRequest;
import java.util.Collection;
import java.util.Collections;
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_HTTP_CLIENT;
import static cn.axzo.workflow.client.config.WorkflowRequestInterceptor.HEADER_HTTP_CLIENT_VALUE;
@ -57,9 +55,9 @@ public class WorkflowEngineStarterFeignConfiguration {
@Bean
public Client complexInvokeClient(WorkflowEngineStarterProperties starterProperties,
@Qualifier("workflowEngineStarterEventProducer") EventProducer eventProducer,
ObjectProvider<EventProducer> producerObjectProvider,
Client feignClient) {
return new ComplexInvokeClient(starterProperties, Optional.ofNullable(eventProducer), feignClient);
return new ComplexInvokeClient(starterProperties, producerObjectProvider, feignClient);
}
@Bean