WebOTX Manual V10.2 (第4版) 目次を表示 |
JMSに関する設定について説明します。
JMSサーバは独立したプロセスで実装しており、WebOTXのアプリケーションサーバ本体には、リソースアダプタにより接続連携しています。
JMSサーバや、JMSリソース、および、送信先の基本的な管理は、運用管理コマンド (otxadmin)、あるいは、統合運用管理ツールで行います。さらに詳細な管理を行うためには、JMSサーバが提供している専用の運用管理ツールを利用します。
運用管理コマンド、あるいは、統合運用管理ツールからの各項目の設定方法については、「 各サービスの属性」を参照してください。また、JMSサーバが提供している専用の各運用管理ツールについては、「 コマンド > JMS」を参照してください。
JMSサーバの運用に関するプロパティは、JMSサービス (jms-service) と、JMSホスト (jms-host) のMOから設定できます。
運用管理コマンドや、統合運用管理ツールでは、それぞれ以下のように指定します。
JMSサーバは、1〜4のプロパティを取り込みます。優先順位は、後ろのものほど高くなっています。
プロパティのデフォルト値が定義されたファイルで、次の位置にあります。
${AS_INSTALL}/jmq/lib/props/broker/default.properties
インストール時に指定されたプロパティが格納されるファイルで、次の位置にあります。
${AS_INSTALL}/jmq/lib/props/broker/install.properties
ドメイン固有のJMSサーバに対するプロパティ設定を記述するファイルで、次の位置にあります。ファイルはドメイン生成時に作成されます。
${INSTANCE_ROOT}/jmq/instances/<JMSサーバインスタンス識別子>/props/config.properties
起動引数で指定したプロパティは、すべてのプロパティ設定ファイルに対して優先されます。
コネクションファクトリリソースは、Java EEアプリケーションからJNDIを通して利用します。項目の設定や、参照を行う場合、運用管理コマンドや、統合運用管理ツールでは、それぞれ以下のように指定します。
「
connection-factory-name」は、コネクションファクトリリソースの定義名で、JNDIの登録名になります。
物理的な送信先の設定や、項目の参照を行う場合、運用管理コマンドや、統合運用管理ツールでは、それぞれ以下のように指定します。「 physical-destination-name」は、送信先の定義名です。
送信先リソースは、Java EEアプリケーションからJNDIを通して利用します。項目の設定や、参照を行う場合、運用管理コマンドや、統合運用管理ツールでは、それぞれ以下のように指定します。
「
logical-destination-name」は、送信先リソースの定義名で、JNDIの登録名になります。
運用管理コマンド、統合運用管理ツールで制御できるMOの属性と、そのベースとなるJMSのプロパティ/属性一覧を示します。
JMSに関連するMOのうち、属性を設定できるものは、以下の5種類です。以降、各MOについて設定できる属性を説明します。
連携するJMSサーバに関する情報を定義します。
この定義は、運用管理コマンドのcreate-domainによるドメイン生成時に自動的に設定されます。
MOのdottednameは「server.jms-service」です。設定可能な属性や、操作については、「
MBean定義 >
jms-service」を参照してください。
なお、jms-serviceの「プロパティ」として設定できるのは、以下の項目です。
プロパティ名
|
説 明 | 既定値 |
---|---|---|
auto-shutdown | ドメイン停止時にJMSサーバを停止するかどうかを指定します。
true:停止する false:停止しない |
true |
instance-name | JMSサーバインスタンス識別子を指定します。
※ 同一ホストでJMSサーバクラスタを構成する場合は、この値をホスト内で一意にしておく必要があります。 |
jmqbroker |
wojmsConnectionPooling | JMSリソースアダプタ利用時に、コネクタコネクションプールにJMSサーバとの物理的なコネクションをプールするかどうかを指定します。
true:プールする false:プールしない ※ この設定は、アプリケーションサーバ上で動作するJMSコネクションファクトリリソースが利用するすべてのコネクタコネクションプールに影響します。 |
true |
JMSサーバの起動、JMSサーバへの接続に必要な情報を定義します。
この定義は、create-domainコマンドによるドメイン生成時に自動的に設定されます。ポート番号については、create-domainコマンドの--fileオプションで指定するプロパティファイル (ドメイン設定ファイル) に、domain.jms.portとして指定することができます。
MOのdottednameは「server.jms-service.jms-host.default_JMS_host」です。設定可能な属性や、操作については、「
MBean定義 >
jms-host」を参照してください。
JNDIを通してアクセスするコネクションファクトリリソースを定義します。
この定義は、運用管理コマンドのcreate-jms-resource、統合運用管理ツールでは、「WebOTX管理ドメイン [ <ホスト名> ] .<ドメイン名>.リソース.JMSリソース」の「コネクションファクトリリソースの作成」操作で作成されます。コネクションファクトリリソースの作成方法については、「
構築・運用 >
JMS >
JMSリソース」を参照してください。
コネクションファクトリリソース (jms-connection-factory) 作成時には、コネクタリソース (connector-resource)、コネクタコネクションプール (connector-connection-pool)、および、リソース参照 (resource-ref) を自動的に作成し、属性値を設定します。 属性値を変更する場合は、コネクションファクトリリソースのMOを介して行います。 各MOのdottednameは以下のとおりです。
設定可能な属性や、操作については、「 MBean定義」を参照してください。
物理的な送信先を定義します。
この定義は、運用管理コマンドのcreate-jmsdest、統合運用管理ツールでは、「WebOTX管理ドメイン [ <ホスト名> ] .<ドメイン名>.アプリケーションサーバ.JMSサービス」の「送信先作成」操作で作成されます。送信先の作成方法については、「
構築・運用 >
JMS >
送信先の操作」を参照してください。
MOのdottednameは「server.jms-service.jms-physical-destination.destination-name」です。設定可能な属性や、操作については、「
MBean定義 >
jms-physical-destination」を参照してください。
JNDIを通してアクセスする送信先リソースを定義します。
この定義は、運用管理コマンドのcreate-jmsresource、統合運用管理ツールでは、「WebOTX管理ドメイン [ <ホスト名> ] .<ドメイン名>.リソース.JMSリソース」の操作である「送信先リソースの作成」で作成されます。送信先リソースの作成方法については、「
構築・運用 >
JMS >
送信先の操作」を参照してください。
送信先リソース (jms-logical-destination) 作成時には、管理オブジェクトリソース (admin-object-resource) と、リソース参照 (resource-ref) を自動的に作成し、属性値を設定します。
属性値を変更する場合は、送信先リソースのMOを介して行います。
各MOのdottednameは以下のとおりです。
設定可能な属性や、操作については、「 MBean定義」を参照してください。
ここでは、以下のプロパティや属性について説明します。
「config.properties」ファイルに設定するプロパティの一覧を示します。このファイルには、JMSサービス (jms-service) や、JMSホスト (jms-host) のMOから設定できない詳細な項目を指定します。「config.properties」ファイルの変更は、JMSサーバを停止した状態で行ってください。
ファイルの格納場所、設定方法については、「
JMS設定項目・設定方法」を参照してください。
ただし、以下のプロパティについては、JMSサービス、あるいは、JMSホストのMOの属性値が優先されます。これらの値を設定する場合は各MOの属性値を設定してください。
MOの属性が優先されるプロパティJMSサーバのプロパティ名
|
対応するMOの属性 |
---|---|
wojms.system.max_count | server.jms-service.systemMaxCount |
wojms.system.max_size | server.jms-service.systemMaxSize |
wojms.message.max_size | server.jms-service.messageMaxSize |
wojms.log.level | server.jms-service.loglevel |
wojms.log.file.rolloverbytes | server.jms-service.logfileRolloverBytes |
wojms.log.file.rolloversecs | server.jms-service.logfileRolloverSecs |
wojms.autocreate.topic | server.jms-service.autocreateTopic |
wojms.autocreate.queue | server.jms-service.autocreateQueue |
wojms.autocreate.queue.maxNumActiveConsumers | server.jms-service.autocreateMaxNumActiveConsumers |
wojms.autocreate.queue.maxNumBackupConsumers | server.jms-service.autocreateMaxNumBackupConsumers |
wojms.redelivery.delay | server.jms-service.wojmsRedeliveryDelay |
wojms.redelivery.limit | server.jms-service.wojmsRedeliveryLimit |
wojms.redelivery.destination | server.jms-service.wojmsRedeliveryDestination |
wojms.expiration.destination | server.jms-service.wojmsExpirationDestination |
wojms.client_metrics.enabled | server.jms-service.enableClientMetrics |
wojms.display.message.count | server.jms-service.displayMessageCount |
wojms.log.file.filename | server.jms-service.logfileName |
wojms.log.admin.output | server.jms-service.logAdmin |
wojms.log.admin.rolloverbytes | server.jms-service.logfileRolloverBytesAdmin |
wojms.log.admin.rolloversecs | server.jms-service.logfileRolloverSecsAdmin |
wojms.log.admin.filename | server.jms-service.logfileNameAdmin |
wojms.log.error.output | server.jms-service.logError |
wojms.log.error.rolloverbytes | server.jms-service.logfileRolloverBytesError |
wojms.log.error.rolloversecs | server.jms-service.logfileRolloverSecsError |
wojms.log.error.filename | server.jms-service.logfileNameError |
wojms.log.message.output | server.jms-service.logMessage |
wojms.log.message.rolloverbytes | server.jms-service.logfileRolloverBytesMessage |
wojms.log.message.rolloversecs | server.jms-service.logfileRolloverSecsMessage |
wojms.log.message.filename | server.jms-service.logfileNameMessage |
wojms.log.packet.output | server.jms-service.logPacketAdmin
server.jms-service.logPacketMessage server.jms-service.logPacketPing server.jms-service.logPacketCluster |
wojms.log.packet.rolloverbytes | server.jms-service.logfileRolloverBytesPacket |
wojms.log.packet.rolloversecs | server.jms-service.logfileRolloverSecsPacket |
wojms.log.packet.filename | server.jms-service.logfileNamePacket |
wojms.enable_cluster | server.jms-service.enableCluster |
wojms.cluster.brokerlist | server.jms-service.clusterBrokerList |
wojms.cluster.masterbroker | server.jms-service.clusterMasterBroker |
wojms.persist.store | server.jms-service.storeType |
wojms.persist.jdbc.brokerid | server.jms-service.jdbcStoreBrokerid
(server.jms-service.storeTypeでJDBCストアを指定している場合のみ) |
wojms.persist.jdbc.user | server.jms-service.jdbcStoreUser
(server.jms-service.storeTypeでJDBCストアを指定している場合のみ) |
wojms.persist.jdbc.password | server.jms-service.jdbcStorePassword
(server.jms-service.storeTypeでJDBCストアを指定している場合のみ) |
wojms.jms.tcp.port | server.jms-service.connectionServicePortJms |
wojms.admin.tcp.port | server.jms-service.connectionServicePortAdmin |
wojms.ssljms.tls.port | server.jms-service.connectionServicePortSsljms |
wojms.ssladmin.tls.port | server.jms-service.connectionServicePortSsladmin |
wojms.cluster.port | server.jms-service.clusterPort |
wojms.cluster.hostname | server.jms-service.clusterHostname |
wojms.keystore.password | server.jms-service.keystorePassword |
プロパティ名
|
説 明 | 既定値 |
---|---|---|
wojms.portmapper.port | JMSサーバのポート番号を指定します。同一ホストで複数のJMSサーバのインスタンスを実行する場合、それぞれ固有のポート番号を割り当てる必要があります。 | 9700 |
wojms.portmapper.backlog | 要求を拒否せずに、同時に処理可能な要求の最大数を指定します。 | 50 |
wojms.producer.maxBatch | プロデューサが一度に送信できるメッセージの最大数を指定します。 | 1000 |
wojms.message.expiration.interval | 有効期限が切れたメッセージを廃棄する間隔を秒単位で指定します。 | 60 |
wojms.system.max_count | JMSサーバが保持するメッセージの最大数を指定します。この値を超えるメッセージは拒否されます。-1は無制限です。 | -1 |
wojms.system.max_size | JMSサーバが保持するメッセージの最大のサイズ (バイト、K バイト、または M バイト単位) を指定します。この値を超えるメッセージは拒否されます。
128,128bは128バイトを、128kは128Kバイト (128×1024=131072バイト)、128mは128Mバイト (128×1024×1024=134217728バイト) を表します。-1は無制限です。 |
-1 |
wojms.message.max_size | メッセージの本体の最大許容サイズ (バイト、K バイト、または Mバイト単位) を指定します。このサイズを超えるメッセージは拒否されます。
128,128bは128バイトを、128kは128Kバイト (128×1024=131072バイト)、128mは128Mバイト (128×1024×1024=134217728バイト) を表します。-1は無制限です。 |
70m |
wojms.display.message.count | メッセージ一覧の表示で、出力するメッセージの最大数を指定します。 | 1000 |
wojms.redelivery.delay | メッセージ再配信の遅延時間を秒単位で指定します。0は、待ち合わせ無しです。 | 0 |
wojms.redelivery.limit | メッセージ再配信回数の上限を指定します。-1は無制限、0は再配信無しです。再配信回数の上限を超過したメッセージは破棄されます。 | -1 |
wojms.redelivery.destination | 再配信回数を超過したメッセージを破棄せずに転送する送信先名を指定します。ここに指定する送信先は、あらかじめ作成しておく必要があります (自動的に作成されません)。指定した送信先が存在しない場合、メッセージは破棄されます。 | |
wojms.expiration.destination | 有効期限切れメッセージを破棄せずに転送する送信先名を指定します。ここに指定する送信先は、あらかじめ作成しておく必要があります (自動的に作成されません)。指定した送信先が存在しない場合、メッセージは破棄されます。 |
プロパティ名
|
説 明 | 既定値 |
---|---|---|
wojms.service.activelist | JMS起動時に活性化するサービス群を指定します。
jms:JMSのコネクションサービス ssljms:JMSのSSLコネクションサービス admin:管理用のコネクションサービス ssladmin:管理用のSSLコネクションサービス |
jms,admin |
wojms.shared.connectionMonitor_limit | threadpool_modelにsharedを選択した場合に、コネクションを監視するスレッドの対象コネクションの最大数を指定します。-1は無制限です。 | Windows:64
Unix:512 |
wojms.< svc>.min_threads | svcで示したコネクションサービスが使用するスレッドプールの最小数を指定します。
既定値はコネクションサービスにより異なります。 |
jms:10
ssljms:10 admin:4 ssladmin:4 |
wojms.< svc>.max_threads | svcで示したコネクションサービスが使用するスレッドプールの最大数を指定します。
既定値はコネクションサービスにより異なります。 0より大きく、かつmin_threadsで指定した値より大きくする必要があります。 |
jms:1000
ssljms:500 admin:10 ssladmin:10 |
wojms.< svc>.threadpool_model | svcで示したコネクションサービスが使用するスレッドプールモデルを指定します。
dedicated:コネクション毎に専用のスレッドを割り当てる。 shared:複数のコネクション間でスレッドを共有する。共有するコネクションの数はconnectionMonitor_limitで指定する。このモデルはjmsとadminの場合のみに指定できる。 ※jmsコネクションサービスのみは、jms-serviceの「useSharedThread」属性をtrueにすることで、sharedにすることができます。 |
dedicated |
wojms.< svc>.tcp.hostname | svcで示したサービスで使用するホスト名、もしくはIPアドレスを指定します。複数のネットワークインタフェース (NIC) を持つような場合に固定することができます。指定がない場合は、任意を意味します。 | |
wojms.< svc>.tcp.port | svcで示したコネクションサービスで使用するポート番号を指定します。
0は、動的アサインを意味します。 |
jms:9701
admin:9702 |
wojms.< svc>.tls.port | svcで示したSSLコネクションサービスで使用するポート番号を指定します。
0は、動的アサインを意味します。 |
ssljms:9703
ssladmin:9704 |
プロパティ名
|
説 明 | 既定値 |
---|---|---|
wojms.keystore.file.dirpath | SSL ベースのサービスの場合は、キーストアファイルが配置されているディレクトリへのパスを指定します。 | ${AS_INSTALL}/jmq/etc |
wojms.keystore.file.name | SSL ベースのサービスの場合は、キーストアファイル名を指定します。 | keystore |
wojms.keystore.password | SSL ベースのサービスの場合に、 キーストアのパスワードを指定します。 | |
wojms.passfile.enabled | セキュリティ保護される通信用 (SSL、JDBC) のユーザパスワードをパスワードファイルで指定するどうかを指定します。
true:パスワードファイルで指定する false:パスワードファイルで指定しない ※ パスワードファイルの詳細は、「パスワードファイルの使用」を参照してください。 |
false |
wojms.passfile.dirpath | パスワードファイルが配置されているディレクトリへのパスを指定します。 | ${AS_INSTALL}/jmq/etc |
wojms.passfile.name | パスワードファイルのファイル名を指定します。 | passfile |
wojms.accesscontrol.enabled | JMSサーバでサポートされるすべてのコネクションサービスに対して、アクセス制御を行うかどうかを設定します。
true:アクセス制御を行う false:アクセス制御を行わない アクセス制御プロパティファイルに指定されているとおり、認証されたユーザがコネクションサービスを使用するためのアクセス権を保持しているかどうか、あるいは特定の送信先に対して特定の JMS操作を実行するためのアクセス権を保持していることをシステムでチェックするかどうかを指定します。 |
true |
wojms.< svc>.accesscontrol.enabled | svcで指定したコネクションサービスに対して、アクセス制御を行うかどうかを設定し、JMSサーバ全体の設定 (wojms.accesscontrol.enabled) をオーバーライドします。
true:アクセス制御を行う false:アクセス制御を行わない アクセス制御プロパティファイルに指定されているとおり、認証されたユーザが、指定したコネクションサービスを使用するためのアクセス権を保持しているか、あるいは特定の送信先に対して特定の JMS 操作を実行するためのアクセス権を保持していることをシステムでチェックするかどうかを指定します。 |
|
wojms.accesscontrol.file.dirpath | アクセス制御プロパティファイルが配置されているディレクトリへのパスを指定します。 | ${wojms.instanceshome}${/}${wojms.instancename}${/}etc |
wojms.accesscontrol.file.filename | JMSサーバインスタンスでサポートされるすべてのコネクションサービスに対するアクセス制御プロパティファイルの名前を指定します。ファイル名には、アクセス制御ディレクトリからの相対ファイルパスを指定します。 | accesscontrol.properties |
wojms.< svc>.accesscontrol.file.filename | JMSサーバインスタンスの、svcで指定したコネクションサービスに対するアクセス制御プロパティファイルの名前を指定します。ファイル名には、アクセス制御ディレクトリからの相対ファイルパスを指定します。 | |
wojms.authentication.client.response.timeout | JMSサーバからの認証要求に対するクライアントの応答を待機する時間を秒単位で指定します。 | 180 |
プロパティ名
|
説 明 | 既定値 |
---|---|---|
wojms.persist.store | 組み込みのファイルストア、またはプラグインの JDBCストアのどちらをJMSサーバが使用するかを指定します。
file:ファイルストア jdbc:JDBCストア |
file |
wojms.persist.file.message.max_record_size | 組み込みのファイルストアで、メッセージストレージファイル (個別のファイルではない) に追加されるメッセージの最大サイズ (バイト、K バイト、または Mバイト単位) を指定します。
128,128bは128バイトを、128kは128Kバイト (128×1024=131072バイト)、128mは128Mバイト (128×1024×1024=134217728バイト) を表します。 |
1m |
wojms.persist.file.message.filepool.cleanratio | 組み込みのファイルストアの場合に、クリーン状態 (サイズを 0 にする) で保持される送信先のファイルプールの空きファイルの割合 (%) を指定します。この値が大きいほど、作業中にファイルを削除するのに必要なオーバーヘッドが増えますが、ファイルプールに必要なディスク容量は小さくなります。 | 0 |
wojms.persist.file.destination.message.filepool.limit | 組み込みのファイルストアの場合に、送信先のファイルプールで再利用できる空きファイルの最大数を指定します。この値が大きいほど、JMSサーバが永続データを処理する速度が速くなります。この値を超える空きファイルは削除されます。 | 100 |
wojms.persist.file.message.cleanup | 組み込みのファイルストアで、JMSサーバのシャットダウン時に、送信先のファイルプール内の空きファイルを削除するかどうかを指定します。値をfalseに設定すると、JMSサーバのシャットダウンが速くなりますが、ファイルを格納するためのディスク容量がさらに必要になります。 | false |
wojms.persist.file.sync.enabled | 永続処理でメモリ内の状態を物理的なストレージと同期させるかどうかを指定します。true の場合、システムクラッシュによるデータ損失は回避されますが、永続処理のパフォーマンスに負荷がかかります。 | false |
wojms.persist.jdbc.dbtype | JDBC ストアで利用する DBMS を指定します。
oracle:Oracle postgresql:PostgreSQL sqlserver:Microsoft SQL Server |
|
wojms.persist.jdbc.< dbtype>.driver | dbtype で指定したデータベースに接続する JDBC ドライバの Java クラス名を指定します。 | |
wojms.persist.jdbc.opendburl | 既存データベースへのコネクションを開くためのデータベース URL を指定します。 | |
wojms.persist.jdbc.brokerid
(省略可能) |
複数のJMSサーバインスタンスが、永続データストアとして、同じデータベースを使用する場合、データベーステーブル名を一意にするために、データベーステーブル名に追加されるJMSサーバインスタンス識別子を指定します。通常、1 つのJMSサーバインスタンスだけのデータを格納する組み込みデータベースでは不要です。識別子には、英数字を使用し、データベースで許可されているテーブル名の最大数 12 を超えないようにする必要があります。 | |
wojms.persist.jdbc.user
(省略可能) |
必要に応じて、データベースコネクションを開くときに使用するユーザ名を指定します。 | |
wojms.persist.jdbc.password | データベースコネクションを開くときに使用するパスワードを指定します。 | |
wojms.persist.jdbc.retrycount | JDBCストア利用時のデータベースへの再接続試行回数を指定します。 | 10 |
wojms.persist.jdbc.retryinterval | JDBCストア利用時のデータベースへの再接続遅延時間を秒単位で指定します。 | 10 |
wojms.persist.jdbc.< dbtype>.table.WOJMSSV35 | dbtype で指定した DBMS に対するバージョンテーブルを作成するための SQL コマンドを指定します。 | DBMSごとに既定値が異なります。詳細は「 JDBCストアを利用するための設定」を参照してください。 |
wojms.persist.jdbc.< dbtype>.table.WOJMSCCREC35 | dbtype で指定した DBMS に対する設定変更レコードテーブルを作成するための SQL コマンドを指定します。 | DBMSごとに既定値が異なります。詳細は「 JDBCストアを利用するための設定」を参照してください。 |
wojms.persist.jdbc.< dbtype>.table.WOJMSDEST35 | dbtype で指定した DBMS に対する送信先テーブルを作成するための SQL コマンドを指定します。 | DBMSごとに既定値が異なります。詳細は「 JDBCストアを利用するための設定」を参照してください。 |
wojms.persist.jdbc.< dbtype>.table.WOJMSINT35 | dbtype で指定した DBMS に対する配信対象テーブルを作成するための SQL コマンドを指定します。 | DBMSごとに既定値が異なります。詳細は「 JDBCストアを利用するための設定」を参照してください。 |
wojms.persist.jdbc.< dbtype>.table.WOJMSMSG35 | dbtype で指定した DBMS に対するメッセージテーブルを作成するための SQL コマンドを指定します。 | DBMSごとに既定値が異なります。詳細は「 JDBCストアを利用するための設定」を参照してください。 |
wojms.persist.jdbc.< dbtype>.table.WOJMSPROPS35 | dbtype で指定した DBMS に対するプロパティテーブルを作成するための SQL コマンドを指定します。 | DBMSごとに既定値が異なります。詳細は「 JDBCストアを利用するための設定」を参照してください。 |
wojms.persist.jdbc.< dbtype>.table.WOJMSILIST82 | dbtype で指定した DBMS に対する配信対象の状態テーブルを作成するための SQL コマンドを指定します。 | DBMSごとに既定値が異なります。詳細は「 JDBCストアを利用するための設定」を参照してください。 |
wojms.persist.jdbc.< dbtype>.table.WOJMSTXN35 | dbtype で指定した DBMS に対するトランザクションテーブルを作成するための SQL コマンドを指定します。 | DBMSごとに既定値が異なります。詳細は「 JDBCストアを利用するための設定」を参照してください。 |
wojms.persist.jdbc.< dbtype>.table.WOJMSTACK35 | dbtype で指定した DBMS に対するトランザクション通知テーブルを作成するための SQL コマンドを指定します。 | DBMSごとに既定値異なります。詳細は「 JDBCストアを利用するための設定」を参照してください。 |
プロパティ名
|
説 明 | 既定値 |
---|---|---|
wojms.log.level | ログレベルを指定します。指定できるレベルは高いものから順に、 NONE, ERROR, WARNING, INFO, DEBUG, DEBUGMED, DEBUGHIGH です。
あるカテゴリを指定すると、指定したカテゴリとそれより上のレベルのカテゴリが含まれます。 |
INFO |
wojms.log.timezone | ログのタイムスタンプのタイムゾーンを指定します。識別子は、 java.util.TimeZone.getTimeZone() が使用しているものと同じです。 | |
wojms.log.file.rolloverbytes | ログの出力先ファイルを切り替えるファイルサイズをバイト単位で指定します。-1は出力先の切り替えを行いません。 | 1048576 |
wojms.log.file.
rolloversecs |
ログの出力先ファイルを切り替える間隔を秒単位で指定します。-1は出力先の切り替えを行いません。 | -1 |
wojms.log.file.dirpath | ログファイルが格納されているディレクトリへのパスを指定します。デフォルト値は、install.propertiesファイルに定義されています。 | ${wojms.instanceshome}/../../logs/jmq |
wojms.log.file.filename | ログファイル名を指定します。デフォルト値は、install.propertiesファイルに定義されています。 | jmqserver.log |
wojms.log.file.filenum | ログファイルのバックアップ数を指定します。 | 9 |
wojms.log.file.output | ログファイルに書き込むロギング情報のカテゴリを指定します。指定できる値は、 縦線 (|) で区切ったロギングのカテゴリ (ERROR, WARNING, INFO, DEBUG, DEBUGMED, DEBUGHIGH) のセットか、ALL または NONEです。
ALL:すべてのカテゴリを出力 NONE:出力しない |
ALL |
wojms.log.console.stream | コンソールの出力先を指定します。
OUT:標準出力 ERR:標準エラー出力 |
ERR |
wojms.log.console.output | コンソールへ書き込むロギング情報のカテゴリを指定する。指定できる値は、縦線 (|) で区切ったロギングのカテゴリ (ERROR, WARNING, INFO, DEBUG, DEBUGMED, DEBUGHIGH) のセットか、ALL または NONEです。
ALL:すべてのカテゴリを出力 NONE:出力しない |
ERROR|WARNING |
wojms.log.admin.rolloverbytes | 運用管理操作履歴を出力するファイルを切り替えるサイズをバイト単位で指定します。-1は出力先の切り替えを行いません。 | 1048576 |
wojms.log.admin.rolloversecs | 運用管理操作履歴を出力するファイルを切り替える時間を秒単位で指定します。-1は出力先の切り替えを行いません。 | -1 (切り替えなし) |
wojms.log.admin.dirpath | 運用管理操作履歴の出力ディレクトリへのパスを指定します。 | ${wojms.log.file.dirpath} |
wojms.log.admin.filename | 運用管理操作履歴のファイル名を指定します。 | jmqadmin.log |
wojms.log.admin.filenum | 運用管理操作履歴ファイルのバックアップ数を指定します。 | 9 |
wojms.log.admin.output | 運用管理操作履歴へ出力するログカテゴリを指定します。指定できる値は、 ADMIN または NONEです。 | ADMIN |
wojms.log.packet.rolloverbytes | パケットログを出力するファイルを切り替えるサイズをバイト単位で指定します。-1は出力先の切り替えを行いません。 | 1048576 |
wojms.log.packet.rolloversecs | パケットログを出力するファイルを切り替える時間を秒単位で指定します。-1は出力先の切り替えを行いません。 | -1 (切り替えなし) |
wojms.log.packet.dirpath | パケットログの出力ディレクトリへのパスを指定します。 | ${wojms.log.file.dirpath} |
wojms.log.packet.filename | パケットログのファイル名を指定します。 | jmqpacket.log |
wojms.log.packet.filenum | パケットログファイルのバックアップ数を指定します。 | 9 |
wojms.log.packet.output | パケットログへ出力するログカテゴリを指定します。指定できる値は、 縦線 (|) で区切ったロギングのカテゴリ (PACKET_MESSAGE、PACKET_PING、PACKET_ADMIN、PACKET_CLUSTER_MESSAGE、NONE) のセットか、ALL または NONEです。
PACKET_MESSAGE:JMSメッセージの送受信でやり取りされるパケット (制御用のパケットを含む) の情報を出力 PACKET_PING:JMSサーバや、JMSクライアントの起動状態確認で送受信されるPINGパケットの情報を出力 PACKET_ADMIN:運用管理操作で送受信されるパケットの情報を出力 PACKET_CLUSTER_MESSAGE:JMSサーバクラスタを構成しているときに、JMSサーバ間で送受信されるパケットの情報を出力 NONE:出力しない |
NONE |
wojms.log.message.rolloverbytes | メッセージライフサイクルログを出力するファイルを切り替えるサイズをバイト単位で指定します。-1は出力先の切り替えを行いません。 | 1048576 |
wojms.log.message.rolloversecs | メッセージライフサイクルログを出力するファイルを切り替える時間を秒単位で指定します。-1は出力先の切り替えを行いません。 | -1 (切り替えなし) |
wojms.log.message.dirpath | メッセージライフサイクルログの出力ディレクトリへのパスを指定します。 | ${wojms.log.file.dirpath} |
wojms.log.message.filename | メッセージライフサイクルログのファイル名を指定します。 | jmqmessage.log |
wojms.log.message.filenum | メッセージライフサイクルログファイルのバックアップ数を指定します。 | 9 |
wojms.log.message.output | メッセージライフサイクルログへ出力するログカテゴリを指定します。指定できる値は、 縦線 (|) で区切ったロギングのカテゴリ (MESSAGE) か、ALL または NONEです。 | NONE |
wojms.log.error.rolloverbytes | エラーログを出力するファイルを切り替えるサイズをバイト単位で指定します。-1は出力先の切り替えを行いません。 | 1048576 |
wojms.log.error.rolloversecs | エラーログを出力するファイルを切り替える時間を秒単位で指定します。-1は出力先の切り替えを行いません。 | -1 (切り替えなし) |
wojms.log.error.dirpath | エラーログの出力ディレクトリへのパスを指定します。 | ${wojms.log.file.dirpath} |
wojms.log.error.filename | エラーログのファイル名を指定します。 | jmqerror.log |
wojms.log.error.filenum | エラーログファイルのバックアップ数を指定します。 | 9 |
wojms.log.error.output | エラーログへ出力するログカテゴリを指定します。指定できる値は、 縦線 (|) で区切ったロギングのカテゴリ (ERROR、WARNING、DUMP_STATE、NONE) のセットか、ALL または NONEです。 | ERROR|WARNING|DUMP_STATE |
wojms.metrics.enabled | メトリックス情報を収集するかどうかを指定します。
true:収集する false:収集しない |
true |
wojms.metrics.interval | メトリックス情報が報告される間隔を秒単位で指定します。-1は報告しません。 | -1 |
wojms.log.dateformat | ログファイルのメッセージに付加する日付フォーマットを指定します。指定対象となるファイルは、jmqadmin.log、jmqerror.log、jmqmessage.log、jmqpacket.log、jmqserver.log です。 V9.3以前と同じ形式にする場合は、次の値を指定してください。
[yyyy-MM-dd HH:mm:ss,SSS] |
yyyy-MM-dd HH:mm:ss,SSS |
プロパティ名
|
説 明 | 既定値 |
---|---|---|
wojms.green.threshold | メモリリソースのGreenレベル (使用可能なメモリが十分にある状態) のスタート位置をメモリの利用率 (%) で指定します。 | 0 |
wojms.yellow.threshold | メモリリソースのYellowレベル (メモリが減っている状態) のスタート位置をメモリの利用率 (%) で指定します。 | 80 |
wojms.orange.threshold | メモリリソースのOrangeレベル (メモリが不十分である状態) のスタート位置をメモリの利用率 (%) で指定します。 | 90 |
wojms.red.threshold | メモリリソースのRedレベル (メモリが不足している状態) のスタート位置をメモリの利用率 (%) で指定します。 | 98 |
wojms.green.count | Greenレベルの時にクライアントが遅延制御せずに送信できるメッセージの最大数を指定します。 | 5000 |
wojms.yellow.count | Yellowレベルの時にクライアントが遅延制御せずに送信できるメッセージの最大数を指定します。 | 500 |
wojms.orange.count | Orangeレベルの時にクライアントが遅延制御せずに送信できるメッセージの最大数を指定します。 | 50 |
wojms.red.count | Redレベルの時にクライアントが遅延制御せずに送信できるメッセージの最大数を指定します。 | 0 |
プロパティ名
|
説 明 | 既定値 |
---|---|---|
wojms.autocreate.topic | Topicの自動生成を許可するかを指定します。
true:許可する false:許可しない |
false |
wojms.autocreate.queue | Queueの自動生成を許可するかを指定します。
true:許可する。 false:許可しない。 |
false |
wojms.autocreate.topic.consumerFlowLimit | 自動生成されたTopicに接続されたConsumerが一回の送信処理で受信できるメッセージの最大数を指定します。 | 1000 |
wojms.autocreate.queue.consumerFlowLimit | 自動生成されたQueueに接続されたConsumerが一回の送信処理で受信できるメッセージの最大数を指定します。 | 100 |
wojms.autocreate.queue.maxNumActiveConsumers | 自動生成されたQueueでメッセージを受信するこのできるConsumerの最大数を指定します。-1は無制限です。 | -1 |
wojms.autocreate.queue.maxNumBackupConsumers | 自動生成されたQueueで待機状態のConsumerの数を指定します。-1は無制限です。 | 0 |
wojms.autocreate.destination.maxNumMsgs | 自動生成される送信先の最大メッセージ数を指定します。-1は無制限です。 | 100000 |
wojms.autocreate.destination.maxTotalMsgBytes | 自動生成される送信先の最大メッセージサイズ (バイト、K バイト、または Mバイト単位) を指定します。-1は無制限です。
128,128bは128バイトを、128kは128Kバイト (128×1024=131072バイト)、128mは128Mバイト (128×1024×1024=134217728バイト) を表します。 |
10m |
wojms.autocreate.destination.maxNumProducers | 自動生成される送信先に接続可能なプロデューサ数を指定します。-1は無制限です。 | 100 |
wojms.autocreate.destination.maxBytesPerMsg | 自動生成される送信先の1メッセージ当たりの最大サイズ (バイト、K バイト、または Mバイト単位) を指定します。-1は無制限です。
128,128bは128バイトを、128kは128Kバイト (128×1024=131072バイト)、128mは128Mバイト (128×1024×1024=134217728バイト) を表します。 |
10k |
wojms.autocreate.destination.limitBehavior | 自動生成される送信先に対して新しいメッセージが届いたときに、送信先のメモリ制限のしきい値に到達していた場合のJMSサーバの振る舞いを指定します。
FLOW_CONTROL : プロデューサとの間でフロー制御 (低速化) を行います。 REMOVE_OLDEST : 最古のメッセージを破棄します (プロデューサがメッセージ削除の通知を受け取ることはありません)。REMOVE_LOW_PRIORITY : メッセージの有効期限に従い優先度が最低のメッセージを破棄します (プロデューサがメッセージ削除の通知を受け取ることはありません)。 REJECT_NEWEST : 最新のメッセージを拒否します (永続メッセージの場合はプロデューサにメッセージ拒否の例外が発生しますが、非永続メッセージの場合には発生しません)。 |
REJECT_NEWEST |
プロパティ名
|
説 明 | 既定値 |
---|---|---|
wojms.ping.enabled | クライアントとの接続を監視するか否かを指定します。
true:行う false:行わない |
true |
wojms.ping.interval | クライアントとの接続を監視する間隔を秒単位で指定します。 | 120 |
wojms.client_metrics.enabled | JMSクライアントのチューニング情報を採取するかどうかを指定します。
true:採取する false:採取しない true (採取する) を指定すると、コネクション一覧表示 (otxadmin list-jms-connections) で各コネクションに対するメモリ情報を表示します。 |
false |
プロパティ名
|
説 明 | 既定値 |
---|---|---|
wojms.enable_cluster | JMSサーバクラスタを利用するかどうかを指定します。 | false |
wojms.cluster.brokerlist | クラスタに属するすべてのJMSサーバのホスト名とポート番号を指定します。 [ hostName ] [ :port ] の形式で、「,」で区切って指定します。クラスタ内のJMSサーバすべてで同じ値を指定する必要があります。 | |
wojms.cluster.masterbroker | マスターブローカのアドレスを指定します。 [ hostName ] [ :port ] の形式で指定します (省略可能)。クラスタ内のJMSサーバすべてで同じ値を指定する必要があります。 | |
wojms.cluster.port | JMSサーバクラスタ用コネクションサービスで使用するポート番号を指定します。0は動的アサインを意味します。 | 9705 |
wojms.cluster.hostname | JMSサーバクラスタ用コネクションサービスで使用するホスト名、もしくはIPアドレスを指定します。 複数のネットワークインタフェース (NIC) を持つような場合に固定することができます。 |
JMSクライアントのプロパティの一覧を示します。これらのプロパティは、非Java EE環境下で動作するJavaアプリケーションに有効であり、Javaシステムプロパティとして設定します。
ログの利用方法については、「 JMSクライアントのログ出力」を、チューニング情報採取に関しては、「 構築・運用 > チューニング > JMS > JMSクライアントのチューニング情報採取」を参照してください。
プロパティ名
|
説 明 | 既定値 |
---|---|---|
wojms.client.logger.level | JMSクライアントのログを採取する際のログレベル (NONE、ERROR、WARNING、INFO、DEBUG、DEBUGMED、DEBUGHIGHのいずれか) を指定します。
NONE:出力しない |
NONE |
wojms.client.logger.file | wojms.client.logger.level プロパティでログレベルが指定された場合に、JMSクライアントのログを採取する際のログファイル名を指定します。ログレベルのみが指定され、ログファイル名が指定されていない場合は、標準出力に出力します。 | |
wojms.client.logger.size | wojms.client.logger.file プロパティでログファイル名が指定された場合に、出力先ファイルを切り替えるファイルサイズをバイト単位で指定します。-1は出力先の切替を行いません。 | 1020000 |
wojms.client.logger.num | wojms.client.logger.file プロパティでログファイル名が指定された場合に、ログファイルのバックアップ数を指定します。 | 2 |
wojms.client.log.level | JMSクライアントのログを採取する際のログレベル (NONE、ERROR、WARNING、INFO、DEBUG、DEBUGMED、DEBUGHIGHのいずれか) を指定します。このプロパティでログレベルを指定した場合、出力先のログファイル名は、wojms.client.log.file プロパティで指定します。
NONE:出力しない 本プロパティでログレベルを指定した場合、出力ファイルのローテートはできません。出力ファイルのローテートを行う場合は、wojms.client.logger.〜で始まるプロパティ名を利用して、ログレベルやログファイル名を指定してください。 |
NONE |
wojms.client.log.file | wojms.client.log.level プロパティでログレベルが指定された場合に、JMSクライアントのログを採取する際のログファイル名を指定します。ログファイルのローテートはできません。ログレベルのみが指定され、ログファイル名が指定されていない場合は、標準出力に出力します。なお、出力ファイルのローテートを行う場合は、wojms.client.logger.〜で始まるプロパティ名を利用して、ログレベルやログファイル名を指定してください。 | |
wojms.client.metrics | メモリや、フロー制御などのチューニング情報を出力するかどうかを指定します。 | false |
wojms.client.metrics.interval | チューニング情報を出力する間隔 (ミリ秒) を指定します。 | 5000 |
wojms.client.metrics.log | チューニング情報を出力するファイル名を指定します (JMSクライアントのログファイルとは別です)。ファイル名が指定されていない場合は、標準出力に出力します。 |
JMSサーバのその他の設定項目、および設定方法について説明します。
ファイルストアを利用するための設定について説明します。
属性名 | 説明 | 既定値 |
---|---|---|
storeType | 永続ストアタイプを指定します。
file:ファイルストア |
file |
インストール直後は、ファイルストアを利用する設定になっています。関連する、JMSサーバの各プロパティにはデフォルト値が設定されていますので、ご利用になるシステムに合わせて設定値を変更してください。ファイルストアをご利用になるためのプロパティの詳細については、「 JMSのプロパティ/属性一覧 > JMSサーバのプロパティ」-「 永続ストアに関するプロパティ」を参照してください。
JDBCストアを利用するための設定について説明します。
インストール直後は、ファイルストアを利用する設定になっています。JDBCストアを利用する場合は、次の手順で設定を変更してください。
属性名 | 説明 |
---|---|
storeType | 永続ストアタイプを指定します。指定可能な値は次のとおりです。
file:ファイルストア oracle:JDBCストア (Oracle) postgresql:JDBCストア (PostgreSQL) sqlserver:JDBCストア (Microsoft SQL Server) other:JDBCストア (その他) 利用するDBMSのJDBCストアを指定します。この属性に指定した値が、JMSサーバの wojms.persist.jdbc.dbtype プロパティの値となります。 otherは今後サポート対象が増えた場合に使用します。 |
jdbcStoreDriver | JDBCドライバのクラス名 |
jdbcStoreURL | JDBC URL |
jdbcStoreBrokerid | JMSサーバインスタンス識別子
複数のJMSサーバインスタンスが同じデータベースを使用する場合、データベーステーブル名を一意にするために、データベーステーブル名に追加されます。通常、1 つのJMSサーバインスタンスだけのデータを格納するデータベースでは不要です。 |
jdbcStoreUser | ユーザ名 |
jdbcStorePassword | パスワード |
# jmqdbmgr create tbl -otxdomain domain1
wojms.persist.jdbc.dbtype に利用するDBMSを指定することで、該当するDBMSのプロパティが自動的に有効になります。 ここでは、各DBMSのJDBCドライバについてのみ記述しています。その他のプロパティの既定値については、default.propertiesファイル (${AS_INSTALL}/jmq/lib/props/broker/default.properties) の「wojms.persist.jdbc.< dbtype>」で始まるプロパティ値を参照してください。
プロパティ名
|
既定値 |
---|---|
wojms.persist.jdbc.oracle.driver | oracle.jdbc.driver.OracleDriver |
プロパティ名
|
既定値 |
---|---|
wojms.persist.jdbc.postgresql.driver | org.postgresql.Driver |
プロパティ名
|
既定値 |
---|---|
wojms.persist.jdbc.sqlserver.driver | com.microsoft.sqlserver.jdbc.SQLServerDriver |
JMS クライアントからの操作 (コネクション、送信先、送信先自動作成) に対するアクセス制御は、次の場所にあるアクセス制御プロパティファイルに定義します。
${INSTANCE_ROOT}/jmq/instances/jmqbroker/etc/accesscontrol.properties
コネクションサービスへの権限を定義します。
要素
|
説明 |
---|---|
resourceVariant | コネクションのタイプを指定します。
NORMAL ADMIN |
access | アクセス制御を指定します。
allow deny |
principalType | 制御を受ける対象者を指定します。
user group |
principals | 権限の制御を受ける対象を指定します。
principalTypeがuserの場合は、ユーザ名 (複数の場合はカンマで区切られたリスト) を指定します。 principalTypeがgroupの場合は、グループ名 (複数の場合はカンマで区切られたリスト) を指定します。 両者とも、全てを対象とする場合には”*”を使用します。 |
デフォルトでは、通常のコネクションは全てのユーザに権限が、管理用のコネクションはadminグループにのみ権限が与えられています。
たとえば、通常のコネクション確立について、ユーザxxxを拒否するには、次の記述を追加します。
送信先に対する権限を定義します。
要素
|
説明 |
---|---|
resourceType | 送信先のタイプを指定します。
queue topic |
resourceVariant | 送信先の名前、もしくはすべての送信先を意味する”*”を指定します。 |
operation | クライアントのタイプを指定します。
produce consume browse |
access | アクセス制御を指定します。
allow deny |
principalType | 制御を受ける対象者を指定します。
user group |
デフォルトでは、すべてに権限が与えられています。
たとえば、トピックxxxからのメッセージ受信について、グループyyyを拒否するには、次の記述を追加します。
送信先の自動作成の権限を定義します。
要素
|
説明 |
---|---|
resourceType | 送信先のタイプを指定します。
queue topic |
access | アクセス制御を指定します。
allow deny |
principalType | 制御を受ける対象を指定します。
user group |
デフォルトでは、すべてに権限が与えられています。
たとえば、topicの自動作成について、ユーザxxxを拒否するには、次の記述を追加します。
JMSサーバとクライアントアプリケーションとの間、JMSサーバと管理ツールとの間で送受信されるメッセージをSSLで暗号化するために必要な設定について説明します。
前者はssljmsコネクションサービス、後者はssladminコネクションサービスが対象です。
${AS_INSTALL}/jmq/etc ディレクトリが存在しない場合は、作成してください。
JDK付属の keytool コマンドを利用し、次を実行して、JMSサーバの自己署名型証明書を生成してください。
keytool -genkey -keyalg "RSA" -alias jmq -keystore ${AS_INSTALL}/jmq/etc/keystore -v
証明書が格納されるキーストアの位置は次の場所となります。
${AS_INSTALL}/jmq/etc/keystore
運用管理コマンドで指定する場合は、JMSサービスの「start-args」属性に、統合運用管理ツールで指定する場合は、JMSサービスのMO属性「起動引数」に上記を設定してください。
wojms.service.activelist=jms,admin,ssljms,ssladmin
実際に有効になったかどうかは、JMSサーバ再起動後に、jmqcmd list svcコマンドで確認することができます。jmqcmd list svcコマンドの詳細は、「
コマンド >
JMS >
jmqcmd >
list svc」を参照してください。
属性名 | 説明 | 既定値 |
---|---|---|
keystorePassword | SSL ベースのサービスの場合に、キーストアのパスワードを指定します。 |
otxadmin> set server.resources.jms-resource.jms-connection-factory.jms/MyCF.property.MessageServiceAddressList=localhost:9700/ssljms
ここでは、JMSサーバが使用するSSL、JDBCのパスワードを起動引数ではなく、パスワードファイルを使用して指定する方法について説明します。
プロパティ名
|
説明 |
---|---|
wojms.keystore.password | SSL運用時に必要なキーストアのパスワードを指定します。 |
wojms.persist.jdbc.password | データベースとの接続時に必要なパスワードを指定します。 |
運用管理コマンドで指定する場合は、JMSサービスの「start-args」属性に、統合運用管理ツールで指定する場合は、JMSサービスのMO属性「起動引数」に上記を設定してください。
wojms.passfile.dirpath=<passfile directory>
wojms.passfile.name=<passfile name>
Standard において、TPモニタ上でMessage-Driven Bean (MDB)を起動する場合の設定について説明します。
MDBでTopicのマルチコンシューマ負荷分散を利用するには、クライアント識別子とその共有フラグを以下に示すいずれかの方法で設定する必要があります。
プロパティ
|
値 |
---|---|
clientId | クライアント識別子 |
enableSharedClientID | true |
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar> <enterprise-beans> <message-driven> <ejb-name>MyMDB</ejb-name> ・・・・・ <activation-config> <activation-config-property> <activation-config-property-name> clientId</activation-config-property-name> <activation-config-property-value> MyClientID</activation-config-property-value> </activation-config-property> <activation-config-property> <activation-config-property-name> enableSharedClientID</activation-config-property-name> <activation-config-property-value> true</activation-config-property-value> </activation-config-property> ・・・・・ </activation-config> </message-driven> </enterprise-beans> </ejb-jar> |
プロパティ
|
値 |
---|---|
clientId | クライアント識別子 |
enableSharedClientID | true |
@MessageDriven(
activationConfig = { @ActivationConfigProperty(propertyName="clientId", propertyValue="MyClientID"), @ActivationConfigProperty(propertyName="enableSharedClientID", propertyValue="true"), ・・・・・ } ) public class MyMDB implements MessageListener { public void onMessage(Message msg) {・・・・・} } |
プロパティ
|
設定値 |
---|---|
wojmsConfiguredClientID | クライアント識別子 |
wojmsEnableSharedClientID | true |
ここでは、ロールバックされたメッセージの再配信に関する設定について説明します。
再配信回数の上限は、送信先か、JMSサービスのMOの属性で指定します。送信先で指定した場合は、その送信先に接続したコンシューマに対して有効になり、JMSサービスで指定した場合は、JMSサーバで動作するコンシューマ全体に対して有効になります。既定値以外の値が設定されていた場合の優先順位は、高いものから、送信先、JMSサービスの設定となります。
server.jms-physical-destination. physical-destination-name:属性名 | 説明 | 既定値 |
---|---|---|
wojmsRedeliveryLimit | 再配信回数上限。メッセージ再配信回数の上限を指定します。-1は無制限を、0は再配信なしを意味します。 | -1 (無制限) |
再配信の遅延時間は、コネクションファクトリリソース、送信先、JMSサービスのMOの属性で指定します。また、コンシューマプログラム向けに用意しているAPI (WebOTX V5よりサポート) で、セッション単位に指定することも可能です。既定値以外の値が設定されていた場合の優先順位は、高いものから、セッション単位、コネクションファクトリリソース、送信先、JMSサービスの設定となります。
server.resources.jms-resource.jms-connection-factory. connection-factory-name:属性名 | 説明 | 既定値 |
---|---|---|
wojmsRedeliveryDelay | 再配信遅延時間。メッセージ再配信で、配信の遅延時間を秒単位で指定します。0は、待ち合わせ無しを意味します。 | 0 (待ち合わせ無し) |
セッション単位で指定する場合については、 [ リファレンス > リソース > JMS > 拡張インタフェース ] を参照してください。
MDBに対して再配信遅延時間を指定するには、以下に示す方法があります。優先順位は、高いものから順に、1、2、3 となっており、以下のいずれも指定されていない場合は、前述の指定に従って再配信されます。
プロパティ
|
説明 |
---|---|
RedeliveryDelay | 再配信遅延時間 (秒) |
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar> <enterprise-beans> <message-driven> <ejb-name>MyMDB</ejb-name> ・・・・・ <activation-config> <activation-config-property> <activation-config-property-name> RedeliveryDelay</activation-config-property-name> <activation-config-property-value> 10</activation-config-property-value> </activation-config-property> ・・・・・ </activation-config> </message-driven> </enterprise-beans> </ejb-jar> |
プロパティ
|
説明 |
---|---|
RedeliveryDelay | 再配信遅延時間 (秒) |
@MessageDriven(
activationConfig = { @ActivationConfigProperty(propertyName="RedeliveryDelay", propertyValue="10"), ・・・・・ } ) public class MyMDB implements MessageListener { public void onMessage(Message msg) {・・・・・} } |
プロパティ
|
説明 |
---|---|
wojmsRedeliveryDelay | 再配信遅延時間 (秒) |
ここでは、破棄メッセージの転送に関する設定について説明します。「破棄メッセージ」とは、不達メッセージ (再配信回数を超過したメッセージ) や、有効期限切れのメッセージのことをさします。
属性名 | 説明 | 既定値 |
---|---|---|
wojmsRedeliveryDestination | 不達メッセージ転送先。再配信回数を超過したメッセージを転送する送信先名を指定します。ここに指定する送信先は、あらかじめ作成しておく必要があります (自動的に作成されません)。 |
MOの属性 | JMSサーバのプロパティ名 | 説明 |
---|---|---|
wojmsExpirationDestination | wojms.expiration.destination | 有効期限切れメッセージを転送する送信先名 |
フィールド名
|
値 |
---|---|
JMSCorrelationID | 変更しません。 |
JMSDeliveryMode | PERSISTENTに変更します。
不達メッセージの場合、元の情報は、WOJMSOriginalPersistentにBoolean値で設定されます。trueはPERSISTENT、falseはNON_PERSISTENTです。 |
JMSDestination | 転送先の送信先に変更します。
元の情報は、WOJMSOriginalDestinationNameに送信先名を含めて設定されます。 |
JMSExpiration | クリアします。
不達メッセージの場合、元の情報は、WOJMSOriginalExpirationに設定されます。 |
JMSMessageID | 新規のメッセージ識別子に変更します。
元の情報は、メッセージプロパティWOJMSOriginalMessageIDに設定されます。 |
JMSPriority | 変更しません。 |
JMSRedelivered | 変更しません。 |
JMSReplyTo | 変更しません。 |
JMSTimestamp | 移動した時刻に変更します。
不達メッセージの場合、元の情報は、WOJMSOriginalTimeStampに設定されます。 |
JMSType | 変更しません。 |
フィールド名
|
値 |
---|---|
WOJMSDelayTime | 削除します。
不達メッセージの場合、元の情報は、WOJMSOriginalDelayTimeに設定されます。 |
WOJMSOriginalMessageID | 転送前のJMSMessageIDを格納します。 |
WOJMSOriginalDestinationName | 転送前のJMSDestinationから取得した送信先名と送信先タイプを連結した文字列を格納します。 |
WOJMSDeletedReason | メッセージの削除理由を文字列で格納します。
不達メッセージの設定値: DELETED 有効期限切れメッセージの設定値: EXPIRED |
WOJMSOriginalExpiration | 不達メッセージの場合、転送前のJMSExpirationの値を格納します。 |
WOJMSOriginalPersistent | 不達メッセージの場合、転送前のJMSDeliveryModeの値をBoolean値で格納します。trueはPERSISTENT、falseはNON_PERSISTENTです。 |
WOJMSOriginalTimeStamp | 不達メッセージの場合、転送前のJMSTimestampの値を格納します。 |
WOJMSOriginalDelayTime | 不達メッセージの場合、転送前のWOJMSDelayTimeの値を格納します。 |
非Java EE環境下で動作するJavaアプリケーションでは、実行時にJavaシステムプロパティを設定することにより、ログ出力が可能です。ログは、障害解析などに利用します。
ログを出力するには、以下をJavaシステムプロパティとして指定します。
wojms.client.logger.level
wojms.client.logger.file
wojms.client.logger.size
wojms.client.logger.num
あるいは、
wojms.client.log.level
wojms.client.log.file
wojms.client.logger.〜で始まるプロパティは、出力ファイルのローテートが可能です。wojms.client.log.〜で始まるプロパティは、出力ファイルのローテートはできません。ローテートの要/不要に応じて、どちらかのタイプのプロパティを指定してください。各プロパティの詳細については、「 JMSクライアントのプロパティ」を参照してください。
Java EE環境で、JMSを分散トランザクションに参加させる場合、トランザクションサービスのJCAリソースを登録する必要があります。
JCAリソースの登録方法については、「
構築・運用 >
Transactionサービス >
リソースの登録・削除」を参照してください。
ここでは、2つのJMSサーバで構成されるJMSサーバクラスタの設定方法について説明します。
設定は、以下のように、host1のdomain1で起動するJMSサーバ (JMS1) と、host2のdomain1で起動するJMSサーバ (JMS2) でJMSサーバクラスタを構成するものとします。また、マスターブローカとして、host1-domain1上のJMSサーバを指定します。
項目 | 設定値 |
---|---|
JMSサーバクラスタの使用 | true (チェックする) |
クラスタに属するJMSサーバのアドレスリスト | host1:9700,host2:9700 |
マスターブローカのアドレス | host1:9700 |
otxadmin> set server.jms-service.enableCluster=true otxadmin> set server.jms-service.clusterBrokerList=host1:9700,host2:9700 otxadmin> set server.jms-service.clusterMasterBroker=host1:9700
JMSサーバクラスタなどで、接続先の分散を行うためにアドレスリストを使用することができます。アドレスリストは、コネクションファクトリリソースの属性として設定します。
server.resources.jms-resource.jms-connection-factory. connection-factory-name:属性名 | 説明 | 既定値 |
---|---|---|
wojmsAddressList | 接続先のリストを指定します。
この値を設定した場合は、「JMSサーバのホスト名」 (wojmsBrokerHostName) と、「JMSサーバのホストのポート番号」 (wojmsBrokerHostPort) の設定は無視されますので、必要に応じてこの接続先をリストに含めてください。 アドレスの構文は、 [ hostName ] [ :port ] で、複数のアドレスを指定する場合は、「,」で区切ります。 |
|
wojmsAddressListBehavior | アドレスリストから、接続先を選択する方法を指定します。
PRIORITY:アドレスリストに指定された順番 RANDOM:ランダムに選択 接続障害後の再接続は、いずれの場合も、接続がエラーになったJMSサーバに対するアドレスから始まります。 |
PRIORITY |
wojmsAddressListIterations | 接続の試行を中止して例外を通知するまでの、アドレスリストの繰り返し回数を指定します。 | 1 |
次に、アドレスリストを設定した場合の動作について説明します。
JMSクライアントランタイムは、wojmsAddresListBehaviorの設定に応じて、wojmsAddressListから接続先を選択し接続を行います。最初に選択したアドレスで接続できなかった場合は、wojmsAddressListから「次の」アドレスを選択して接続を試みます。それでも接続できなければ「次の」アドレス、と進めていき、wojmsAddressListIterations回アドレスリストを繰り返して接続できなければ、例外を発生させるようになっています。
属性名 | 説明 | 既定値 |
---|---|---|
supportOrderedRedelivery | メッセージ再配信時の順序保証を行うかどうかを指定します。
true:再配信時の順序保証を行います。接続できるコンシューマ数は1になります。 false:再配信時の順序保証を行いません。 |
false (再配信時の順序保証はしない) |
JMS リソースアダプタの ActivationSpec に設定可能なプロパティは次のとおりです。
プロパティ名 | 説 明 | 既定値 |
---|---|---|
destination | 送信先名を指定します。 | |
destinationType | 送信先のタイプを指定します。
javax.jms.Queue:キュー javax.jms.Topic:トピック |
|
messageSelector | メッセージセレクタを指定します。 | |
subscriptionName | Topicサブスクリプション名を指定します。 | |
subscriptionDurability | Topicサブスクリプションの持続性を指定します。
Durable:持続性 NonDurable:非持続性 |
NonDurable |
clientId | クライアントIDを指定します。 | |
acknowledgeMode | 確認応答モードを指定します。
Auto-acknowledge: Auto-acknowledge モード Dups-ok-acknowledge: Dups-OK-acknowledge モード |
Auto-acknowledge |
endpointExceptionRedeliveryAttempts | MDBで実行時例外が発生した場合にアダプタ内で再配信する回数を指定します。コンテナ管理トランザクション NotSupported あるいは、Bean管理トランザクションの場合に有効になります。 | 1 |
redeliveryDelay | MDBで実行時例外が発生した場合にアダプタ内で再配信する間隔 (秒) を指定します。0は待ち合わせなしを意味します。 | 0 : コンテナ管理トランザクション Required の場合
1 : コンテナ管理トランザクション NotSupported あるいは、Bean管理トランザクションの場合 |
endpointPoolMaxSize | エンドポイントプールで保持されるエンドポイントの最大数を指定します。 | 15 |
endpointPoolSteadySize | エンドポイントプールで保持されるエンドポイント初期値を指定します。 | 10 |