From 2b061bfab6b01dabdb4f1274e880f69565324dae Mon Sep 17 00:00:00 2001 From: curry772 Date: Thu, 26 Mar 2026 13:56:31 +0900 Subject: [PATCH] =?UTF-8?q?http=20extra=20=EB=A1=9C=EA=B7=B8=20=EC=A4=91?= =?UTF-8?q?=EB=B3=B5=20=EC=98=A4=EB=A5=98=20=EC=B2=98=EB=A6=AC=20retry=20?= =?UTF-8?q?=EC=8B=9C=20logseq+1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../http/client/HttpClient5AdapterServiceSupport.java | 5 ++++- .../http/client/impl/DeadlineAwareRetryExecutor.java | 11 +++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) 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 64e0e6d..98d890c 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 @@ -428,9 +428,12 @@ public abstract class HttpClient5AdapterServiceSupport implements HttpClientAdap this.client = HttpClients.custom() .disableDefaultUserAgent() .disableContentCompression() - .addRequestInterceptorLast(requestLogInterceptor) + .disableRedirectHandling() // redirect 자동 재전송 비활성화 + .disableAutomaticRetries() // 429 포함 자동 재시도 비활성화 + .addRequestInterceptorLast(requestLogInterceptor) .addResponseInterceptorFirst(responseLogInterceptor) .setConnectionManager(connectionManager) + .evictExpiredConnections() .build(); } diff --git a/src/main/java/com/eactive/eai/adapter/http/client/impl/DeadlineAwareRetryExecutor.java b/src/main/java/com/eactive/eai/adapter/http/client/impl/DeadlineAwareRetryExecutor.java index a0b8226..43bc80b 100644 --- a/src/main/java/com/eactive/eai/adapter/http/client/impl/DeadlineAwareRetryExecutor.java +++ b/src/main/java/com/eactive/eai/adapter/http/client/impl/DeadlineAwareRetryExecutor.java @@ -12,6 +12,7 @@ import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; import org.apache.hc.core5.http.protocol.HttpContext; +import com.eactive.eai.adapter.http.client.HttpClientAdapterServiceKey; import com.eactive.eai.common.util.Logger; @@ -72,6 +73,16 @@ public class DeadlineAwareRetryExecutor { boolean doRetry = false; try { + if (attempt > 0) { + Integer logProcessNo = (Integer) context.getAttribute(HttpClientAdapterServiceKey.LOG_PROCESS_NO); + if (logProcessNo == null || logProcessNo <= 0) { + logProcessNo = 200; + } + logProcessNo++; + + context.setAttribute(HttpClientAdapterServiceKey.LOG_PROCESS_NO, logProcessNo); + } + response = httpClient.execute(request, context); int status = response.getCode();