Interstage Application Server アプリケーション作成ガイド (イベントサービス編)
目次 索引 前ページ次ページ

第1章 機能> 1.3 基礎知識> 1.3.9 ノーティフィケーションサービスのプロパティ

1.3.9.1 QoSプロパティ

 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プロパティ項目について説明します。

(1) Priority

 メッセージの優先度を-3〜3の範囲で1単位に指定します。数字が大きいほど優先度が高くなり、優先度の高い順に送信します。
 メッセージ単位の設定で省略した場合は、チャネル単位の設定が適用されます。チャネル単位の設定がない場合は0が適用されます。
 なお、当指定が有効になるのは、QoSプロパティ項目のOrderPolicyに、PriorityOrderを指定した場合です。PriorityOrderを指定しなかった場合は、優先度に関係なく最初に送信されたメッセージから配信します。
 また、QoSプロパティ項目のDiscardPolicyにPriorityOrderを指定した場合には、メッセージの優先度の低い順に破棄します。

(2) Timeout

 メッセージの生存時間を秒単位に、0以上の整数で設定します。ノーティフィケーションサービスのイベントチャネルに蓄積した時間から、Timeoutで指定された時間が経過するとメッセージを破棄します。生存時間を無限大にする場合は、0を設定してください。
 メッセージ単位の設定を省略した場合は、チャネル単位の設定が適用されます。チャネル単位の設定も省略された場合は、蓄積されたイベントデータの生存時間(essetcnfコマンドおよびessetcnfchnlコマンドの-ltimeオプションで指定)が適用されます。
 Timeoutに大きな値を設定し、かつコンシューマがメッセージを受信しない状態が続くと、ノーティフィケーションサービスのイベントチャネルにはメッセージが蓄積されたままとなるため、ノーティフィケーションサービスのイベントチャネルのプロセスが必要とするメモリサイズが大きくなります。

(3) OrderPolicy

 ノーティフィケーションサービスのイベントチャネルで、メッセージを配信する方法を設定します。
 OrderPolicyには以下の値を指定できます。省略した場合は、FifoOrderが適用されます。

指定項目

設定値

意味

AnyOrder

0

配信順序は不定となります。

FifoOrder

1

最初に格納されたメッセージから配信します。

PriorityOrder

2

メッセージの優先度の高い順に従って配信します。

(4) DiscardPolicy

 ノーティフィケーションサービスのイベントチャネルに蓄積できるメッセージ最大数を超えて、メッセージが蓄積された場合の対処方法を設定します。省略した場合は、FifoOrderが適用されます。

指定項目

設定値

意味

AnyOrder

0

破棄順序は不定となります。

FifoOrder

1

最初に格納されたメッセージから破棄します。

PriorityOrder

2

メッセージの優先度の低い順に従って破棄します。

LifoOrder

4

一番新しく格納されたメッセージから破棄します。

RejectNewEvents(注)

5

メッセージのpush要求をエラーとします。
pushメソッドの要求元にはIMP_LIMITシステム例外を返します。

注)トランザクション運用を行う場合は、RejectNewEventsが適用されます。

(5) ConnectionReliability

 ノーティフィケーションサービスのイベントチャネルで、SupplierおよびConsumerの接続情報をBestEffort(揮発化)またはPersistent(不揮発化)にすることを設定します。
 本項目にPersistentを指定する場合は、esmkchnlコマンドによるイベントチャネルの作成時に、“-persist con”オプションで、不揮発化運用を指定する必要があります。
 本項目にBestEffortを指定する場合は、esmkchnlコマンドによるイベントチャネルの作成時に、-persistオプションを指定することはできません。
 省略時は、esmkchnlコマンドでの指定が有効となります。

指定項目

設定値

意味

BestEffort

0

接続情報は、揮発化されます。

Persistent

1

接続情報は、不揮発化されます。
チャネル内の接続情報が永続化されるため、チャネルの再起動時に自動的に接続情報が復旧されます。ただし、イベントデータを復旧することはできません。

(6) EventReliability

 ノーティフィケーションサービスのイベントチャネルで、チャネルにキューイングしたイベントデータをBestEffort(揮発化)またはPersistent(不揮発化)にすることを設定します。
 本項目にPersistentを指定する場合は、esmkchnlコマンドによるイベントチャネルの作成時に、“-persist all”オプションで、接続情報およびイベントデータの不揮発化を指定する必要があります。
 本項目にBestEffortを指定する場合は、esmkchnlコマンドによるイベントチャネルの作成時に-persistオプションを指定することはできません。
 省略時は、esmkchnl コマンドでの指定が有効となります。

指定項目

設定値

意味

BestEffort

0

イベントデータは、揮発化されます。

Persistent

1

イベントデータは、不揮発化されます。
チャネル内の接続情報およびイベントデータが永続化されるため、チャネルの再起動時に自動的に接続情報、イベントデータが復旧されます。したがって、SupplierがPushしたイベントデータは、確実にConsumerに送信されます。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005