보통 금융권(신한라이프 등 은행/보험사)의 내부 레거시 시스템

This commit is contained in:
jade
2026-07-14 10:24:50 +09:00
parent 698a08ef77
commit 63f7837026
3 changed files with 29 additions and 1 deletions

View File

@@ -41,6 +41,13 @@ public class HttpEimsSender implements EimsSender {
// yml의 대내 MCI host, port, uri를 조합하여 EIMS 호출 주소 생성 // yml의 대내 MCI host, port, uri를 조합하여 EIMS 호출 주소 생성
this.eimsUrl = glowProps.getMci().getHost() + ":" + glowProps.getMci().getPort() + glowProps.getMci().getUri(); 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 사용 // HTTP/2 통신 시 Stream Cancelled(RST_STREAM) 에러 방지를 위해 HTTP/1.1 전용 Factory 사용
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setConnectTimeout(3000); factory.setConnectTimeout(3000);

View File

@@ -6,6 +6,7 @@ import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StopWatch; import org.springframework.util.StopWatch;
import org.springframework.web.client.RestClient; import org.springframework.web.client.RestClient;
@@ -38,6 +39,16 @@ public class MciEimsSender implements EimsSender {
this.xmlMapper = xmlMapper; this.xmlMapper = xmlMapper;
this.mciUrl = mciUrl; this.mciUrl = mciUrl;
this.restClient = RestClient.create(); // 클라이언트 초기화 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 @Override

View File

@@ -31,6 +31,16 @@ public class MciStringEimsSender implements EimsSender {
public MciStringEimsSender(@Value("${eims.mcistring.url}") String mciUrl) { public MciStringEimsSender(@Value("${eims.mcistring.url}") String mciUrl) {
this.mciUrl = mciUrl; this.mciUrl = mciUrl;
this.restClient = RestClient.create(); 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 @Override