12.13.3. RESTEasy の非同期ジョブの設定


概要

このトピックでは、RESTEasy における非同期ジョブのクエリーパラメーターの例を取り上げます。

警告

非同期ジョブサービスは移植可能な状態で実装できないため、ロールベースのセキュリティーとは機能しません。非同期ジョブサービスを使用する場合、アプリケーションのセキュリティーは web.xml ファイルの XML 宣言で設定する必要があります。

重要

GET、DELETE、および PUT メソッドは非同期的に呼び出すことができますが、これらのメソッドの HTTP 1.1 コントラクトに違反することになります。複数回呼び出されてもリソースの状態は変わらないこともありますが、呼び出しごとに新しいジョブエントリーとしてサーバーの状態が変更されます。

例12.18 非同期パラメーター

asynch クエリーパラメーターを使用して、バックグラウンドで呼び出しが実行されます。202 Accepted 応答と、バックグラウンドメソッドの応答がある場所を示す URL が含まれる Location ヘッダーが返されます。
POST http://example.com/myservice?asynch=true
上記の例では、202 Accepted 応答と、バックグラウンドメソッドの応答がある場所を示す URL が含まれる Location ヘッダーが返されます。ロケーションヘッダーの例を以下に示します。
HTTP/1.1 202 Accepted
Location: http://example.com/asynch/jobs/3332334
URI は以下の形式を取ります。
/asynch/jobs/{job-id}?wait={millisconds}|nowait=true
この URL では GET、POST、および DELETE 操作を実行できます。
  • ジョブが完了すると、GET は応答として呼び出された JAX-RS リソースメソッドを返します。ジョブが完了しないと、GET は 202 Accepted 応答コードを返します。GET を呼び出してもジョブは削除されないため、複数回呼び出すことができます。
  • POST はジョブの応答を読み取り、完了したジョブを削除します。
  • DLETE は、ジョブのキューを手作業で削除するために呼び出されます。

    注記

    ジョブのキューが満杯の場合は、メモリーから最初のジョブをエビクトします。DELETE を呼び出す必要はありません。

例12.19 Wait / Nowait

GET および POST 操作では、waitnowait クエリーパラメーターを使うことで最大待機時間を定義できます。wait パラメーターが指定されていない場合、デフォルトのnowait=true が使用され、ジョブが完了していない場合でも待機しません。wait パラメーターはミリ秒単位で定義されます。
POST http://example.com/asynch/jobs/122?wait=3000

例12.20 Oneway パラメーター

RESTEasy は oneway クエリーパラメーターを使用して fire および forget ジョブに対応します。
POST http://example.com/myservice?oneway=true
上記の例は、202 Accepted 応答を返しますが、ジョブは作成されません。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る