WebOTX Manual V10.2 (第4版) 目次を表示 |
JMSに関する運用操作法について説明します。なお、各属性の詳細については [ JMSサービスの操作> 属性参照・設定 ] 、および [ リファレンス> MBean定義 ] を参照してください。
JMSサービスで管理しているJMSサーバの起動と停止、および、項目の参照と設定の手順について説明します。
otxadmin> invoke server.jms-service.start |
otxadmin> start-jms |
otxadmin> invoke server.jms-service.stop |
otxadmin> stop-jms |
JMSサービスの属性の詳細については、MO定義リファレンスの「 jms-service」を参照してください。
統合運用管理ツールでの属性名 | 運用管理コマンドでの属性名 (attribute-name) |
---|---|
システム内メッセージ最大数 | systemMaxCount |
システム内メッセージ最大合計サイズ | systemMaxSize |
最大メッセージサイズ | messageMaxSize |
ログレベル | loglevel |
ログロールオーバーサイズ | logfileRolloverBytes |
ログロールオーバー間隔 | logfileRolloverSecs |
自動トピック作成の許可 | autocreateTopic |
自動キュー作成の許可 | autocreateQueue |
自動生成キューに対するアクティブコンシューマの最大数 | autocreateMaxNumActiveConsumers |
自動生成キューに対するバックアップコンシューマの最大数 | autocreateMaxNumBackupConsumers |
JMSクライアントメモリ情報採取 | enableClientMetrics |
メッセージ一覧表示最大件数 | displayMessageCount |
パケット (メッセージ) 情報採取 | logPacketMessage |
パケット (PING) 情報採取 | logPacketPing |
パケット (運用管理) 情報採取 | logPacketAdmin |
パケット (クラスタ) 情報採取 | logPacketCluster |
パケットログロールオーバーサイズ | logfileRolloverBytesPacket |
パケットログロールオーバー間隔 | logfileRolloverSecsPacket |
運用管理操作履歴採取 | logAdmin |
運用管理操作履歴ファイルロールオーバーサイズ | logfileRolloverBytesAdmin |
運用管理操作履歴ファイルロールオーバー間隔 | logfileRolloverSecsAdmin |
メッセージライフサイクル情報採取 | logMessage |
メッセージログロールオーバーサイズ | logfileRolloverBytesMessage |
メッセージログロールオーバー間隔 | logfileRolloverSecsMessage |
エラー情報採取 | logError |
エラーログロールオーバーサイズ | logfileRolloverBytesError |
エラーログロールオーバー間隔 | logfileRolloverSecsError |
instance-name=jms1 |
JMSサーバクラスタを構成しているときに、クラスタ内の各JMSサーバの状態を確認する場合に利用します。表示する情報は次のとおりです。
この説明での「ローカルのJMSサーバ」とは、操作を実行したドメイン上のJMSサーバをさします。
表示名 | 説明 |
---|---|
Broker ID | JMSサーバインスタンス識別子。ローカルのJMSサーバのもののみ表示します。 |
Address | JMSサーバのアドレス。<ホスト名>:<ポート番号>の形式で表示します。 |
State | JMSサーバの状態。
OPERATING : ローカルのJMSサーバの場合は、起動状態であることを示します。リモートのJMSサーバの場合は、通信が確立できていることを示します。 BROKER_DOWN : リモートのJMSサーバが停止しているか、通信が確立できていない状態を示します。 |
otxadmin> list-jms-services |
結果表示例) --------------------------------------------- Broker ID Address State --------------------------------------------- BROKER1 SVR1:9900 OPERATING BROKER2 SVR2:9700 OPERATING Command list-jms-services executed successfully.
JMSサーバに接続しているJMSクライアントのコネクションを確認する場合に利用します。表示する情報は次のとおりです。
表示名 | 説明 |
---|---|
Connection ID | コネクションID |
Client ID | クライアントID |
User | ユーザ名 |
Service | コネクションサービス名。コネクションサービスには次のものがあります。
jms:JMSのコネクションサービス ssljms:JMSのSSLコネクションサービス admin:管理用のコネクションサービス ssladmin:管理用のSSLコネクションサービス |
Producers | プロデューサ数 |
Consumers | コンシューマ数 |
Host | ホスト名 (IPアドレス) |
Port | ポート番号 |
Max Memory | 最大メモリサイズ。「JMSクライアントメモリ情報採取 (enableClientMetrics) 」をtrueにしている場合、通常ユーザのコネクションに対する情報を表示します。 |
Current Memory | 現在のメモリサイズ。「JMSクライアントメモリ情報採取 (enableClientMetrics) 」をtrueにしている場合、通常ユーザのコネクションに対する情報を表示します。 |
Peak Memory | ピーク時のメモリサイズ。「JMSクライアントメモリ情報採取 (enableClientMetrics) 」をtrueにしている場合、通常ユーザのコネクションに対する情報を表示します。 |
otxadmin> list-jms-connections [ --wojmsListType <表示対象タイプ> ] [ --wojmsDestinationName <送信先名> ] |
otxadmin> list-jms-connections --wojmsListType CONSUMERS --wojmsDestinationName MyQueue |
結果表示例) ---------------------------------------------------------------------------------------------------------------------- Connection ID Client ID User Service Producers Consumers Host Port Max Memory Current Memory Peak Memory ---------------------------------------------------------------------------------------------------------------------- 7738908095054457858 JMS_C00010 guest jms 0 1 127.0.0.1 2957 0 0 0 7738908095054509825 JMS_C00020 guest jms 0 1 127.0.0.1 2977 0 0 0 7738908095054473986 JMS_C00013 guest jms 0 1 127.0.0.1 2963 0 0 0 コマンド list-jms-connections は正常に実行されました。
JMSサーバから、JMSクライアントのコネクションを強制的にクローズする場合に利用します。
otxadmin> close-jms-connection [ --wojmsCloseType <クローズ対象タイプ> ] [ --wojmsDestinationName <送信先名> ] [ --wojmsConnectionID <コネクションID> ] |
otxadmin> close-jms-connection --wojmsCloseType CONSUMERS --wojmsDestinationName MyQueue |
otxadmin> close-jms-connection --wojmsConnectionID 102030494848 |
JMSサーバクラスタを構成しているときに、別のドメインからの伝播により作成した送信先のMOを表示するときに利用します。
otxadmin> invoke server.jms-service.updateJmsDestinations |
otxadmin> list-jmsdest |
otxadmin> invoke server.jms-service.dumpThreads |
物理的な送信先の作成と削除、および、項目の参照と設定の手順について説明します。
otxadmin> create-jmsdest --desttype <送信先タイプ> [ オプション ] |
otxadmin> create-jmsdest --desttype topic --cascade MyTopic |
otxadmin> list-jmsdest [ --desttype <送信先タイプ> ] |
otxadmin> list-jmsdest --desttype topic |
otxadmin> delete-jmsdest<送信先名> |
otxadmin> delete-jmsdest --cascade MyTopic |
物理的な送信先の属性の詳細については、MO定義リファレンスの「 jms-physical-destination」を参照してください。
送信先の動作状況や、その送信先に接続しているプロデューサやコンシューマの情報を確認する場合に利用します。表示する情報は次のとおりです。
表示名 | 説明 |
---|---|
Current State | 送信先の状態。次の状態が存在します。
RUNNING : 動作中 CONSUMERS_PAUSED : コンシューマが停止している状態 PRODUCERS_PAUSED : プロデューサが停止している状態 PAUSED : コンシューマ、プロデューサともに停止している状態 |
Current Number of Messages | 滞留メッセージ数 |
Current Total Message Bytes | 滞留メッセージバイト数 |
Current Number of Producers | プロデューサ数 |
Current Number of Active Consumers | コンシューマ数 |
Current Number of Backup Consumers | バックアップコンシューマ数 (キューの場合のみ) |
表示名 | 説明 |
---|---|
Producer ID | プロデューサID |
Connection ID | コネクションID |
Client ID | クライアントID |
表示名 | 説明 |
---|---|
Consumer ID | プロデューサID |
Connection ID | コネクションID |
Client ID | クライアントID |
Last Ack Time | コンシューマが最後に確認応答 (ACKNOWLEDGE) を返した時刻 |
Selector | セレクタ |
otxadmin> get-jmsdest-info<送信先名> |
otxadmin> get-jmsdest-info MyTopic |
結果表示例) Current State RUNNING Current Number of Messages 8 Current Total Message Bytes 1192 Current Number of Producers 2 Current Number of Active Consumers 1 Current Number of Backup Consumers 0 Producers: -------------------------------------------------- Producer ID Connection ID Client ID -------------------------------------------------- 7458277433419032321 7458277433419020544 7458277433396530432 7458277433396232704 Consumers: ---------------------------------------------------------------------------------------------- Consumer ID Connection ID Client ID Last Ack Time Selector ---------------------------------------------------------------------------------------------- 7458277433426870528 7458277433426854656 2009/03/04 11:46:12.590 TestProperty IS NULL コマンド get-jmsdest-info は正常に実行されました。
なお、現時点の送信先の停止状態は、「 情報取得」で確認することができます。
otxadmin> invoke server.jms-service.jms-physical-destination.<送信先名>.pause <停止タイプ> |
停止タイプ | 説明 |
---|---|
1 | コンシューマを停止 (CONSUMERS_PAUSED) |
2 | プロデューサを停止 (PRODUCERS_PAUSED) |
3 | コンシューマ、プロデューサともに停止 (PAUSED) |
otxadmin> invoke server.jms-service.jms-physical-destination.MyTopic.pause 2 |
otxadmin> invoke server.jms-service.jms-physical-destination.<送信先名>.resume |
otxadmin> invoke server.jms-service.jms-physical-destination.MyTopic.resume |
送信先に滞留している一つ一つのメッセージ情報を確認する場合に利用します。表示する情報は次のとおりです。
表示名 | 説明 |
---|---|
Timestamp | タイムスタンプ。JMSTimestamp ヘッダフィールドの値です。long 値を「yyyy/MM/dd HH:mm:ss.SSS」形式に変換して表示します。 |
Type | メッセージタイプ。次のタイプが存在します。
TEXT_MESSAGE : javax.jms.TextMessage のメッセージ BYTES_MESSAGE : javax.jms.BytesMessage のメッセージ MAP_MESSAGE : javax.jms.MapMessage のメッセージ STREAM_MESSAGE : javax.jms.StreamMessage のメッセージ OBJECT_MESSAGE : javax.jms.ObjectMessage のメッセージ MESSAGE : javax.jms.Message のメッセージ |
MessageID | メッセージID。JMSMessageID ヘッダフィールドの値です。 |
CorrelationID | 相関ID。JMSCorrelationID ヘッダフィールドの値です。 |
DeliveryMode | 配信モード。JMSDeliveryMode ヘッダフィールドの値です。 |
Expiration | 有効期限。JMSExpiration ヘッダフィールドの値です。 |
State | JMSサーバに存在するメッセージの状態。送信先がキューの場合のみ表示します。次の状態が存在します。
INITIAL : 配信対象のコンシューマが決定していない状態 ROUTED : 配信対象のコンシューマが決定した状態 DELIVERED : コンシューマにメッセージを配信した状態 CONSUMED : コンシューマでメッセージを受信した状態 ACKED : コンシューマからの応答確認 (ACKNOWLEDGE) が返ってきた状態 |
DeliveryCount | 配信回数。JMSXDeliveryCount プロパティの値です。送信先がキューの場合のみ表示します。 |
Priority | 優先順位。JMSPriority ヘッダフィールドの値です。もっとも低い順位が 0 で、もっとも高い順位が 9 です。 |
MessageProperty | メッセージプロパティ |
MessageBody | メッセージボディ。指定された場合のみ表示します。表示内容はメッセージタイプに応じて次のようになっています。
TEXT_MESSAGE : javax.jms.TextMessage のメッセージ BYTES_MESSAGE、MAP_MESSAGE、STREAM_MESSAGE : メッセージボディのサイズのみ表示 OBJECT_MESSAGE : javax.jms.ObjectMessage のメッセージ MESSAGE : (表示なし) |
otxadmin> list-jmsdest-messages [ --fromIndex <表示開始点> ] [ --toIndex <表示終了点> ] [ --selector <メッセージセレクタ> ] [ --messageBody=(true|false) ] <送信先名> |
otxadmin> list-jmsdest-messages --selector "NewsType = 'Sports' OR NewsType = 'Business'" MyQueue |
otxadmin> invoke server.jms-service.jms-physical-destination.<送信先名>.purgeMessage <メッセージID> |
otxadmin> invoke server.jms-service.jms-physical-destination.MyQueue.purgeMessage 6-172.16.254.239(fd:af:ca:bc:90:f6)-2380-1148467078081 |
otxadmin> invoke server.jms-service.jms-physical-destination.<送信先名>.purge |
otxadmin> invoke server.jms-service.jms-physical-destination.MyQueue.purge |
otxadmin> list-jmsdest-dur <トピック名> |
otxadmin> list-jmsdest-dur MyTopic |
結果表示例) ------------------------------------------------------------------- Durable Sub. Name Client ID Number of Messages Durable Sub. State ------------------------------------------------------------------- subscription client1 92 false subscription client2 0 true Command list-jmsdest-dur executed successfully.表示する情報は、左から順に、永続サブスクリプション名、クライアントID、メッセージ数、状態 (true:アクティブ/false:非アクティブ) です。
otxadmin> invoke server.jms-service.jms-physical-destination.<送信先名>.purgeDur <永続サブスクリプション名> <クライアントID> |
otxadmin> invoke server.jms-service.jms-physical-destination.MyTopic.purgeDur subscription client2 |
otxadmin> invoke server.jms-service.jms-physical-destination.<送信先名>.deleteDur <永続サブスクリプション名> <クライアントID> |
otxadmin> invoke server.jms-service.jms-physical-destination.MyTopic.deleteDur subscription client2 |
環境構築時の確認や、コンシューマアプリケーションの受信動作確認など、簡単なメッセージ送信に利用できます。1回のメッセージ送信操作で送信できるメッセージは、1件です。
送信メッセージに設定できる項目と既定値は、次のとおりです。設定項目の () 内の記述は、対応するヘッダフィールド名を示します。
設定項目 | 説明 | 既定値 |
---|---|---|
メッセージタイプ | 送信するメッセージのタイプ
次のタイプが送信可能。 TextMessage : メッセージボディにStringを含むもの Message : メッセージボディのない軽量なメッセージ BytesMessage : メッセージボディにバイト配列を含むもの |
TextMessage |
メッセージボディの指定方法 | メッセージボディの指定方法
text : メッセージボディに指定された文字列をボディそのものとして設定 file : メッセージボディに指定された文字列をファイル名として、指定されたファイルの内容をメッセージボディに設定 |
text |
メッセージボディ | メッセージボディ
TextMessageの場合 : メッセージボディタイプのtext、fileをサポート。file を指定した場合、文字コードはプラットフォームのデフォルトエンコーディングなる Messageの場合 : メッセージボディなし。指定されていても無視 BytesMessageの場合 : メッセージボディタイプはfileのみ有効。指定されたファイルの内容をバイト配列に変換して設定 |
- |
配信モード (JMSDeliveryMode) | メッセージを永続化するかどうか
PERSISTENT : 永続化する NON_PERSISTENT : 永続化しない |
PERSISTENT |
有効期限 (JMSExpiration) | メッセージの有効期限 (ミリ秒)
|
0 (有効期限なし) |
優先順位 (JMSPriority) | メッセージの優先順位 (0-9)
|
4 |
相関ID (JMSCorrelationID) | メッセージを対応付けるための文字列
指定可能な値は、Stringのみ。 |
- |
応答用送信先 (JMSReplyTo) | メッセージを受信したコンシューマが返信する送信先
|
- |
応答用送信先のタイプ | 応答用送信先のタイプ
queue : キュー topic : トピック |
queue |
タイプ (JMSType) | 任意の文字列
|
- |
配信遅延時間 | 配信遅延時間
WebOTX JMQ固有の拡張機能で、相対時間 (秒) での指定のみ可能。 |
0 (遅延時間なし) |
メッセージプロパティ | メッセージプロパティ
設定可能なプロパティ値は、Stringのみ。 |
- |
otxadmin> send-jms-message [ --msgtype <メッセージタイプ> ] [ --msgbodytype <メッセージボディの指定方法> ] [ --msgbody <メッセージボディ> ] [ --msgpersistent <配信モード> ] [ --msgexpiration <有効期限> ] [ --msgpriority <優先順位> ] [ --msgcorrelationid <相関ID> ] [ --msgreplyto <応答用送信先> ] [ --msgreplytotype <応答用送信先タイプ> ] [ --msgjmstype <タイプ> ] [ --msgdelaytime <配信遅延時間> ] [ --property <メッセージプロパティ> ] <送信先名> |
JMSサービスに関する統計情報の採取、および、取得方法について説明します。統計情報の取得に関する詳細は、 [ 構築・運用> モニタリング ] を参照してください。
otxadmin> set server.monitoring-service.module-monitoring-levels.jms-service=ON |
otxadmin> get --monitor=true server.jms-service.jms-physical-destination.MyTopic.* |