[java] Java Jersey에서 타임아웃 설정을 변경하여 요청을 처리하는 방법은?
Java Jersey는 웹 서비스 개발을 위한 강력한 프레임워크입니다. 웹 요청을 처리할 때 타임아웃 설정을 변경하고자 할 때는 몇 가지 단계를 따르면 됩니다.
1. 의존성 추가
먼저 pom.xml 파일에 아래의 의존성을 추가해야 합니다.
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey.version}</version>
</dependency>
${jersey.version}
은 사용하고 있는 Jersey 버전으로 바꿔주세요.
2. Client 설정 변경
타임아웃 값을 변경하기 위해 Client
객체의 프로퍼티를 설정해야 합니다. 아래 코드는 10초로 타임아웃 값을 설정하는 예시입니다.
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Configuration;
import javax.ws.rs.client.Invocation.Builder;
Client client = ClientBuilder.newClient();
Configuration config = client.getConfiguration();
config.property("javax.ws.rs.client.connectTimeout", 10000);
config.property("javax.ws.rs.client.readTimeout", 10000);
Builder requestBuilder = client.target("http://example.com/api")
.request();
javax.ws.rs.client.connectTimeout
은 연결 타임아웃을, javax.ws.rs.client.readTimeout
은 읽기 타임아웃을 의미합니다. 값을 밀리초 단위로 설정할 수 있습니다.
3. 요청 보내기
타임아웃 설정을 마쳤다면 Builder
객체를 사용하여 요청을 보낼 수 있습니다. 아래 코드는 GET 요청을 보내는 예시입니다.
Response response = requestBuilder.get();
요약
Java Jersey에서 타임아웃 설정을 변경하여 요청을 처리하는 방법은 다음과 같습니다:
- 의존성에 Jersey Client를 추가합니다.
Client
객체의 프로퍼티를 설정하여 타임아웃 값을 변경합니다.Builder
객체를 사용하여 요청을 보냅니다.
참고 문서: Jersey Client Configurations