[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에서 타임아웃 설정을 변경하여 요청을 처리하는 방법은 다음과 같습니다:

  1. 의존성에 Jersey Client를 추가합니다.
  2. Client 객체의 프로퍼티를 설정하여 타임아웃 값을 변경합니다.
  3. Builder 객체를 사용하여 요청을 보냅니다.

참고 문서: Jersey Client Configurations