From 698a08ef77a8cf2c8a3edc84b301f9ced0ea667a Mon Sep 17 00:00:00 2001 From: jade Date: Tue, 14 Jul 2026 10:18:20 +0900 Subject: [PATCH] style: fix inline FQCNs to proper imports to comply with team rules --- .../mcp/gateway/presentation/McpRouterController.java | 3 ++- .../axhub/biz/mcp/adapter/sender/HttpEimsSender.java | 9 ++++++++- .../biz/mcp/tool/service/AbstractMcpToolService.java | 3 ++- .../biz/mcp/tool/service/SampleStringToolService.java | 3 ++- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/axhub-gateway/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/presentation/McpRouterController.java b/axhub-gateway/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/presentation/McpRouterController.java index 35e62a3..ca7680b 100644 --- a/axhub-gateway/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/presentation/McpRouterController.java +++ b/axhub-gateway/src/main/java/io/shinhanlife/axhub/biz/mcp/gateway/presentation/McpRouterController.java @@ -26,6 +26,7 @@ import org.springframework.core.ParameterizedTypeReference; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.RestClient; +import org.springframework.http.client.SimpleClientHttpRequestFactory; @Slf4j @RestController @@ -52,7 +53,7 @@ public class McpRouterController { this.gatewayFallbackProperties = gatewayFallbackProperties; // [수정됨] 1초 타임아웃을 강제하여 죽은 서버 대기로 인한 지연 방지 - org.springframework.http.client.SimpleClientHttpRequestFactory factory = new org.springframework.http.client.SimpleClientHttpRequestFactory(); + SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); factory.setConnectTimeout(1000); // 연결 시도 타임아웃 1초 factory.setReadTimeout(1000); // 응답 대기 타임아웃 1초 diff --git a/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/sender/HttpEimsSender.java b/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/sender/HttpEimsSender.java index ce31cda..848709d 100644 --- a/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/sender/HttpEimsSender.java +++ b/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/sender/HttpEimsSender.java @@ -5,6 +5,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; import org.springframework.web.client.RestClient; +import org.springframework.http.client.SimpleClientHttpRequestFactory; import java.util.Map; import java.util.UUID; @@ -39,7 +40,13 @@ public class HttpEimsSender implements EimsSender { this.glowProps = glowProps; // yml의 대내 MCI host, port, uri를 조합하여 EIMS 호출 주소 생성 this.eimsUrl = glowProps.getMci().getHost() + ":" + glowProps.getMci().getPort() + glowProps.getMci().getUri(); - this.restClient = RestClient.builder().build(); + + // HTTP/2 통신 시 Stream Cancelled(RST_STREAM) 에러 방지를 위해 HTTP/1.1 전용 Factory 사용 + SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); + factory.setConnectTimeout(3000); + factory.setReadTimeout(5000); + + this.restClient = RestClient.builder().requestFactory(factory).build(); } @Override diff --git a/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/AbstractMcpToolService.java b/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/AbstractMcpToolService.java index 64d4a56..ea7bc71 100644 --- a/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/AbstractMcpToolService.java +++ b/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/AbstractMcpToolService.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.core.type.TypeReference; import java.util.HashMap; import java.util.Map; +import java.util.List; import lombok.extern.slf4j.Slf4j; @@ -41,7 +42,7 @@ public abstract class AbstractMcpToolService { /** * 레거시 시스템을 호출하고 공통 처리(PII 마스킹 등)를 수행합니다. (스펙 지정 가능) */ - protected Map executeLegacy(String routingType, String interfaceId, Object inputData, java.util.List> spec) { + protected Map executeLegacy(String routingType, String interfaceId, Object inputData, List> spec) { Map inputMap; if (inputData == null) { inputMap = new HashMap<>(); diff --git a/axhub-tool-other/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/SampleStringToolService.java b/axhub-tool-other/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/SampleStringToolService.java index d3c3fba..03999ee 100644 --- a/axhub-tool-other/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/SampleStringToolService.java +++ b/axhub-tool-other/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/service/SampleStringToolService.java @@ -7,6 +7,7 @@ import io.shinhanlife.axhub.biz.mcp.tool.dto.SampleStringReq; import io.shinhanlife.glow.util.GlowMciParser; import org.springframework.stereotype.Service; import java.util.Map; +import java.util.List; /** * @package io.shinhanlife.axhub.biz.mcp.tool.service @@ -37,7 +38,7 @@ public class SampleStringToolService extends AbstractMcpToolService { public Object execute(SampleStringReq req) { // 1. EIMS(Legacy)를 통해 원본 고정 길이 문자열을 받아옵니다. // 스펙에 mciFormat = STRING 힌트를 주어 전문 통신으로 자동 분기되게 합니다. - java.util.List> spec = java.util.List.of( + List> spec = List.of( Map.of("mciFormat", "STRING") ); Map result = executeLegacy("MCI", "TRGM_001", req, spec);