subscription (サブスクリプション)
内容
casp1032jp
内容
Subscription リソースを使用して、サブスクリプションを作成または取得します。
サブスクリプション
は、次のいずれかのアクティビティの通知を求める要求です。- モデル タイプ/属性。タイプのモデル作成/削除とそれらのタイプの属性変更のウォッチを登録します。注:ModelType サブスクリプションは新しいモデルをウォッチします。
- モデル/属性。指定されたモデルと関連する属性変更のウォッチを登録します。
- アラーム/属性。アラームの作成/削除と属性変更のウォッチを登録します。
- ベース URLhttp://<hostname><:portnumber>/spectrum/restful/subscription
POST Subscription
POST subscription はサブスクリプションを作成します。サブスクリプションは
プル
またはプッシュ
です。プル
サブスクリプションでは、クライアントはサブスクリプション ID をポーリングする必要がありますが、プッシュ
サブスクリプションでは、クライアントは通知を POST できる URL を指定する必要があります。通知には、XML または JSON 形式の変更情報が含まれます。注:
プッシュ サブスクリプションは、統合クライアントが別の OneClick サーバである場合に役立ちます。- URLhttp://<hostname><:portnumber>/spectrum/restful/subscription
- HTTP メソッドPOST
- ボディRequest.xsd:subscription-request を使用します。Request.xsd は <$SPECROOT>/RestfulExamples/src/xsd にあります。サブスクリプション XML の具体例については、以下を参照してください。
- <$SPECROOT>/RestfulExamples/xml/Alarms の場合:
- PullAlarmsSubscription.xml
- <$SPECROOT>/RestfulExamples/xml/Models の場合:
- PullAttrWatchForAllDevices.xml
- <$SPECROOT>/RestfulExamples/xml/MTypes の場合:
- PullWatchForNewMTypes.xml
- PushWatchForNewMTypes.xml
- PushWatchForNewMTypesBatchMode.xml
- PushWatchForNewMTypesNoExpiration.xml
- ボディ コンテンツapplication/xml、application
- ヘッダapplication/xml、application/json
- 出力サブスクリプション ID をリストする XML または JSON
本体のパラメータ
以下のパラメータは、サブスクリプション要求本体の XML で使用されます。
- プル サブスクリプションの場合:
- max-notifications通知項目の数を指定します。デフォルト:100
- max-queue-size待ち行列に入れる通知の数を指定します。デフォルト:10000
- pull-intervalポーリングの頻度をミリ秒単位で指定します。注:ポーリングしない場合、サブスクリプションは期限切れになります。最小値:5000
注:
通知頻度が高くなることが予想される場合は、max-queue-size
を増やして、多数の通知を待ち行列に入れることができます。同時に、待ち行列がいっぱいにならないように、max-notifications
を増やし、すべてのポーリングでより多くの通知をプルするようにします。待ち行列をより速く空にするには、pull-interval
を減らします。- プッシュ サブスクリプションの場合:
- destination-url通知が POST される URL を指定します。CA Spectrumtomcat ログに結果が出力される場合、通知テスト サーブレットが存在します。このサーブレットは、CA Spectrumと共にインストールされ、追加の設定は必要ありません。サーブレットを使用するには、destination-url を次のように設定します。http://<hostname><:portnumber>/spectrum/restful/TestNotifications通知は、受信されるたびに以下のCA Spectrumtomcat ログに出力されます。
- Windows の場合: <$SPECROOT>/tomcat/logs
- Linux の場合: <$SPECROOT>/tomcat/logs/catalina.out
- username宛先 URL に必要なユーザ名を指定します。
- password宛先 URL に必要なパスワードを指定します。
- batch-notifications
- max-notificationsバッチの通知の数を指定します。この数に達すると、通知はすぐに送信されます。デフォルト:100
- max-time通知を送信するまでに待機する時間(ミリ秒)を指定します。この数に達すると、通知はすぐに送信されます。デフォルト:1000
- heartbeat-intervalサブスクリプションの検証間隔(ミリ秒)を指定します。サブスクリプション サーブレットは hearbeat-interval ごとにメッセージを受信側サーブレット(destination-url で指定)に送信し、サブスクリプションがアクティブであることを示します。受信側サーブレットがハートビート メッセージの受信を停止した場合、サブスクリプションの停止が認識されています(OneClick サーバが停止または再起動した場合など)。受信側サーブレットが使用不可になると、通知は停止します。注:TestNotifications サーブレットでは、ハートビート メッセージは出力されません。
例
以下は、サブスクリプション登録スニペットの例です。
<rs:destination-url>http://<hostname><:portnumber>/spectrum/restful/TestNotifications</rs:destination-url> <rs:username><user></rs:username> <rs:password><password></rs:password>
以下は、Java 呼び出しの例です。
Java GenericPoster noun=Models file= RestfulExamples/xml/Models/PullAttrWatchForAllDevices.xml server=localhost username=jdoe password=spectrum port=8080
GET Subscription
GET subscription を使用して、初期サブスクリプション要求に基づいて、対象の変更をすべて記述する XML を返します。
注:
GET subscription はプル モデルのみに適用されます。- URLhttp://<hostnumber><:portnumber>/spectrum/restful/subscription/<subscription_ID>
- HTTP メソッドGET
- ボディなし
- ボディ コンテンツapplication/xml、application
- ヘッダapplication/xml、application/json
URL パラメータ
- subscription_IDサブスクリプション ID を指定します。この値は、元のサブスクリプション要求(POST subscription )または GET subscription/requests から返されます。最後の要求以降の変更セットを取得するために使用されます。
GET subscription/requests
GET subscription/requests を使用して、現在のアクティブなサブスクリプションの文字列を返します。この要求は主に、通知に対して特定のモデル、タイプまたは属性が登録されているかどうかを確認するために検証またはデバッグ目的で使用されます。
注:
実際のモデル、モデル タイプ、および属性の変更をプルする場合は、「GET subscription 」を参照してください。- URLhttp://<hostname><:portnumber>/spectrum/restful/subscription/requests
- HTTP メソッドGET
- ボディなし
- ボディ コンテンツapplication/xml、application
- ヘッダapplication/xml、application/json
- 出力現在のアクティブなサブスクリプションごとに subscription-id と他のサブスクリプションに関連する情報をリストする HTML ページ
DELETE subscription
DELETE subscription は指定されたサブスクリプションを削除します。
- URLhttp://<hostname><:portnumber>/spectrum/restful/subscription/<subscription_ID>
- HTTP メソッドDELETE
- ボディなし
- ボディ コンテンツapplication/xml、application
- ヘッダapplication/xml、application/json
URL パラメータ
- subscription_ID削除するサブスクリプションを指定します。この値は、元のサブスクリプション要求(POST subscription )または GET subscription/requests から返されます。