Interstage Application Server アプリケーション作成ガイド (イベントサービス編) |
目次
索引
![]() ![]() |
第1章 機能 | > 1.3 基礎知識 | > 1.3.9 ノーティフィケーションサービスのプロパティ |
QoSプロパティは、メッセージ単位およびイベントチャネル単位に、より詳細な属性情報の設定を行うためのプロパティです。両方に設定された場合は、メッセージ単位に設定された値が有効になります。
メッセージ単位に設定する場合は、StructuredEvent型データの作成時に設定します。データの作成例は、“ノーティフィケーションサービスのQoS機能の運用”を参照してください。イベントチャネル単位に設定する場合は、QoSAdminインタフェースで設定します。
QoSAdminインタフェースの詳細は、“リファレンスマニュアル(API編)”の“ノーティフィケーションサービスインタフェース”を参照してください。
指定可能なQoSプロパティ項目とその設定値のデータ型と設定単位について以下に説明します。
QoSプロパティ項目 |
設定値のデータ型 |
設定可能なデータ単位 |
|
メッセージ |
チャネル(動的生成/静的生成) |
||
Priority |
CORBA short型 |
○ |
○ |
Timeout |
CORBA unsigned long long型 |
○ |
○ |
OrderPolicy |
CORBA short型 |
× |
○ |
DiscardPolicy |
CORBA short型 |
× |
○ |
ConnectionReliability |
CORBA short型 |
× |
○(静的チャネルのみ) |
EventReliability |
CORBA short型 |
× |
○(静的チャネルのみ) |
QoSプロパティ項目について説明します。
メッセージの優先度を-3〜3の範囲で1単位に指定します。数字が大きいほど優先度が高くなり、優先度の高い順に送信します。
メッセージ単位の設定で省略した場合は、チャネル単位の設定が適用されます。チャネル単位の設定がない場合は0が適用されます。
なお、当指定が有効になるのは、QoSプロパティ項目のOrderPolicyに、PriorityOrderを指定した場合です。PriorityOrderを指定しなかった場合は、優先度に関係なく最初に送信されたメッセージから配信します。
また、QoSプロパティ項目のDiscardPolicyにPriorityOrderを指定した場合には、メッセージの優先度の低い順に破棄します。
メッセージの生存時間を秒単位に、0以上の整数で設定します。ノーティフィケーションサービスのイベントチャネルに蓄積した時間から、Timeoutで指定された時間が経過するとメッセージを破棄します。生存時間を無限大にする場合は、0を設定してください。
メッセージ単位の設定を省略した場合は、チャネル単位の設定が適用されます。チャネル単位の設定も省略された場合は、蓄積されたイベントデータの生存時間(essetcnfコマンドおよびessetcnfchnlコマンドの-ltimeオプションで指定)が適用されます。
Timeoutに大きな値を設定し、かつコンシューマがメッセージを受信しない状態が続くと、ノーティフィケーションサービスのイベントチャネルにはメッセージが蓄積されたままとなるため、ノーティフィケーションサービスのイベントチャネルのプロセスが必要とするメモリサイズが大きくなります。
ノーティフィケーションサービスのイベントチャネルで、メッセージを配信する方法を設定します。
OrderPolicyには以下の値を指定できます。省略した場合は、FifoOrderが適用されます。
指定項目 |
設定値 |
意味 |
AnyOrder |
0 |
配信順序は不定となります。 |
FifoOrder |
1 |
最初に格納されたメッセージから配信します。 |
PriorityOrder |
2 |
メッセージの優先度の高い順に従って配信します。 |
ノーティフィケーションサービスのイベントチャネルに蓄積できるメッセージ最大数を超えて、メッセージが蓄積された場合の対処方法を設定します。省略した場合は、FifoOrderが適用されます。
指定項目 |
設定値 |
意味 |
AnyOrder |
0 |
破棄順序は不定となります。 |
FifoOrder |
1 |
最初に格納されたメッセージから破棄します。 |
PriorityOrder |
2 |
メッセージの優先度の低い順に従って破棄します。 |
LifoOrder |
4 |
一番新しく格納されたメッセージから破棄します。 |
RejectNewEvents(注) |
5 |
メッセージのpush要求をエラーとします。 |
注)トランザクション運用を行う場合は、RejectNewEventsが適用されます。
ノーティフィケーションサービスのイベントチャネルで、SupplierおよびConsumerの接続情報をBestEffort(揮発化)またはPersistent(不揮発化)にすることを設定します。
本項目にPersistentを指定する場合は、esmkchnlコマンドによるイベントチャネルの作成時に、“-persist con”オプションで、不揮発化運用を指定する必要があります。
本項目にBestEffortを指定する場合は、esmkchnlコマンドによるイベントチャネルの作成時に、-persistオプションを指定することはできません。
省略時は、esmkchnlコマンドでの指定が有効となります。
指定項目 |
設定値 |
意味 |
BestEffort |
0 |
接続情報は、揮発化されます。 |
Persistent |
1 |
接続情報は、不揮発化されます。 |
ノーティフィケーションサービスのイベントチャネルで、チャネルにキューイングしたイベントデータをBestEffort(揮発化)またはPersistent(不揮発化)にすることを設定します。
本項目にPersistentを指定する場合は、esmkchnlコマンドによるイベントチャネルの作成時に、“-persist all”オプションで、接続情報およびイベントデータの不揮発化を指定する必要があります。
本項目にBestEffortを指定する場合は、esmkchnlコマンドによるイベントチャネルの作成時に-persistオプションを指定することはできません。
省略時は、esmkchnl コマンドでの指定が有効となります。
指定項目 |
設定値 |
意味 |
BestEffort |
0 |
イベントデータは、揮発化されます。 |
Persistent |
1 |
イベントデータは、不揮発化されます。 |
目次
索引
![]() ![]() |