検索

15.12.3. RESTEasy の非同期ジョブを設定する

download PDF

概要

本トピックでは、RESTEasy を使用した非同期ジョブのクエリーパラメーターの例について説明します。

警告
ロールベースのセキュリティーは、ポータブルに実装できないため Asynchronous Job Service とは連携しません。Asynchronous Job Service を使用する場合は、代わりに web.xml ファイルでの XML 宣言を使用してアプリケーションセキュリティーを確立する必要があります。
重要
GET、DELETE、および PUT メソッドは非同期的に呼び出すことができますが、これらのメソッドの HTTP 1.1 コントラクトが破損します。これらの呼び出しによってリソースが複数回呼び出されると、その状態が変更されることはありませんが、各呼び出しで新しいジョブエントリーとしてサーバーの状態が変更されます。

例15.21 非同期パラメーター

asynch クエリーパラメーターは、バックグラウンドで呼び出しを実行するために使用されます。202 Accepted 応答が返されます。また、バックグラウンドメソッドの応答がある場所を指す URL が含まれる場所のヘッダーも返されます。
POST http://example.com/myservice?asynch=true
上記の例では、202Accepted 応答が返されます。また、バックグラウンドメソッドの応答がある場所を指す URL のある場所のヘッダーも返します。以下は場所ヘッダーの例です。
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 は 202Accepted 応答コードを返します。GET を呼び出してもジョブは削除されないため、複数回呼び出すことができます。
  • POST はジョブの応答を読み取り、完了するとジョブを削除します。
  • DELETE は、ジョブキューを手動でクリーンアップするために呼び出されます。
    注記
    ジョブキューが満杯になると、DELETE を呼び出すことなく、メモリーから最も古いジョブを自動的に無効にします。

例15.22 待つ/待つ

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

例15.23 一方向パラメーター

RESTEasy は、ファイアアンドフォーゲットジョブをサポートします。onewayクエリーパラメーター。
POST http://example.com/myservice?oneway=true
上記の例では、202 Accepted 応答が返されますが、ジョブは作成されません。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.