From 63f7837026f3e3fe6f14b54becc15c8890e536c9 Mon Sep 17 00:00:00 2001 From: jade Date: Tue, 14 Jul 2026 10:24:50 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B3=B4=ED=86=B5=20=EA=B8=88=EC=9C=B5?= =?UTF-8?q?=EA=B6=8C(=EC=8B=A0=ED=95=9C=EB=9D=BC=EC=9D=B4=ED=94=84=20?= =?UTF-8?q?=EB=93=B1=20=EC=9D=80=ED=96=89/=EB=B3=B4=ED=97=98=EC=82=AC)?= =?UTF-8?q?=EC=9D=98=20=EB=82=B4=EB=B6=80=20=EB=A0=88=EA=B1=B0=EC=8B=9C=20?= =?UTF-8?q?=EC=8B=9C=EC=8A=A4=ED=85=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../axhub/biz/mcp/adapter/sender/HttpEimsSender.java | 9 ++++++++- .../axhub/biz/mcp/adapter/sender/MciEimsSender.java | 11 +++++++++++ .../biz/mcp/adapter/sender/MciStringEimsSender.java | 10 ++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) 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 848709d..2e517bb 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 @@ -40,7 +40,14 @@ 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.create(); + 보통 금융권(신한라이프 등 은행/보험사)의 내부 레거시 시스템이나 MCI(Message Channel Integration) 솔루션은 HTTP/2를 기본으로 지원하지 않는 경우가 훨씬 많습니다. + *********************************************** 중요 ************************************************** + */ + // HTTP/2 통신 시 Stream Cancelled(RST_STREAM) 에러 방지를 위해 HTTP/1.1 전용 Factory 사용 SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); factory.setConnectTimeout(3000); diff --git a/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/sender/MciEimsSender.java b/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/sender/MciEimsSender.java index f9511c4..2e4c6fa 100644 --- a/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/sender/MciEimsSender.java +++ b/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/sender/MciEimsSender.java @@ -6,6 +6,7 @@ import com.fasterxml.jackson.dataformat.xml.XmlMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.MediaType; +import org.springframework.http.client.SimpleClientHttpRequestFactory; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; import org.springframework.web.client.RestClient; @@ -38,6 +39,16 @@ public class MciEimsSender implements EimsSender { this.xmlMapper = xmlMapper; this.mciUrl = mciUrl; this.restClient = RestClient.create(); // 클라이언트 초기화 + + /* + *********************************************** 중요 ************************************************** + SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); + factory.setConnectTimeout(3000); + factory.setReadTimeout(5000); + this.restClient = RestClient.builder().requestFactory(factory).build(); + 보통 금융권(신한라이프 등 은행/보험사)의 내부 레거시 시스템이나 MCI(Message Channel Integration) 솔루션은 HTTP/2를 기본으로 지원하지 않는 경우가 훨씬 많습니다. + *********************************************** 중요 ************************************************** + */ } @Override diff --git a/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/sender/MciStringEimsSender.java b/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/sender/MciStringEimsSender.java index 342da8b..3f6b899 100644 --- a/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/sender/MciStringEimsSender.java +++ b/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/adapter/sender/MciStringEimsSender.java @@ -31,6 +31,16 @@ public class MciStringEimsSender implements EimsSender { public MciStringEimsSender(@Value("${eims.mcistring.url}") String mciUrl) { this.mciUrl = mciUrl; this.restClient = RestClient.create(); + /* + *********************************************** 중요 ************************************************** + SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); + factory.setConnectTimeout(3000); + factory.setReadTimeout(5000); + this.restClient = RestClient.builder().requestFactory(factory).build(); + 보통 금융권(신한라이프 등 은행/보험사)의 내부 레거시 시스템이나 MCI(Message Channel Integration) 솔루션은 HTTP/2를 기본으로 지원하지 않는 경우가 훨씬 많습니다. + *********************************************** 중요 ************************************************** + */ + } @Override