diff --git a/src/main/java/com/eactive/eai/adapter/http/client/HttpClient5AdapterServiceSupport.java b/src/main/java/com/eactive/eai/adapter/http/client/HttpClient5AdapterServiceSupport.java index a212277..b81600f 100644 --- a/src/main/java/com/eactive/eai/adapter/http/client/HttpClient5AdapterServiceSupport.java +++ b/src/main/java/com/eactive/eai/adapter/http/client/HttpClient5AdapterServiceSupport.java @@ -99,7 +99,7 @@ public abstract class HttpClient5AdapterServiceSupport implements HttpClientAdap adapterHeader = prop.getProperty(ADAPTER_HEADER, ""); String traceLevelTemp = prop.getProperty(TRACE_LEVEL, "0"); - String timeoutTemp = prop.getProperty(HTTP_TIME_OUT, "0"); + String timeoutTemp = "10000"; // 타임아웃 기준이 불명확해 운영 혼란 발생 → 인터페이스 TIMEOUT으로 단일화 useMtls = StringUtils.equalsIgnoreCase(prop.getProperty(HttpClientAdapterServiceKey.USE_MTLS),"Y"); keyStorePath = prop.getProperty(HttpClientAdapterServiceKey.KEYSTORE_PATH); @@ -509,12 +509,6 @@ public abstract class HttpClient5AdapterServiceSupport implements HttpClientAdap requestConfigBuilder.setResponseTimeout(vo.getTimeout(), TimeUnit.MILLISECONDS); } - /* - if (HTTP_VERSION_1_1.equals(vo.getHttpVersion())) { - method.addHeader("Connection", "close"); - } - */ - org.apache.hc.core5.http.HttpVersion httpVersion ; if (HTTP_VERSION_1_0.equals(vo.getHttpVersion())) { httpVersion = org.apache.hc.core5.http.HttpVersion.HTTP_1_0; diff --git a/src/main/java/com/eactive/eai/adapter/http/client/HttpClientAdapterServiceSupport.java b/src/main/java/com/eactive/eai/adapter/http/client/HttpClientAdapterServiceSupport.java index 941a92b..5829cb0 100644 --- a/src/main/java/com/eactive/eai/adapter/http/client/HttpClientAdapterServiceSupport.java +++ b/src/main/java/com/eactive/eai/adapter/http/client/HttpClientAdapterServiceSupport.java @@ -83,7 +83,7 @@ public abstract class HttpClientAdapterServiceSupport implements HttpClientAdapt adapterHeader = prop.getProperty(ADAPTER_HEADER, ""); String traceLevelTemp = prop.getProperty(TRACE_LEVEL, "0"); - String timeoutTemp = prop.getProperty(HTTP_TIME_OUT); + String timeoutTemp = "10000";// 타임아웃 기준이 불명확해 운영 혼란 발생 → 인터페이스 TIMEOUT으로 단일화 useMtls = StringUtils.equalsIgnoreCase(prop.getProperty(HttpClientAdapterServiceKey.USE_MTLS), "Y"); keyStorePath = prop.getProperty(HttpClientAdapterServiceKey.KEYSTORE_PATH); @@ -116,6 +116,7 @@ public abstract class HttpClientAdapterServiceSupport implements HttpClientAdapt try { connectionTimeout = Integer.parseInt(connectionTimeoutTemp); } catch (Exception e) { + connectionTimeout = 3000; logger.debug("HttpClientAdapterSupport] connectionTimeoutTemp not int"); } try { diff --git a/src/main/java/com/eactive/eai/outbound/HTTPProcess.java b/src/main/java/com/eactive/eai/outbound/HTTPProcess.java index dd2c8ac..da67208 100644 --- a/src/main/java/com/eactive/eai/outbound/HTTPProcess.java +++ b/src/main/java/com/eactive/eai/outbound/HTTPProcess.java @@ -54,7 +54,10 @@ public class HTTPProcess extends DefaultProcess { protected final ObjectMapper objectMapper = new ObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL); public void outboundCtrlCallServiceAsync() throws Exception { - // async에서는 인터페이스 값을 설정하지 않고 Adapter의 타임아웃을 쓰기위해서 설정하지 않음 + // 인터페이스에 셋팅된 타임아웃설정 + int iTimeoutValue = getTimeoutCodeToValue(); + this.timeout = iTimeoutValue * 1000; + this.tempProp.put(INTERFACE_TIME_OUT, "" + this.timeout); try { this.tempProp.put(HttpClientAdapterServiceKey.LOG_PROCESS_NO, this.logPssSno); this.resObject = HttpSender.callService(this.adapterGroupName, this.outboundProp, this.reqObject, this.tempProp); diff --git a/src/main/java/com/eactive/eai/outbound/RESTProcess.java b/src/main/java/com/eactive/eai/outbound/RESTProcess.java index f943a57..29bb60a 100644 --- a/src/main/java/com/eactive/eai/outbound/RESTProcess.java +++ b/src/main/java/com/eactive/eai/outbound/RESTProcess.java @@ -50,7 +50,10 @@ public class RESTProcess extends HTTPProcess { static final long serialVersionUID = 1L; public void outboundCtrlCallServiceAsync() throws Exception { - // async에서는 인터페이스 값을 설정하지 않고 Adapter의 타임아웃을 쓰기위해서 설정하지 않음 + // 인터페이스에 셋팅된 타임아웃설정 + int iTimeoutValue = getTimeoutCodeToValue(); + this.timeout = iTimeoutValue * 1000; + this.tempProp.put(INTERFACE_TIME_OUT, "" + this.timeout); try { this.tempProp.put(HttpClientAdapterServiceKey.LOG_PROCESS_NO, this.logPssSno); this.resObject = HttpSender.callService(this.adapterGroupName, this.outboundProp, this.reqObject, diff --git a/src/main/java/com/eactive/eai/outbound/SocketProcess.java b/src/main/java/com/eactive/eai/outbound/SocketProcess.java index 8b360e0..d3912f7 100644 --- a/src/main/java/com/eactive/eai/outbound/SocketProcess.java +++ b/src/main/java/com/eactive/eai/outbound/SocketProcess.java @@ -126,9 +126,10 @@ public class SocketProcess extends DefaultProcess { } public void outboundCtrlCallServiceAsync() throws Exception { - /** - * async에서는 인터페이스 값을 설정하지 않고 Adapter의 타임아웃을 쓰기위해서 설정하지 않음 - */ + // 인터페이스에 셋팅된 타임아웃설정 + int iTimeoutValue = getTimeoutCodeToValue(); + this.timeout = iTimeoutValue * 1000; + this.tempProp.put(INTERFACE_TIME_OUT, "" + this.timeout); try { this.resObject = SocketSender.callService(this.adapterGroupName, this.outboundProp, this.reqObject, this.tempProp);