プロジェクトでの HTTP バインディングコンポーネントの使用

サービス品質 (QOS) 機能

サービス品質機能は CASA エディタから設定します。サービス品質機能には、再試行 (再配信) と制限の設定に使用されるプロパティーが含まれます。

この節の内容は次のとおりです。

サービス品質プロパティーの設定

QOS 属性は QoS プロパティー設定エディタから設定します。このエディタには複合アプリケーションサービスアセンブリ (CASA) エディタからアクセスします。QoS プロパティー設定エディタへのアクセス方法の例については、「HTTP バインディングコンポーネントのエンドポイントの制限を設定する」を参照してください。

属性 

説明 

値/例 

コンシューマ設定

サービス名 

コンシューマサービス名を指定します。省略符号ボタンをクリックして QName エディタを開きます。 

チェックボックスが選択されている場合、有効になっていることを示します。 

エンドポイント名 

コンシューマエンドポイント名を指定します。省略符号ボタンをクリックして編集ウィンドウを開きます。 

チェックボックスが選択されている場合、有効になっていることを示します。 

プロバイダ設定

サービス名 

プロバイダサービス名を指定します。省略符号ボタンをクリックして QName エディタを開きます。 

チェックボックスが選択されている場合、有効になっていることを示します。 

エンドポイント名 

プロバイダエンドポイント名を指定します。省略符号ボタンをクリックして編集ウィンドウを開きます。 

キーストア設定エディタからキーストアを設定します。

RedeliveryExtension 設定

maxAttempts 

on-failure オプションを使用する前に再試行する最大回数を指定します。 

20 

waitTime 

再配信の試行間隔をミリ秒単位で指定します。 

300 

on-failure 

メッセージ交換 (ME) の再配信の試行が指定回数に達したときに実行するアクションのタイプを指定します。 

on-failure オプションは次のとおりです。

  • delete: 定義された最後の配信試行が失敗すると、QoS ユーティリティーはメッセージ交換 (ME) を中止し、JBI コンポーネントに Done 状態を返します。JBI コンポーネントは次のプロセスインスタンスに進みます。このオプションは In-Only メッセージ交換でのみサポートされます。

  • error: 定義された最後の配信試行が失敗すると、QoS ユーティリティーは JBI コンポーネントに Error 状態を返します。JBI コンポーネントは例外をスローします。これはデフォルトオプションであり、In-OnlyIn-Out の両方のメッセージ交換でサポートされます。

  • redirect: delete オプションと同様ですが、maxAttempts の回数に達すると、QoS ユーティリティーは設定されているリダイレクトエンドポイントに ME を再ルーティングします。QoS ユーティリティーがリダイレクトエンドポイントにメッセージを正常にルーティングできた場合は JBI コンポーネントに Done 状態が返され、それ以外の場合は Error 状態が返されます。このオプションは In-Only メッセージ交換でのみサポートされます。

  • suspend: 実際のプロビジョニングエンドポイントに ME を配信できない場合、QoS ユーティリティーは JBI コンポーネントに Error 状態を返します。再配信の試行が指定回数に達すると、JBI コンポーネントはプロセスインスタンスを中断します。このオプションは、JBI コンポーネントで監視が有効になっている場合のみサポートされます。これは、ユーザーが監視ツールを使用して中断されたインスタンスを再開する必要があるからです。このオプションは、In-OnlyIn-Out の両方のメッセージ交換でサポートされます。

delete 

ThrottlingExtension 設定

maximum-ConcurrencyLimit 

特定の接続上で同時に処理できるメッセージの最大数を指定します。この数を使用して、内部エンドポイントからプロバイダエンドポイントに同時に送信されるメッセージの最大数が設定されます。 

10 

メッセージ制限: 設定と使用

制限を使用することにより、特定のエンドポイントで同時に処理されるメッセージの最大数を設定できます。メッセージ負荷やメッセージペイロードが増加すると、メモリー使用量の急増をまねき、パフォーマンスを低下させる可能性があります。制限によってリソースの消費が制限され、一貫したパフォーマンスが維持されます。

HTTP バインディングコンポーネントは、Grizzly HTTP Web サーバーで提供される機能を使用してメッセージのフローを管理します。つまり、エンドポイントを評価することにより、要求を中断すべき場合や通常どおり処理を再開すべき場合を判定します。

HTTP BC および制限の詳細については、HTTP BC Throttling を参照してください。

HTTP バインディングコンポーネントのエンドポイントの制限を設定する

HTTP バインディングコンポーネントの場合、制限は CASA エディタから設定される QOS 機能です。

ProcedureHTTP/SOAP WSDL ポートの制限を設定する

  1. NetBeans IDE の「プロジェクト」ウィンドウから、複合アプリケーションの下にある「サービスアセンブリ」ノードを右クリックし、ポップアップメニューから「編集」を選択します。

    CASA エディタが開き、ユーザーの複合アプリケーションが表示されます。

    図は、本文中で説明されているとおり、CASA エディタの QOS アイコンを示しています。
  2. CASA エディタで、ユーザーの JBI モジュールと設定する WSDL ポートの間のリンク上にある QOS アイコンをクリックします。

    QoS プロパティーエディタが表示されます。

  3. QoS プロパティーエディタで、ThrottlingExtension の下の maximumConcurrencyLimit のプロパティーフィールドをクリックし、このエンドポイントで同時に許可されるメッセージの最大数を表す整数を入力します。

    図は、QoS プロパティーエディタを示しています。
  4. 「閉じる」をクリックします。

    サービスアセンブリの構築時に、プロジェクトの jbi.xml ファイル内に接続の制限設定が適切に生成されます。

再配信: 設定と使用

再配信は、初回の配信が失敗した場合のメッセージ配信を処理するサービス品質機構です。再配信を使用することにより、システムでメッセージ配信を試行する回数、試行間隔、およびメッセージが配信不能な場合やエンドポイントが応答していない場合の最終結果を定義できます。

再配信は特定の接続に対して設定されます。設定するには、複合アプリケーションサービスアセンブリ (CASA) エディタからその接続の QoS アイコンをクリックします。これにより、その接続の「QoS プロパティー設定」が開きます。エディタの RedeliveryExtension セクションから、再配信のプロパティーを設定します。

再配信の設定パラメータは次のとおりです。

注: on-failure の delete オプションと redirect オプションは、In-Out メッセージ交換には利用できません。In-Out メッセージ交換では、処理を進めるためにプロセスインスタンスから特定の応答が必要ですが、これらのオプションへの戻り値では十分ではないからです。

再配信の詳細については、Redelivery を参照してください。