2.16. RESTEasy 작업 서비스


RESTEasy 비동기 작업 서비스는 비동기 동작을 HTTP 프로토콜에 추가하도록 설계되었습니다. HTTP는 동기식 프로토콜이지만 비동기 호출을 인식합니다. HTTP 1.1 응답 코드 202 허용됨 은 서버가 처리 처리를 위해 응답을 수신 및 수락했지만 아직 처리가 완료되지 않았음을 의미합니다. 비동기 작업 서비스는 이 문제를 중심으로 빌드됩니다.

2.16.1. 비동기 작업 서비스 활성화

web.xml 파일에서 비동기 작업 서비스를 활성화합니다.

<context-param>
    <param-name>resteasy.async.job.service.enabled</param-name>
    <param-value>true</param-value>
</context-param>

2.16.2. 비동기 작업 구성

이 섹션에서는 RESTEasy를 사용한 비동기 작업에 대한 쿼리 매개 변수의 예를 설명합니다.

주의

역할 기반 보안은 이식 가능한 구현이 불가능하므로 비동기 작업 서비스에서 작동하지 않습니다. 비동기 작업 서비스를 사용하는 경우 대신 web.xml 파일에서 XML 선언을 통해 애플리케이션 보안을 수행해야 합니다.

중요

GET, DELETE 및 PUT 메서드를 비동기적으로 호출할 수 있지만, 이 경우 이러한 메서드의 HTTP 1.1 계약이 중단됩니다. 이러한 호출은 두 번 이상 호출되는 경우 리소스 상태를 변경하지 않을 수 있지만 호출마다 새 작업 항목으로 서버 상태를 변경합니다.

asynch 쿼리 매개 변수는 백그라운드에서 호출을 실행하는 데 사용됩니다. 202 Accepted 응답이 반환되고, 백그라운드 메서드의 응답이 있는 위치를 가리키는 URL이 있는 위치 헤더가 반환됩니다.

POST http://example.com/myservice?asynch=true

위의 예제에서는 202 Accepted 응답을 반환합니다. 또한 백그라운드 메서드의 응답이 있는 위치를 가리키는 URL이 있는 위치 헤더를 반환합니다. 위치 헤더의 예는 다음과 같습니다.

HTTP/1.1 202 Accepted
Location: http://example.com/asynch/jobs/3332334

URI는 다음과 같은 형식을 사용합니다.

/asynch/jobs/{job-id}?wait={milliseconds}|nowait=true

GET, POST 및 DELETE 작업은 이 URL에서 수행할 수 있습니다.

  • GET은 작업이 완료된 경우 응답으로 호출된 Jakarta RESTful Web Services 리소스 메서드를 반환합니다. 작업이 완료되지 않은 경우 GET은 202 수락 된 응답 코드를 반환합니다. GET을 호출하면 작업이 제거되지 않으므로 여러 번 호출할 수 있습니다.
  • POST는 작업 응답을 읽고 작업이 완료된 경우 작업을 제거합니다.
  • DELETE는 작업 대기열을 수동으로 정리하기 위해 호출됩니다.
참고

작업 대기열이 가득 차면 DELETE를 호출하지 않고 메모리에서 가장 빠른 작업을 자동으로 제거합니다.

GET 및 POST 작업을 사용하면 waitnowait 쿼리 매개변수를 사용하여 최대 대기 시간을 정의할 수 있습니다. wait 매개변수를 지정하지 않으면 작업이 기본적으로 nowait=true 로 설정되며 작업이 완료되지 않은 경우 전혀 대기하지 않습니다. wait 매개 변수는 밀리초 단위로 정의됩니다.

POST http://example.com/asynch/jobs/122?wait=3000

RESTEasy는 oneway 쿼리 매개 변수를 사용하여 fire 및 forget 작업을 지원합니다.

POST http://example.com/myservice?oneway=true

위의 예제에서는 202 Accepted 응답을 반환하지만 작업이 생성되지 않습니다.

참고

비동기 작업 서비스에 대한 구성 매개 변수는 부록의 RESTEasy 작업 서비스 구성 매개 변수 섹션에서 확인할 수 있습니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동