From 1d764188ebf370a99afd115ed516963857429497 Mon Sep 17 00:00:00 2001 From: HYOJIN Date: Wed, 18 Mar 2026 13:35:10 +0900 Subject: [PATCH] =?UTF-8?q?fix(ais):=20AIS=20WebClient=20=EB=B2=84?= =?UTF-8?q?=ED=8D=BC=20=EC=A0=9C=ED=95=9C=20=EC=B4=88=EA=B3=BC(DataBufferL?= =?UTF-8?q?imitException)=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../batch/global/config/MaritimeApiWebClientConfig.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/snp/batch/global/config/MaritimeApiWebClientConfig.java b/src/main/java/com/snp/batch/global/config/MaritimeApiWebClientConfig.java index 2ce50e5..96abce1 100644 --- a/src/main/java/com/snp/batch/global/config/MaritimeApiWebClientConfig.java +++ b/src/main/java/com/snp/batch/global/config/MaritimeApiWebClientConfig.java @@ -84,12 +84,17 @@ public class MaritimeApiWebClientConfig { log.info("Base URL: {}", maritimeAisApiUrl); log.info("========================================"); + HttpClient httpClient = HttpClient.create() + .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 10_000) // 연결 타임아웃 10초 + .responseTimeout(Duration.ofSeconds(60)); // 응답 대기 60초 + return WebClient.builder() + .clientConnector(new ReactorClientHttpConnector(httpClient)) .baseUrl(maritimeAisApiUrl) .defaultHeaders(headers -> headers.setBasicAuth(maritimeApiUsername, maritimeApiPassword)) .codecs(configurer -> configurer .defaultCodecs() - .maxInMemorySize(50 * 1024 * 1024)) // 50MB 버퍼 (AIS GetTargets 응답 ~20MB+) + .maxInMemorySize(100 * 1024 * 1024)) // 100MB 버퍼 .build(); }