Cosminexus Reliable Messaging

解説・手引・文法・操作書

3020-3-M17-40

目　　次

前書き

変更内容

はじめに

1.　概要

1.1　Cosminexus RMの概要

1.2　ソフトウェア構成

1.3　システム形態

1.3.1　単一システムでのアプリケーション連携

1.3.2　複数システム間でのアプリケーション連携

1.3.3　複数システムのキュー間でメッセージを転送するアプリケーション連携

1.3.4　DBサーバの共有

1.4　システム構築・運用の流れとマニュアルの参照先

1.4.1　システム構築・運用の流れとマニュアルでの説明個所の対応

1.4.2　Cosminexus RMの機能とマニュアルでの説明個所の対応

2.　機能

2.1　メッセージングモデル

2.1.1　PTPメッセージングモデル

2.2　キューの種類

2.2.1　ローカルキュー

2.2.2　転送キュー

2.2.3　受信用共用キュー

2.2.4　送信用共用キュー

2.2.5　デッドメッセージキュー

2.3　メッセージの管理

2.3.1　キューの永続性

2.3.2　メッセージ取り出しモード

2.3.3　メッセージの受け渡し

2.3.4　メッセージの削除

2.3.5　メッセージの有効期間

2.4　メッセージのキュー間転送

2.4.1　キュー間転送の概要

2.4.2　キュー間転送のあて先指定

2.4.3　キュー間転送の通信モデル

2.4.4　キュー間転送のQoS

2.4.5　メッセージの再送

2.4.6　キュー間転送の互換通信

2.4.7　キュー間転送の障害時の動作

2.4.8　キュー間転送の注意事項

2.4.9　SOAPプロトコル

2.5　メッセージの構成

2.5.1　JMSメッセージの構成

2.5.2　メッセージ要素のアクセスモード

2.5.3　メッセージとキューの関係

2.5.4　メッセージサイズを見積もる方法

2.6　アプリケーションからのメッセージ操作

2.6.1　メッセージの受信制御

2.6.2　メッセージセレクタ

2.6.3　Message-driven Beanとの連携

2.6.4　共用キューでのメッセージ受信時の処理の流れ

2.6.5　DBアクセス時の認証

2.6.6　トランザクション制御

2.6.7　アプリケーション作成時の注意事項

2.7　DB Connector for Cosminexus RMの機能

2.7.1　Cosminexus RMとDB Connector for Cosminexus RMの関係

2.7.2　DB Connector for Cosminexus RMの機能一覧

2.7.3　DB Connector for Cosminexus RM連携時のコネクションとSQLの運用

2.7.4　DB Connector for Cosminexus RM連携時の注意事項

3.　システム構築

3.1　システム構築の流れ

3.2　Cosminexus RMのインストール

3.2.1　前提製品のインストール

3.2.2　Cosminexus RMをインストールすると格納されるファイル

3.3　システム構築の準備

3.3.1　Cosminexus RMのシステム名の決定

3.3.2　環境変数の設定

3.4　Cosminexus RMのシステム構築（永続版リソースアダプタの場合）

3.4.1　DBMSの設定（HiRDBを使用する場合）

3.4.2　DBMSの設定（Oracleを使用する場合）

3.4.3　J2EEサーバ（Cosminexus）の設定

3.4.4　キュー定義ファイルの作成（永続版リソースアダプタの場合）

3.4.5　Cosminexus RMのプロパティ定義（永続版リソースアダプタの場合）

3.4.6　DB Connector for Cosminexus RMの選択

3.4.7　DB Connector for Cosminexus RMの前提製品の設定

3.4.8　DB Connector for Cosminexus RMのプロパティ定義

3.4.9　DB Connector for Cosminexus RMとCosminexus RMのインポート

3.4.10　DB Connector for Cosminexus RMとCosminexus RMのプロパティ設定

3.4.11　DB Connector for Cosminexus RMとCosminexus RMのデプロイ

3.4.12　Cosminexus RMの運用前の準備（永続版リソースアダプタの場合）

3.4.13　キュー間転送を使用する場合の設定

3.5　Cosminexus RMのシステム構築（非永続版リソースアダプタの場合）

3.5.1　キュー作成ファイルの作成

3.5.2　キュー定義ファイルの作成（非永続版リソースアダプタの場合）

3.5.3　Cosminexus RMのプロパティ定義（非永続版リソースアダプタの場合）

3.5.4　Cosminexus RMのインポート

3.5.5　Cosminexus RMのプロパティ設定

3.5.6　Cosminexus RMのデプロイ

3.5.7　Cosminexus RMの運用前の準備（非永続版リソースアダプタの場合）

3.6　システム構築時の注意事項

3.6.1　DBMSの設定をする場合

3.6.2　複数デプロイをする場合

3.6.3　ObjectMessageのペイロードにユーザが定義したクラスのオブジェクトを格納する場合

3.6.4　同一サーバ上でCosminexus RMを複数デプロイする場合

3.6.5　PRFトレースファイルを利用する場合

4.　Cosminexus RM（永続版リソースアダプタ）の運用

4.1　Cosminexus RMとアプリケーションの開始と停止（永続版リソースアダプタの場合）

4.1.1　Cosminexus RMの開始（永続版リソースアダプタの場合）

4.1.2　アプリケーションの開始（永続版リソースアダプタの場合）

4.1.3　Cosminexus RMの停止（永続版リソースアダプタの場合）

4.1.4　Cosminexus RMの状態遷移（永続版リソースアダプタの場合）

4.2　キューの運用（永続版リソースアダプタの場合）

4.2.1　ローカルキューによるシステム内アプリケーション間連携

4.2.2　共用キューによるシステム間連携

4.2.3　キュー間転送によるシステム間連携

4.2.4　デッドメッセージキューによるデッドメッセージの再登録

4.2.5　キューの状態遷移（永続版リソースアダプタの場合）

4.3　DBの運用

4.3.1　管理情報テーブルの移行

4.3.2　管理情報テーブルの削除

4.3.3　接続ユーザ名の変更

4.3.4　DBのバックアップ

4.3.5　RDエリアの容量の確保

4.3.6　管理情報テーブルの一覧

4.3.7　アプリケーション認証によるDBアクセス設定

4.4　PRFトレースファイルの運用（永続版リソースアダプタの場合）

4.4.1　PRFトレースファイルの運用方法

4.4.2　PRFトレースファイルの取得レベル

4.4.3　PRFトレースファイルの編集

4.5　Cosminexus RM運用時の注意事項（永続版リソースアダプタの場合）

4.5.1　Windows Vista使用時の注意事項

4.5.2　永続版リソースアダプタと非永続版リソースアダプタを切り替える場合の注意事項

4.5.3　Cosminexus RMが動作するマシンの時刻設定の注意事項

5.　Cosminexus RM（非永続版リソースアダプタ）の運用

5.1　Cosminexus RMとアプリケーションの開始と停止（非永続版リソースアダプタの場合）

5.1.1　Cosminexus RMの開始（非永続版リソースアダプタの場合）

5.1.2　アプリケーションの開始（非永続版リソースアダプタの場合）

5.1.3　Cosminexus RMの停止（非永続版リソースアダプタの場合）

5.1.4　Cosminexus RMの状態遷移（非永続版リソースアダプタの場合）

5.2　ローカルキューの運用（非永続版リソースアダプタの場合）

5.2.1　ローカルキューの操作方法

5.2.2　ローカルキューの状態遷移（非永続版リソースアダプタの場合）

5.3　PRFトレースファイルの運用（非永続版リソースアダプタの場合）

5.4　Cosminexus RM運用時の注意事項（非永続版リソースアダプタの場合）

5.4.1　Windows Vista使用時の注意事項

5.4.2　永続版リソースアダプタと非永続版リソースアダプタを切り替える場合の注意事項

5.4.3　Cosminexus RMが動作するマシンの時刻設定の注意事項

6.　コンフィグレーションプロパティ

6.1　Cosminexus RMのコンフィグレーションプロパティの一覧

6.2　Cosminexus RMのコンフィグレーションプロパティの詳細説明

6.3　DB Connector for Cosminexus RMのコンフィグレーションプロパティの一覧

7.　インタフェース

7.1　インタフェースの種類

7.1.1　Cosminexus RMが提供するインターフェースの種類

7.1.2　非永続版リソースアダプタ使用時の注意事項

7.2　JMSインタフェースの一覧

7.3　JMSインタフェース継承図

7.4　JMSインタフェースの詳細

7.4.1　BytesMessageインタフェース

7.4.2　ConnectionMetaDataインタフェース

7.4.3　DeliveryModeインタフェース

7.4.4　Messageインタフェース

7.4.5　ObjectMessageインタフェース

7.4.6　Queue（Destination）インタフェース

7.4.7　QueueBrowserインタフェース

7.4.8　QueueConnection（Connection）インタフェース

7.4.9　QueueConnectionFactory（ConnectionFactory）インタフェース

7.4.10　QueueReceiver（MessageConsumer）インタフェース

7.4.11　QueueSender（MessageProducer）インタフェース

7.4.12　QueueSession（Session）インタフェース

7.4.13　TextMessageインタフェース

7.5　転送データ相互接続用インタフェースの一覧

7.6　転送データ相互接続用インタフェース継承図

7.7　転送データ相互接続用インタフェースの使い方

7.8　転送データ相互接続用インタフェースの詳細

7.8.1　BytesContainerFactoryインタフェース

7.8.2　BytesContainerインタフェース

7.8.3　HRMExceptionクラス

7.8.4　HRMIllegalArgumentExceptionクラス

7.9　障害コードの詳細

8.　コマンドリファレンス

8.1　コマンドの概要

8.1.1　コマンド実行の前提条件

8.1.2　コマンドの有効範囲

8.1.3　コマンドの同時実行

8.1.4　システム名の設定

8.1.5　コマンドの記述形式

8.1.6　リクエストタイムアウト値の変更

8.1.7　コマンド実行時に出力されるログ

8.1.8　UNIXでコマンドを実行する場合の注意事項

8.2　コマンドの一覧

8.3　コマンドの詳細

8.3.1　hrmchgaddr（あて先変更）

8.3.2　hrmchgque（ローカルキューの属性変更）

8.3.3　hrmchgque（受信用共用キューの属性変更）

8.3.4　hrmchgque（送信用共用キューの属性変更）

8.3.5　hrmchgque（転送キューの属性変更）

8.3.6　hrmdeladdr（あて先削除）

8.3.7　hrmdelmsg（メッセージの削除）

8.3.8　hrmdelque（キューの削除）

8.3.9　hrmlsaddr（あて先表示）

8.3.10　hrmlsdmsg（デッドメッセージの参照）

8.3.11　hrmlsmsg（メッセージの表示）

8.3.12　hrmlsque（キュー情報の表示）

8.3.13　hrmlsstat（システム状態の表示）

8.3.14　hrmlstrn（トランザクション状態の表示）

8.3.15　hrmlstrs（通信状態表示）

8.3.16　hrmmkaddr（あて先登録）

8.3.17　hrmmkque（ローカルキューの作成）

8.3.18　hrmmkque（受信用共用キューの作成）

8.3.19　hrmmkque（送信用共用キューの作成）

8.3.20　hrmmkque（転送キューの作成）

8.3.21　hrmregdmsg（デッドメッセージの再登録）

8.3.22　hrmskipmsg（受信待ちメッセージのスキップ）

8.3.23　hrmstart（実行状態への移行）

8.3.24　hrmstartque（キューの抑止解除）

8.3.25　hrmstarttrs（送受信抑止解除）

8.3.26　hrmstop（管理状態への移行）

8.3.27　hrmstopque（キューの抑止）

8.3.28　hrmstoptrs（送受信抑止）

9.　障害対策

9.1　障害時の出力情報

9.1.1　開始停止メッセージログ

9.1.2　Cosminexus用メッセージログ

9.1.3　メソッドトレース

9.1.4　共用キューイベントトレース

9.1.5　回線トレース

9.1.6　PRFトレース

9.2　キューの障害

9.3　メッセージの形式

9.4　メッセージの詳細

KFRM00002-W（C／O）

KFRM00003-W（C／O）

KFRM00004-W（C／O）

KFRM00005-W（C／O）

KFRM01000-E（S）

KFRM01001-E（S）

KFRM01002-E（S）

KFRM01003-W（S）

KFRM01004-I（S）

KFRM01005-I（S）

KFRM01006-I（S）

KFRM01007-I（S）

KFRM01008-I（S）

KFRM01009-I（C／O／S）

KFRM01010-I（S）

KFRM01011-I（S）

KFRM01012-E（S）

KFRM01013-E（S）

KFRM01014-I（S）

KFRM01015-I（S）

KFRM01016-I（S）

KFRM01017-E（C／O）

KFRM01018-E（C／O）

KFRM01019-I（S）

KFRM01020-I（S）

KFRM01800-E（C／O）

KFRM01801-E（C／O）

KFRM01802-E（C／O）

KFRM01803-W（C／O）

KFRM01804-I（C／O）

KFRM01805-I（C／O）

KFRM01806-E（C／O）

KFRM01807-W（C／O）

KFRM02000-E（C／O）

KFRM10000-E（C／O）

KFRM10001-E（C／O）

KFRM10002-E（C／O）

KFRM10003-E（C／O）

KFRM10022-E（C／O）

KFRM10023-E（C／O）

KFRM11000-E（C／O）

KFRM11001-E（C／O）

KFRM11002-W（C／O）

KFRM12000-E（C／O）

KFRM12001-E（C／O）

KFRM13000-E（C／O）

KFRM13001-I（C／O）

KFRM13004-W（C／O）

KFRM13005-E（C／O）

KFRM13006-W（C／O）

KFRM13007-W（C／O）

KFRM13011-W（C／O）

KFRM13012-W（C／O）

KFRM13013-I（C／O）

KFRM13015-I（C／O）

KFRM13016-E（C／O）

KFRM13017-E（C／O）

KFRM13018-E（C／O）

KFRM13019-E（C／O）

KFRM13020-E（C／O）

KFRM13021-E（C／O）

KFRM13022-W（C／O）

KFRM13023-E（C／O）

KFRM13024-W（C／O）

KFRM13025-I（C／O）

KFRM13026-I（C／O）

KFRM13027-I（C／O）

KFRM13028-W（C／O）

KFRM13029-I（C／O）

KFRM14000-E（C／O）

KFRM14001-E（C／O）

KFRM14002-E（C／O）

KFRM14003-E（C／O）

KFRM14004-E（C／O）

KFRM14005-E（C／O）

KFRM14008-E（C／O）

KFRM14009-E（C／O）

KFRM14010-E（C／O）

KFRM14012-W（C／O）

KFRM14013-E（C／O）

KFRM14014-E（C／O）

KFRM14015-E（C／O）

KFRM14016-E（C／O）

KFRM14017-E（C／O）

KFRM14018-E（C／O）

KFRM14019-E（C／O）

KFRM14020-E（C／O）

KFRM14021-E（C／O）

KFRM14022-E（C／O）

KFRM15000-E（C／O）

KFRM16000-E（C／O）

KFRM16001-E（C／O）

KFRM16002-E（C／O）

KFRM16003-W（C／O）

KFRM16005-E（C／O）

KFRM16006-E（C／O）

KFRM16008-E（C／O）

KFRM16009-I（C／O）

KFRM16010-I（C／O）

KFRM16011-E（C／O）

KFRM16012-E（C／O）

KFRM16013-E（C／O）

KFRM16014-E（C／O）

KFRM17000-E（C／O）

KFRM17001-E（C／O）

KFRM17002-E（C／O）

KFRM17003-E（C／O）

KFRM17004-E（C／O）

KFRM17005-E（C／O）

KFRM17006-E（C／O）

KFRM17007-W（C／O）

KFRM17008-W（C／O）

KFRM17009-W（C／O）

KFRM17010-W（C／O）

KFRM17011-W（C／O）

KFRM17012-W（C／O）

KFRM17013-E（C／O）

KFRM17014-W（C／O）

KFRM20000-E（U）

KFRM20001-E（U）

KFRM20002-E（U）

KFRM20003-E（U）

KFRM20004-E（U）

KFRM20005-E（U）

KFRM20006-E（U）

KFRM20007-E（U）

KFRM20008-E（U）

KFRM20009-E（U）

KFRM20010-E（U）

KFRM20011-E（U）

KFRM20012-E（U）

KFRM20014-I（T）

KFRM20016-I（T）

KFRM20017-I（T）

KFRM20018-I（T）

KFRM20019-I（T）

KFRM20020-I（T）

KFRM20021-I（T）

KFRM20022-I（T）

KFRM20024-I（T）

KFRM20025-I（C／O）

KFRM20026-I（C／O）

KFRM20027-I（C／O）

KFRM20028-E（U）

KFRM20029-E（U）

KFRM20030-E（U）

KFRM20031-I（C／O）

KFRM20032-E（U）

KFRM20033-E（U）

KFRM20034-E（U）

KFRM20035-E（U）

KFRM20036-E（U）

KFRM20037-E（U）

KFRM20038-E（U）

KFRM20039-E（U）

KFRM20040-E（U）

KFRM20041-E（U）

KFRM20042-E（U）

KFRM20043-E（U）

KFRM20044-E（U）

KFRM20045-E（U）

KFRM20046-E（U）

KFRM20047-I（C／O）

KFRM20048-I（C／O）

KFRM20049-I（C／O）

KFRM20050-I（T）

KFRM20051-I（T）

KFRM20052-I（T）

KFRM20053-I（T）

KFRM20055-I（T）

KFRM20056-I（T）

KFRM20057-I（T）

KFRM20058-I（T）

KFRM20059-E（U）

KFRM20060-E（U）

KFRM20061-E（U）

KFRM20062-E（U）

KFRM20063-E（U）

KFRM20064-E（U）

KFRM20065-E（U）

KFRM20066-E（U）

KFRM20067-E（U）

KFRM20068-E（U）

KFRM20071-E（U）

KFRM20072-E（U）

KFRM20074-I（T）

KFRM20075-I（T）

KFRM20078-I（T）

KFRM20079-I（T）

KFRM20080-I（C／O）

KFRM20081-W（C／O）

KFRM20082-E（U）

KFRM20083-E（U）

KFRM20084-E（U）

KFRM20085-E（U）

KFRM20086-E（U）

KFRM20087-E（U）

KFRM20088-E（U）

KFRM20089-E（U）

KFRM20090-E（U）

KFRM20091-E（U）

KFRM20092-E（C／O）

KFRM20093-E（C／O）

KFRM20094-W（C／O）

KFRM20095-E（C／O）

KFRM20096-W（U）

KFRM20097-W（C／O）

KFRM20098-I（T）

KFRM20099-I（T）

KFRM20100-E（U）

KFRM20121-W（C／O）

KFRM20122-W（C／O）

KFRM20123-W（C／O）

KFRM20125-E（U）

KFRM20126-E（U）

KFRM32000-E（S）

KFRM32001-E（S）

KFRM32002-W（S）

KFRM32003-I（S）

KFRM32006-W（C／O）

KFRM32007-W（S）

KFRM32008-W（C／O）

KFRM32009-E（C／O）

KFRM34000-E（C／O）

KFRM40001-I（C／O）

KFRM40003-W（C／O）

KFRM40004-W（C／O）

KFRM40005-E（C／O）

KFRM40006-W（C／O）

KFRM40007-I（C／O）

KFRM40008-W（C／O）

KFRM40009-W（C／O）

KFRM40010-W（C／O）

KFRM40011-E（C／O）

KFRM40012-I（C／O）

KFRM40013-E（C／O）

KFRM41000-W（C／O）

KFRM42000-W（C／O）

KFRM42002-W（C／O）

KFRM42003-W（C／O）

KFRM42004-W（C）

KFRM42005-W（C）

KFRM99000-E（C／O）

付録

付録A　JMS仕様との差異

付録A.1　インタフェースの機能差

付録A.2　クラスの機能差

付録A.3　メソッドの機能差

付録B　WS-Reliabilityサポート一覧

付録B.1　通信仕様

付録B.2　QoS

付録B.3　リプライパターン

付録B.4　グループ

付録B.5　WS-Reliabilityのヘッダ要素

付録B.6　SOAPアタッチメント

付録B.7　Cosminexus RMが返信するフォルトコード一覧

付録C　サンプルアプリケーション

付録C.1　環境構築のサンプル手順

付録C.2　SessionBean1の処理の流れ

付録C.3　SessionBean1の実行手順（永続版リソースアダプタの場合）

付録C.4　SessionBean1の実行手順（非永続版リソースアダプタの場合）

付録C.5　SessionBean2の処理の流れ（永続版リソースアダプタの場合）

付録C.6　SessionBean2の実行手順（永続版リソースアダプタの場合）

付録D　PRFトレース取得時のイベントID

付録D.1　永続版リソースアダプタの場合

付録D.2　非永続版リソースアダプタの場合

付録E　Cosminexus RMのメモリ所要量とディスク占有量

付録E.1　メモリ所要量

付録E.2　ディスク占有量

付録F　HiRDBの見積もり

付録F.1　HiRDBの排他資源の見積もり

付録F.2　同時アクセス可能実表数の見積もり

付録G　コネクションプールの見積もり

付録G.1　アプリケーションが消費するコネクション数

付録G.2　Cosminexus RMが消費するコネクション数

付録H　旧バージョンからの移行

付録H.1　uCosminexus Reliable Messaging 01-00からの移行

付録H.2　Cosminexus RM 01-01からの移行

付録H.3　Cosminexus RM 01-02からの移行

付録H.4　共用キューのバージョンアップ

付録H.5　移行時の注意事項

付録I　用語解説

索引

[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.

前書き

■ 対象製品

●適用OS：Windows XP，Windows Server 2003，Windows Server 2003 R2，Windows Server 2003（x64），Windows Server 2003 R2（x64），Windows Vista

P-2441-6A24　 Cosminexus Reliable Messaging　 01-03

●適用OS：AIX 5L V5.2，AIX 5L V5.3

P-1M41-6A21　 Cosminexus Reliable Messaging　 01-03※

●適用OS：HP-UX 11i V2（IPF），HP-UX 11i V3（IPF）

P-1J41-6A21　 Cosminexus Reliable Messaging　 01-03※

●適用OS：Red Hat Enterprise Linux AS 3（x86），Red Hat Enterprise Linux AS 4（x86），Red Hat Enterprise Linux ES 3（x86），Red Hat Enterprise Linux ES 4（x86），Red Hat Enterprise Linux AS 3（AMD64 & Intel EM64T），Red Hat Enterprise Linux AS 4（AMD64 & Intel EM64T），Red Hat Enterprise Linux ES 3（AMD64 & Intel EM64T），Red Hat Enterprise Linux ES 4（AMD64 & Intel EM64T）

P-9S41-6A21　 Cosminexus Reliable Messaging　 01-03※

●適用OS：Red Hat Enterprise Linux AS 3（IPF），Red Hat Enterprise Linux AS 4（IPF）

P-9V41-6A21　 Cosminexus Reliable Messaging　 01-03※

※印の製品については，サポート時期をご確認ください。
これらのプログラムプロダクトのほかにもこのマニュアルをご利用になれる場合があります。詳細は「リリースノート」でご確認ください。
これら製品は，経済産業省が2003年度から3年間実施した「ビジネスグリッドコンピューティングプロジェクト」の技術開発の成果を含みます。

■ 輸出時の注意

本製品を輸出される場合には，外国為替および外国貿易法ならびに米国の輸出管理関連法規などの規制をご確認の上，必要な手続きをお取りください。
なお，ご不明な場合は，弊社担当営業にお問い合わせください。

■ 商標類

AIXは，米国における米国International Business Machines Corp.の登録商標です。
HP-UXは，米国Hewlett-Packard Companyのオペレーティングシステムの名称です。
Itaniumは，アメリカ合衆国および他の国におけるインテル コーポレーションまたはその子会社の登録商標です。
Java 及びすべてのJava関連の商標及びロゴは，米国及びその他の国における米国Sun Microsystems, Inc.の商標または登録商標です。
Linuxは，Linus Torvaldsの米国およびその他の国における登録商標あるいは商標です。
Microsoftは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
ORACLEは，米国Oracle Corporation の登録商標です。
Oracleは，米国Oracle Corporation及びその子会社，関連会社の登録商標です。
Oracle9iは，米国Oracle Corporationの商標です。
Oracle 10gは，米国Oracle Corporationの商標です。
Red Hatは，米国およびその他の国でRed Hat,Inc. の登録商標若しくは商標です。
SOAP（Simple Object Access Protocol）は，分散ネットワーク環境においてXMLベースの情報を交換するための通信プロトコルの名称です。
SQL*Plusは，米国Oracle Corporationの登録商標です。
Windowsは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Windows Serverは，米国およびその他の国における米国Microsoft Corp. の商標です。
Windows Vistaは，米国Microsoft Corporationの米国及びその他の国における登録商標または商標です。

■ 発行

2006年4月（第1版）3020-3-M17
2007年6月（第3版）3020-3-M17-40

■ 著作権

All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.

変更内容

変更内容（3020-3-M17-40）　Cosminexus Reliable Messaging 01-03

追加・変更内容
変更個所

従来の永続版リソースアダプタに加えて非永続版リソースアダプタを提供するようにしたため，リソースアダプタの違いによる機能相違点を追加した。
非永続版リソースアダプタの追加に伴い，Cosminexus RMのコンフィグレーションプロパティにQueueMakeFileNameプロパティを追加した。
1.，2.2，2.3.1，2.3.2，2.3.5，2.5.1(3)，2.5.3(2)，2.6.7，3.1，表3-1，3.5，4.5.2，5.，6.1，6.2(3)，6.2(9)，6.2(12)，7.1，7.5，表8-1，8.3.2，8.3.7，8.3.8，8.3.11，8.3.12，8.3.13，8.3.14，8.3.17，8.3.24，8.3.27，表9-1，付録C，付録E

接続先DBがOracleで，トランザクションサポートレベルがXATransactionの場合に，複数のJ2EEサーバ上で複数のリソースアダプタが共通のDBを利用できるようにした。
1.3.4

メッセージの受け渡し方式で，値渡し方式と参照渡し方式を利用できるようにした。
これに伴い，次のように変更した。

Cosminexus RMのコンフィグレーションプロパティに，RMPassByReferenceプロパティを追加した。

障害コード HRM-00832を追加した。

表1-1，2.3.3，2.6.7(10)，表6-1，6.2(11)，表7-7

DB Connector for Cosminexus RMで次の機能を使用できるようにした。

ステートメントキャンセル

障害調査用SQLの出力

軽微な障害時のコネクション再利用

コネクションIDの取得

表1-1，2.7.2，2.7.3(2)，2.7.3(3)，2.7.3(4)，2.7.3(5)

キュー作成時の表示名を利用する場合は，キュー定義ファイルの作成を不要にした。
これに伴い，次のように変更した。

Cosminexus RMのコンフィグレーションプロパティにRMWaitRestorationプロパティを追加した。

次のコマンドに-xオプションを追加した。
・hrmchgque（ローカルキューの属性変更）
・hrmchgque（受信用共用キューの属性変更）
・hrmchgque（送信用共用キューの属性変更）
・hrmchgque（転送キューの属性変更）
・hrmmkque（ローカルキューの作成）
・hrmmkque（受信用共用キューの作成）
・hrmmkque（送信用共用キューの作成）
・hrmmkque（転送キューの作成）

表1-1，3.4.4，3.5.2，表6-1，6.2(4)，6.2(6)，8.3.2，8.3.3，8.3.4，8.3.5，8.3.8(5)，8.3.17，8.3.18，8.3.19，8.3.20，付録C.3，付録C.6

Cosminexus RMのトレースにPRFトレースを追加した。
表1-1，3.6.5，4.4，5.3，表9-1，9.1.6，付録D

メッセージの削除方法で，遅延削除と即時削除を利用できるようにした。
これに伴い，Cosminexus RMのコンフィグレーションプロパティに，RMDeleteMessageImmediatelyプロパティを追加した。
2.3.4，表6-1，6.2(10)

キュー間転送で異なるバージョンのCosminexus RMとメッセージを送受信する方法を追加した。
これに伴い，次のコマンドに-iオプションを追加した。

hrmchgque（転送キューの属性変更）

hrmmkque（転送キューの作成）

2.4.6，4.2.3，8.3.5，8.3.20，付録H

ObjectMessageのペイロードにユーザが定義したクラスのオブジェクトを格納する場合，送受信するアプリケーションにユーザが定義したクラスを含めなければならないようにした。
2.5.1(3)(b)，3.6.3

システム構築の流れを変更した。
3.

Connector属性ファイルのテンプレートを提供した。
3.1(3)，3.4.5(1)，3.4.8(1)，3.5.3(1)

システム構築のサンプル手順を追加した。
3.1(3)，付録C.1

適用OSにWindows Vistaを追加した。
4.5.1，5.4.1

Cosminexus RMの開始処理を待ち合わせる場合，タイムアウトが発生するまで待つことを避けることができるようにした。
これに伴い，Cosminexus RMのコンフィグレーションプロパティに，RMStartTimeoutプロパティを追加した。
表6-1，6.2(7)

DB Connector for Cosminexus RMのコンフィグレーションプロパティを追加した。
6.3

次の障害コードを追加した。
HRM-00832，HRM-00833
表7-7

送信用共用キューの属性を変更できるようにした。
これに伴い，hrmchgque（送信用共用キューの属性変更）コマンドを追加した。
表8-1，8.3.4

コネクションプールの見積もり方法を追加した。
付録G

Cosminexus RM 01-03への移行方法を追加した。
付録H

次のメッセージを追加した。
KFRM01807-W，KFRM10022-E，KFRM10023-E，KFRM13029-I，KFRM17000-E，KFRM17001-E，KFRM17002-E，KFRM17003-E，KFRM17004-E，KFRM17005-E，KFRM17006-E，KFRM17007-W，KFRM17008-W，KFRM17009-W，KFRM17010-W，KFRM17011-W，KFRM17012-W，KFRM17013-E，KFRM17014-W，KFRM20092-E，KFRM20093-E，KFRM20095-E，KFRM20096-W，KFRM20097-W，KFRM20098-I，KFRM20099-I，KFRM20100-E，KFRM20121-W，KFRM20122-W，KFRM20123-W，KFRM20125-E，KFRM20126-E，KFRM32009-E，KFRM40013-E
9.1.2，9.4

次のメッセージを変更した。
KFRM14004-E
9.4

次のメッセージを削除した。
KFRM20076-I，KFRM20077-I
9.4

単なる誤字・脱字などはお断りなく訂正しました。

第3版では，次に示すマニュアルの内容の一部をこのマニュアルに移動し，目次構成を変更しました。

・Cosminexus アプリケーション設定操作ガイド

・Cosminexus リファレンス 定義編

第2版との対応は次のようになっています。

第2版 | 第3版
1.　概要 | 1.　概要
2.　機能 | 2.　機能
3.　システム構築 | 3.　システム構築
3.1　前提製品の初期設定 | 3.1　システム構築の流れ
3.2　Cosminexus RMのインストール
3.2.1　前提製品のインストール
3.1.1　Cosminexusの初期設定 | 3.2.1(1)　Cosminexusのインストール
－ | 3.2.1(2)　DBMSのインストール
－ | 3.2.1(3)　DBクライアントのインストール
－ | 3.4　Cosminexus RMのシステム構築（永続版リソースアダプタの場合）
3.1.1(1)　Cosminexus DABroker Libraryの動作環境の設定 | 3.4.7　DB Connector for Cosminexus RMの前提製品の設定
3.1.2　DBクライアントの初期設定 | 3.4.1(2)　DBクライアントの設定
3.4.2(2)　DBクライアントの設定
3.1.3　DB Connectorの初期設定 | 3.4.8　DB Connector for Cosminexus RMのプロパティ定義
マニュアル「Cosminexus アプリケーション設定操作ガイド」から移動
3.1.4　DBMSの初期設定 | 3.4.1　DBMSの設定（HiRDBを使用する場合）
3.4.2　DBMSの設定（Oracleを使用する場合）
3.1.4(1)　HiRDBを使用する場合 | 3.4.1(1)　DBMSの初期設定（HiRDBを使用する場合）
3.1.4(1)(e)　HiRDBの排他資源の見積もり | 付録F　HiRDBの見積もり
3.1.4(1)(f)　同時アクセス可能実表数の見積もり
3.1.4(2)　Oracleを使用する場合 | 3.4.2(1)DBMSの初期設定（Oracleを使用する場合）
3.1.4(3)　注意事項 | 3.6.1　DBMSの設定をする場合
3.1.5　SOAP通信基盤の初期設定 | 3.4.13(1)　SOAP通信基盤の設定
3.2　Cosminexus RMの初期設定 | 3.1　システム構築の流れ
3.2.1　インストール | 3.2.2　Cosminexus RMをインストールすると格納されるファイル
－ | 3.3　システム構築の準備
3.2.2　システム名の決定 | 3.3.1　Cosminexus RMのシステム名の決定
3.2.3　環境変数の設定 | 3.3.2　環境変数の設定
3.2.4　管理情報テーブルの作成 | 3.4.1(3)　Cosminexus RMの管理情報テーブルの作成
3.4.2(3)　Cosminexus RMの管理情報テーブルの作成
－ | 3.4.3　J2EEサーバ（Cosminexus）の設定
3.2.5　キュー定義ファイルの作成 | 3.4.4　キュー定義ファイルの作成（永続版リソースアダプタの場合）
3.2.6　プロパティのカスタマイズ | 3.4.5　Cosminexus RMのプロパティ定義（永続版リソースアダプタの場合）
マニュアル「Cosminexus アプリケーション設定操作ガイド」から移動
マニュアル「Cosminexus アプリケーション設定操作ガイド」から移動 | 3.4.6　DB Connector for Cosminexus RMの選択
マニュアル「Cosminexus アプリケーション設定操作ガイド」から移動 | 3.4.9　DB Connector for Cosminexus RMとCosminexus RMのインポート
マニュアル「Cosminexus アプリケーション設定操作ガイド」から移動 | 3.4.10　DB Connector for Cosminexus RMとCosminexus RMのプロパティ設定
マニュアル「Cosminexus アプリケーション設定操作ガイド」から移動 | 3.4.11　DB Connector for Cosminexus RMとCosminexus RMのデプロイ
マニュアル「Cosminexus アプリケーション設定操作ガイド」から移動 | 3.4.12　Cosminexus RMの運用前の準備（永続版リソースアダプタの場合）
－ | 3.4.13　キュー間転送をする場合の設定
3.2.7　キュー間転送を使用する場合の設定 | 3.4.13(2)　キュー間転送をする場合のCosminexus RMの設定
3.2.8　その他の設定 | 3.4.13(3)　転送データ相互接続用インタフェースを利用する場合の設定
3.6.3　ObjectMessageのペイロードにユーザが定義したクラスのオブジェクトを格納する場合
3.6.4　同一サーバ上でCosminexus RMを複数デプロイする場合
－ | 3.6　システム構築時の注意事項
3.2.9　複数デプロイをする場合の注意事項 | 3.6.2　複数デプロイをする場合
－ | 3.5　Cosminexus RMのシステム構築（非永続版リソースアダプタの場合）
4.　運用 | 4.　Cosminexus RM（永続版リソースアダプタ）の運用
－ | 5.　Cosminexus RM（非永続版リソースアダプタ）の運用
5.　コンフィグレーションプロパティ | 6.　コンフィグレーションプロパティ
5.1　コンフィグレーションプロパティの一覧 | 6.1　コンフィグレーションプロパティの一覧
5.2　コンフィグレーションプロパティの詳細説明 | 6.2　コンフィグレーションプロパティの詳細説明
マニュアル「Cosminexus リファレンス 定義編」から移動 | 6.3　DB Connector for Cosminexus RMのコンフィグレーションプロパティの一覧
6.　インタフェース | 7.　インタフェース
7.　コマンドリファレンス | 8.　コマンドリファレンス
8.　障害対策 | 9.　障害対策
付録 | 付録

（凡例）　－：第3版で追加した項目

変更内容（3020-3-M17-20）　Cosminexus Reliable Messaging 01-02

追加・変更内容

Cosminexus RMが動作するJ2EEサーバモードを，スタンダードモードおよびアドバンスモードからJ2EEモードの1.4モードに変更した。

トランザクションのサポートレベルがXATransactionの場合，複数のJ2EEサーバ内の複数のリソースアダプタが共通のDBを利用できるようにした。

デッドメッセージキューに移動したメッセージを，移動前のキューに再登録できるようにした。あわせて，デッドメッセージキューのデッドメッセージの情報を参照できるようにした。
これに伴い，次のように変更した。
JMSメッセージの次のヘッダの説明を変更した。

JMSMessageID

JMSTimestamp

JMSExpiration

JMSメッセージに次のプロパティを追加した。

JMS_HITACHI_DeadMessageID

JMSメッセージのプロパティの説明を変更した。

JMS_HITACHI_DeadMessageTimestamp

JMS_HITACHI_DeadMessageCause

JMS_HITACHI_DeadMessageOriginalQueueName

次のコンフィグレーションプロパティの説明を変更した。

RMSHConnectFlagプロパティ

RMTRConnectFlagプロパティ

次のコマンドを追加した。

hrmlsdmsg（デッドメッセージの参照）

hrmregdmsg（デッドメッセージの再登録）

JMSXGroupSeqでは，リテラルに0以上の整数値を指定する旨の注意事項を追加した。

次のDB Connectorを使用できるようにした。

DABroker対応のDB Connector

HiRDB Type4 JDBCドライバ対応のDB Connector

Oracle JDBC Thinドライバ対応のDB Connector

これに伴い，障害コード HRM-00409の説明を変更した。

Oracleを使用する場合の接続ユーザに付与する権限として，ロール権限を追加した。

各DBで使用する言語モードは，Cosminexus DABroker LibraryやDB Connectorなどの上位のソフトウェアの言語モードと合わせる旨の注意事項を追加した。

Cosminexus RM 01-02への移行方法を追加した。

実行状態，管理状態，または開始中状態から閉塞状態に移行する旨の説明を追加した。また，閉塞状態での各コマンドの実行可否を追加した。

管理情報テーブルの一覧（データ型および列数の詳細）を追加した。

receive()発行時に該当キュー内にメッセージがなかった場合の説明を追加した。

次のメソッドにCosminexus RMのバージョン・リビジョンに応じて，戻り値が異なる旨の説明を追加した。

getProviderMajorVersionメソッド

getProviderMinorVersionメソッド

getProviderVersionメソッド

障害コード HRM-00911を削除した。

次のメッセージを追加した。
KFRM01020-I，KFRM13025-I，KFRM13026-I，KFRM13027-I，KFRM13028-W，KFRM20078-I，KFRM20079-I，KFRM20080-I，KFRM20081-W，KFRM20082-E，KFRM20083-E，KFRM20084-E，KFRM20085-E，KFRM20086-E，KFRM20087-E，KFRM20088-E，KFRM20089-E，KFRM20090-E，KFRM20091-E，KFRM20094-W，KFRM40012-I

次のメッセージを削除した。
KFRM13002-I，KFRM13003-I，KFRM13014-I，KFRM40002-I

次のメッセージを変更した。
KFRM01803-W，KFRM14016-E，KFRM14022-E，KFRM20012-E

はじめに

このマニュアルはCosminexus（コズミネクサス）のシステム内で，複数のアプリケーションをメッセージの非同期通信によって連携させる仕組みを説明したものです。

このマニュアルは次のプログラムプロダクトについて説明しています。

P-2441-6A24　Cosminexus Reliable Messaging

P-1M41-6A21　Cosminexus Reliable Messaging

P-1J41-6A21　Cosminexus Reliable Messaging

P-9S41-6A21　Cosminexus Reliable Messaging

P-9V41-6A21　Cosminexus Reliable Messaging

Cosminexus Reliable Messagingは，Cosminexusのシステム中で，メッセージキューを管理します。

対象読者

このマニュアルは，Cosminexusのシステムを構築する方およびシステム管理者を対象としています。

次の内容を理解されていることを前提としています。

OS（WindowsまたはUNIX）のシステム構築および運用に関する知識

JMSインタフェースでのプログラミングの知識

J2EEに関する知識

リレーショナルデータベースに関する基本的な知識

マニュアルの構成

このマニュアルは，次に示す章と付録から構成されています。

第1章　概要

Cosminexus Reliable Messagingの概要，必要な前提製品およびシステムの形態について説明しています。

第2章　機能

JMSのPTPメッセージングモデルの概要を示したあとで，各要素の機能について説明しています。また，DB Connector for Cosminexus RMの機能について説明しています。

第3章　システム構築

Cosminexus Reliable Messagingのシステムを構築する手順について説明しています。

第4章　Cosminexus RM（永続版リソースアダプタ）の運用

永続版リソースアダプタを使用する場合の，Cosminexus Reliable Messagingおよびアプリケーションの開始と停止，管理情報テーブルを保存したDBの運用などについて説明しています。

第5章　Cosminexus RM（非永続版リソースアダプタ）の運用

非永続版リソースアダプタを使用する場合の，Cosminexus Reliable Messagingおよびアプリケーションの開始と停止，ローカルキューの運用などについて説明しています。

第6章　コンフィグレーションプロパティ

Cosminexus Reliable MessagingおよびDB Connector for Cosminexus RMのコンフィグレーションプロパティの詳細について説明しています。

第7章　インタフェース

Cosminexus Reliable Messagingが提供するインタフェースの種類，クラスおよびメソッドの詳細およびアプリケーションの障害時に設定される障害コードについて説明しています。

第8章　コマンドリファレンス

Cosminexus Reliable Messagingが提供するコマンドについて説明しています。

第9章　障害対策

メッセージログとトレースの種類，場所，形式およびメッセージ内容について説明しています。

付録A　JMS仕様との差異

Cosminexus Reliable MessagingのJMSインタフェースの機能について，Sun Microsystems, Inc.が提供するJMS Version 1.0.2bとの機能差を説明しています。

付録B　WS-Reliabilityサポート一覧

Cosminexus Reliable Messagingの転送キュー機能の前提となるWS-Reliabilityプロトコルのサポート範囲について説明しています。

付録C　サンプルアプリケーション

Cosminexus Reliable Messagingが提供するサンプルアプリケーションの処理の流れおよびCosminexus Component Containerで実行する手順について説明しています。また，サンプルアプリケーション（SessionBean1）を動作させるための環境構築のサンプル手順について説明しています。

付録D　PRFトレース取得時のイベントID

Cosminexus Reliable Messagingでは，各処理の入口と出口でPRFトレースを取得します。各処理でのイベントID，PRFトレースの出力ポイント，およびトレースの取得レベルについて説明しています。

付録E　Cosminexus RMのメモリ所要量とディスク占有量

Cosminexus Reliable Messaging使用時のメモリ所要量およびインストール時のディスク占有量について説明しています。

付録F　HiRDBの見積もり

HiRDBの排他資源と同時アクセス可能実表数の見積もりについて説明しています。

付録G　コネクションプールの見積もり

コネクションプールに確保する最大コネクション数の見積もりについて説明しています。

付録H　旧バージョンからの移行

uCosminexus Reliable Messaging 01-00，Cosminexus Reliable Messaging 01-01，およびCosminexus Reliable Messaging 01-02からCosminexus Reliable Messaging 01-03へ移行するときの手順について説明しています。

付録I　用語解説

Cosminexus Reliable Messagingで使用する用語について説明しています。

関連マニュアル

このマニュアルでは，関連するマニュアルについて，対象OSおよびバージョン番号を省略して表記しています。マニュアルの正式名称とこのマニュアルでの表記を次の表に示します。

正式名称
このマニュアルでの表記

Cosminexus 機能解説
（3020-3-M03）
Cosminexus 機能解説

Cosminexus システム構築ガイド
（3020-3-M06）
Cosminexus システム構築ガイド

Cosminexus システム運用ガイド
（3020-3-M07）
Cosminexus システム運用ガイド

Cosminexus アプリケーション設定操作ガイド
（3020-3-M08）
Cosminexus アプリケーション設定操作ガイド

Cosminexus 運用管理操作ガイド
（3020-3-M09）
Cosminexus 運用管理操作ガイド

Cosminexus リファレンス コマンド編
（3020-3-M10）
Cosminexus リファレンス コマンド編

Cosminexus リファレンス 定義編
（3020-3-M11）
Cosminexus リファレンス 定義編

TPBroker ユーザーズガイド
（3020-3-M16）
TPBroker ユーザーズガイド

Cosminexus アプリケーション開発ガイド
（3020-3-M41）
Cosminexus アプリケーション開発ガイド

Cosminexus リファレンス API編
（3020-3-M42）
Cosminexus リファレンス API編

Cosminexus SOAPアプリケーション開発ガイド
（3020-3-M47）
Cosminexus SOAPアプリケーション開発ガイド

スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド（UNIX(R)用）
（3000-6-352）
HiRDB システム導入・設計ガイド

スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド（Windows(R)用）
（3020-6-352）

スケーラブルデータベースサーバ HiRDB Version 8 システム定義（UNIX(R)用）
（3000-6-353）
HiRDB システム定義

スケーラブルデータベースサーバ HiRDB Version 8 システム定義（Windows(R)用）
（3020-6-353）

スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド（UNIX(R)用）
（3000-6-354）
HiRDB システム運用ガイド

スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド（Windows(R)用）
（3020-6-354）

スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス（UNIX(R)用）
（3000-6-355）
HiRDB コマンドリファレンス

スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス（Windows(R)用）
（3020-6-355）

スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
（3020-6-356）
HiRDB UAP開発ガイド

スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス
（3020-6-357）
HiRDB SQLリファレンス

このマニュアルでの表記

このマニュアルで使用する製品名称の略称を次に示します。

名称 | 略称
AIX 5L V5.2 | AIX
AIX 5L V5.3
Cosminexus Reliable Messaging | Cosminexus RM
DB Connector for Cosminexus Reliable Messaging | DB Connector for Cosminexus RM
HP-UX 11i V2（IPF） | HP-UX
HP-UX 11i V3（IPF）
Itanium(R) Processor Family | IPF
JavaTM | Java
Red Hat Enterprise Linux AS 3（AMD64 & Intel EM64T） | Linux
Red Hat Enterprise Linux AS 3（IPF）
Red Hat Enterprise Linux AS 3（x86）
Red Hat Enterprise Linux AS 4（AMD64 & Intel EM64T）
Red Hat Enterprise Linux AS 4（IPF）
Red Hat Enterprise Linux AS 4（x86）
Red Hat Enterprise Linux ES 3（AMD64 & Intel EM64T）
Red Hat Enterprise Linux ES 3（x86）
Red Hat Enterprise Linux ES 4（AMD64 & Intel EM64T）
Red Hat Enterprise Linux ES 4（x86）
ORACLE(R) Oracle9i(TM) | Oracle
ORACLE(R) Oracle 10g(TM)
uCosminexus TP1/Server Base Enterprise Option | TP1/Server Base Enterprise Option | TP1/EE
Microsoft(R) Windows Server(TM) 2003，Enterprise Edition Operating System（x86） | Windows Server 2003
Microsoft(R) Windows Server(TM) 2003，Enterprise x64 Edition Operating System
Microsoft(R) Windows Server(TM) 2003，Standard Edition Operating System（x86）
Microsoft(R) Windows Server(TM) 2003，Standard x64 Edition Operating System
Microsoft(R) Windows Server(TM) 2003 R2 Enterprise Edition Operating System（x86）
Microsoft(R) Windows Server(TM) 2003 R2 Standard Edition Operating System（x86）
Microsoft(R) Windows Server(TM) 2003 R2，Enterprise x64 Edition Operating System
Microsoft(R) Windows Server(TM) 2003 R2，Standard x64 Edition Operating System
Microsoft(R) Windows Vista(TM) Business | Windows Vista
Microsoft(R) Windows Vista(TM) Enterprise
Microsoft(R) Windows Vista(TM) Ultimate
Microsoft(R) Windows(R) XP Professional Operating System | Windows XP

Windows Server 2003，Windows XP，およびWindows Vistaとで機能差がない場合，Windowsと表記しています。

AIX，HP-UX，およびLinuxを合わせてUNIXと表記しています。

略語一覧

このマニュアルで使用する英略語の一覧を次に示します。

英略語 | 英字での表記
API | Application Programming Interface
DB | Database
DBMS | Database Management System
EJB | Enterprise JavaBeansTM
FIFO | First-In First-Out
HTML | HyperText Markup Language
HTTP | HyperText Transfer Protocol
IIS | Internet Information Services
J2EE | JavaTM 2 Platform, Enterprise Edition
JCA | J2EE Connector Architecture
JDBC | Java DataBase Connectivity
JMS | JavaTM Message Service
JNDI | Java Naming and Directory InterfaceTM
JSP | JavaServer PagesTM
JTA | JavaTM Transaction API
NTP | Network Time Protocol
OASIS | Organization for the Advancement of Structured Information Standards
OS | Operating System
PTP | Point-to-Point
QoS | Quality of Service
RAC | Real Application Clusters
SOAP | Simple Object Access Protocol
SSL | Secure Socket Layer
UAP | User Application Program
UCS | Universal multi-octet coded Character Set
UTC | Coordinated Universal Time
UTF-8 | 8-bit UCS Transformation Format
VM | Virtual Machine

操作方法の説明で使用する記号

このマニュアルでは，次に示す記号を使用して操作方法を説明しています。

記号 | 意味
［　］ | メニュー，コマンド，ダイアログの名称およびボタンを示します。

図中で使用する記号

このマニュアルの図中で使用する記号を，次のように定義します。

文法の記号

このマニュアルで使用する各種の記号を説明します。

属性表示記号

ユーザ指定値の範囲などを説明する記号です。

属性表示記号 | 意味
～ | この記号のあとにユーザ指定値の属性を示します。
《　》 | ユーザが指定を省略したときの解釈値を示します。
＜　＞ | ユーザ指定値の構文要素を示します。
((　)) | ユーザ指定値の指定範囲を示します。

構文要素記号

ユーザ指定値の内容を説明する記号です。

構文要素記号 | 意味
＜英字＞ | 半角のアルファベット（A～Z，a～z）
＜数字＞ | 半角の数字（0～9）
＜英数字＞ | 英字と数字
＜識別子＞ | 先頭が英字の英数字列と＿（アンダスコア）
＜文字列＞ | 任意の文字の配列（ただし，2バイト文字は除く）

文法記述記号

記述形式を説明する記号です。

文法記述記号
意味

〔　〕
この記号で囲まれている項目は省略してもよいことを示します。

（例）

〔-l 最大メッセージ長〕

-lオプションとそのオペランドを指定するか，何も指定しないことを示します。

{　}
この記号で囲まれている複数の項目のうちから一つを選択することを示します。

（例）

{local｜shr_receive}

localとshr_receiveのうち，どちらかを指定することを示します。

｜
（ストローク）
この記号で区切られた項目は選択できることを示します。

（例）

{local｜shr_receive}

localとshr_receiveのうち，どちらかを指定することを示します。

<　>
この記号で囲まれている項目はユーザの環境によって異なることを表します。

（例）

<HiRDBサーバのホスト名またはIPアドレス>

ユーザの環境で使用しているHiRDBサーバのホスト名またはIPアドレスを指定することを示します。

適用OSの違いによる機能相違点の表記

このマニュアルは，AIX，HP-UX，Linux，およびWindowsに適用します。OSによって記述を書き分ける場合，次に示す表記を使用して，それぞれの説明にOS名を明記しています。

表記 | 意味
AIXの場合 | AIXに該当する表記です。
HP-UXの場合 | HP-UXに該当する表記です。
Linuxの場合 | Linuxに該当する表記です。
UNIXの場合 | UNIX（AIX，HP-UX，Linux）に該当する表記です。
Windowsの場合 | Windows（Windows Server 2003，Windows XP，Windows Vista）に該当する表記です。

このマニュアルで使用するディレクトリ名

このマニュアルでは，原則としてWindowsの表記を使用しています。UNIXの場合は，環境変数の頭に「$」を付加し，ディレクトリセパレータを「/」で読み替えてください。読み替えの例を次の表に示します。

Windowsの場合 | UNIXの場合
%HRMDIR%¥sql | $HRMDIR/sql

リソースアダプタの違いによる機能相違点の表記

このマニュアルの対象製品は，永続版リソースアダプタと非永続版リソースアダプタの2種類のリソースアダプタを提供します。リソースアダプタによって記述を書き分ける場合，次に示す表記を使用して，それぞれの説明にリソースアダプタの種別を明記しています。

表記 | 意味
永続版リソースアダプタの場合 | 永続版リソースアダプタに該当する表記です。
非永続版リソースアダプタの場合 | 非永続版リソースアダプタに該当する表記です。

このマニュアルで使用している記号

注意

間違いやすい点や注意しなければならない点などについて説明しています。

参考

補足的な情報を説明しています。

常用漢字以外の漢字の使用について

このマニュアルでは，常用漢字を使用することを基本としていますが，次に示す用語については，常用漢字以外の漢字を使用しています。

個所（かしょ）　同梱（どうこん）　必須（ひっす）　閉塞（へいそく）

KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

1.　概要

Cosminexus RMはCosminexusシステムを基盤として，アプリケーションをメッセージの非同期通信によって連携させるメッセージングミドルウェアです。

Cosminexus RMでは，永続版リソースアダプタと非永続版リソースアダプタの2種類のリソースアダプタを提供します。

この章では，Cosminexus RMの概要，必要な前提製品，システムの形態，およびシステム構築・運用の流れとマニュアルの参照先について説明します。

＜この章の構成＞

1.1　Cosminexus RMの概要

1.2　ソフトウェア構成

1.3　システム形態

1.4　システム構築・運用の流れとマニュアルの参照先

1.1　Cosminexus RMの概要

Cosminexus RMは，Cosminexusシステム上のアプリケーションがメッセージを使用して非同期に通信するためのミドルウェアです。メッセージ通信機能をアプリケーションに提供します。

送信側アプリケーションがメッセージを送信すると，メッセージはキューに登録されます。受信側アプリケーションがメッセージを受信すると，キューからメッセージが取り出されます。

こうして，キューを介してメッセージを送受信することによって，送信側と受信側のアプリケーションを同時に動作させる必要のない非同期通信ができます。

Cosminexus RMでは，永続版リソースアダプタと非永続版リソースアダプタを提供します。永続版リソースアダプタと非永続版リソースアダプタの概要について説明します。

＜この節の構成＞

(1)　永続版リソースアダプタの概要

(2)　非永続版リソースアダプタの概要

(1)　永続版リソースアダプタの概要

永続版リソースアダプタでは，メッセージやキューの属性情報，システムステータスなどをDBで管理し永続化しています。永続化とは，不揮発性の記憶媒体にデータを保存し，変化しない状態にすることです。

永続版リソースアダプタの概要について，次の図に示します。

図1-1　永続版リソースアダプタの概要

永続版リソースアダプタには，次に示す特長があります。

高信頼のメッセージ管理
Cosminexus RMがメッセージを登録するキューは，DBのテーブル上に作成されます。DBにメッセージを永続化することで，メッセージの再現性を保持し，高信頼のメッセージ管理ができます。

高信頼なメッセージ通信
確実に1回の配送保証，または順序保証のQoS（通信品質）を，ユーザが通信相手ごとに選択できます。

JMSインタフェースの採用
Cosminexus RMはアプリケーションにJMSインタフェースを提供します。JMSインタフェースは，Javaでのメッセージング通信のためのAPIです。

インターネット経由のシステム連携
通信手段としてSOAPおよびHTTPを利用します。HTTPは幅広く利用されているプロトコルです。多くの企業のファイアウォールはHTTP（80番ポート）による内外の通信を許可しているので，ファイアウォールを介した接続が比較的容易に実現できます。また，SSLを使用すると，秘密性，完全性などのセキュリティ機能を実現できます。

WS-Reliabilityによる通信のサポート
オープンで高信頼な通信プロトコルであるWS-Reliability によって，Cosminexus RM間での通信や，WS-Reliabilityに準拠した他ベンダのシステムとの通信ができます。WS-Reliabilityは標準化団体OASISで標準化された仕様です。

DB Connector for Cosminexus RMとのコネクション共有
Cosminexus RMとDB Connector for Cosminexus RMが同じDBに接続する場合，Cosminexus RMとDB Connector for Cosminexus RMのコネクションを共有することによって，DBのコネクションの有効利用とトランザクションの1相コミット化による性能向上の両方を実現できます。

(2)　非永続版リソースアダプタの概要

非永続版リソースアダプタでは，キューなどのシステム情報をDBで管理しないで非永続化します。非永続化とは，揮発性のメモリだけにデータを保存して，処理を実施することです。

非永続版リソースアダプタの概要について，次の図に示します。

図1-2　非永続版リソースアダプタの概要

非永続版リソースアダプタには，次に示す特長があります。

DB接続の不要
キューなどのシステム情報をDBで管理しないため，DBとの接続が不要になります。その結果，レスポンス性能の向上だけでなく，システム導入・構築，運用の簡易化とコストダウンが期待できます。

JMSインタフェースの採用
永続版リソースアダプタの場合と同様に，非永続版リソースアダプタでもアプリケーションにJMSインタフェースを提供します。JMSインタフェースは，Javaでのメッセージング通信のためのAPIです。

注意

非永続版リソースアダプタの場合，使用できるキューはローカルキューだけです。

1.2　ソフトウェア構成

Cosminexus RMが動作するには，幾つかの前提製品が必要です。

Cosminexus RMを使用するシステムのソフトウェア構成について，永続版リソースアダプタの場合を図1-3に，非永続版リソースアダプタの場合を図1-4に示します。

図1-3　永続版リソースアダプタを使用する場合のシステムのソフトウェア構成

図1-4　非永続版リソースアダプタを使用する場合のシステムのソフトウェア構成

各要素について説明します。

Cosminexus Developer's Kit for Java
Cosminexusが提供するJava 2 SDK, Standard Editionです。
詳細については，マニュアル「Cosminexus 機能解説」を参照してください。

Cosminexus Component Container
Cosminexus RMおよびアプリケーションが動作するJ2EEサーバです。
Cosminexus RMは，J2EEサーバモードの1.4モードで動作します。
このモードで，Cosminexus RMはリソースアダプタとして動作します。一つのJ2EEサーバ上で複数のCosminexus RMを動作させることができます。
J2EEサーバについては，マニュアル「Cosminexus 機能解説」を参照してください。

アプリケーション
ユーザが業務に合わせて作成するアプリケーションです。Cosminexusシステム上で動作するアプリケーションとして，Cosminexus RMが提供するJMSインタフェースを使用して作成します。
サーブレット，JSPまたはEJBとして作成します。

キュー
アプリケーションが送信したメッセージをCosminexus RMが登録するためのキューです。

永続版リソースアダプタの場合
ユーザは，Cosminexus RMが提供するコマンド（hrmmkqueコマンド）を使用してDBのテーブル上にキューを作成します。
自システムからのメッセージの登録と取り出しだけができるローカルキュー，相手システムとの通信に使用するための共用キューなどの種類があります。詳細については，「2.2　キューの種類」を参照してください。

非永続版リソースアダプタの場合
ユーザは，キュー作成ファイルにキュー属性を定義してCosminexus RM内にキューを作成します。
非永続版リソースアダプタでは，ローカルキューだけを使用できます。

Cosminexus TPBroker
分散オブジェクト環境でのオブジェクト間通信やトランザクション制御を提供する製品です。
J2EEサーバはCosminexus TPBrokerを利用してトランザクションマネジャとして動作します。Cosminexus RMはリソースマネジャとしてJ2EEサーバと連携します。
詳細については，マニュアル「TPBroker ユーザーズガイド」を参照してください。

DB Connector for Cosminexus RM
DBにアクセスするためのJ2EEリソースアダプタとなる，スタンドアロンモジュールです。Cosminexus RM（永続版リソースアダプタ）がDBにアクセスするときに使用します。
詳細については，マニュアル「Cosminexus システム構築ガイド」を参照してください。

HiRDB/Run Time，HiRDB/Developer's KitまたはOracle JDBC Driver
他マシン上のDBにアクセスするためのクライアント機能を提供する製品です。Cosminexus RM（永続版リソースアダプタ）とDBMSを同じマシン上で運用する場合は不要です。
HiRDB/Run TimeおよびHiRDB/Developer's Kitについては，マニュアル「HiRDB UAP開発ガイド」を参照してください。Oracle JDBC Driverについては，Oracleのマニュアルを参照してください。

HiRDB SQL Executer
SQLを実行するためのクライアントプログラムです。Cosminexus RM（永続版リソースアダプタ）が使用するシステムの管理情報をDBのテーブル上に作成するときに使用します。
HiRDB SQL Executerについては，HiRDB SQL Executerのドキュメントを参照してください。

DBMS
Cosminexus RM（永続版リソースアダプタ）では，メッセージを格納するキューや管理情報をDBのテーブル上に作成します。このDBを管理するためのDBMSです。
Cosminexus RMでは，DBMSとしてHiRDBまたはOracle※を使用できます。HiRDBのシステム設計については，マニュアル「HiRDB システム導入・設計ガイド」を参照してください。Oracleのシステム構築については，Oracleのマニュアルを参照してください。

注※

トランザクションのサポートレベルがXATransactionの場合，Oracle RAC機能は使用できません。

1.3　システム形態

Cosminexus RMのシステム形態は，自システム内だけの通信であるか，システム間の通信があるかによって異なります。各システムの形態とDBサーバを共有する形態について説明します。

＜この節の構成＞

1.3.1　単一システムでのアプリケーション連携

1.3.2　複数システム間でのアプリケーション連携

1.3.3　複数システムのキュー間でメッセージを転送するアプリケーション連携

1.3.4　DBサーバの共有

1.3.1　単一システムでのアプリケーション連携

自システム内のアプリケーション間で，ローカルキューを介してメッセージを送受信する形態です。この形態は，永続版リソースアダプタ，非永続版リソースアダプタ共に利用できます。

自システムの送信側アプリケーションがメッセージを送信するとき，ローカルキューにメッセージが登録されます。自システムの受信側アプリケーションがメッセージを受信するとき，ローカルキューからメッセージが取り出されます。

単一システムでのアプリケーション連携について，次の図に示します。

図1-5　単一システムでのアプリケーション連携（永続版リソースアダプタの場合）

図1-6　単一システムでのアプリケーション連携（非永続版リソースアダプタ場合）

1.3.2　複数システム間でのアプリケーション連携

自システムと相手システムが共用キューを共有してメッセージを送受信する形態です。この形態は，永続版リソースアダプタだけが利用できます。

自システムのアプリケーションがメッセージを送信するとき，送信用共用キューにメッセージが登録されます。送信用共用キューは定義だけの仮想的なキューです。メッセージが格納される領域の実体は，相手システムにとっての受信用共用キューにあります。相手システムのアプリケーションがメッセージを受信するとき，（相手システムにとっての）受信用共用キューからメッセージが取り出されます。

自システムおよび相手システムは，Cosminexus RMで構築されたシステムです。

複数システム間でのアプリケーション連携について，次の図に示します。

図1-7　複数システム間でのアプリケーション連携

1.3.3　複数システムのキュー間でメッセージを転送するアプリケーション連携

自システムから，他システムに組み込まれているCosminexus RMまたは他ベンダのメッセージングシステムに向けてメッセージを送信する形態です。この形態は，永続版リソースアダプタだけが利用できます。

複数システムのキュー間でメッセージを転送する場合に，自システムで使用するキューを転送キューといいます。転送キューについては，「2.2.2　転送キュー」を参照してください。

転送キューを使うには，転送先の情報が必要となります。他ベンダに向けたメッセージ転送は，BytesContainerインタフェースを使用することで実現できます。BytesContainerインタフェースについては，「7.8.2　BytesContainerインタフェース」を参照してください。

アプリケーションからメッセージを他システムに転送する手順を次に示します。

転送キューにメッセージを登録します。

転送キューにメッセージが登録された時点で他システムに向けたメッセージの転送が開始されます。ただし，コマンドでサーバ間転送のメッセージ送受信を抑止することもできます。また，転送キューに登録済みのメッセージは，アプリケーションからは取り出せません。

複数システムのキュー間でメッセージを転送するアプリケーション連携について，次の図に示します。

図1-8　複数システムのキュー間でメッセージを転送するアプリケーション連携

1.3.4　DBサーバの共有

Cosminexus RMはDBサーバが動作するマシンとは異なるマシンで動作できます。この場合，マシン間をLAN回線などで接続します。DBサーバの共有は，永続版リソースアダプタだけが利用できます。

1台のマシンには一つ以上のCosminexus RMを動作させることができます。また，複数のCosminexus RMで一つのDBサーバを共有できます。

しかし，一つのCosminexus RMが複数のDBサーバに接続することはできません。

DBサーバの共有について，次の図に示します。

図1-9　DBサーバの共有

＜この項の構成＞

(1)　管理情報テーブルとの対応関係

(2)　XATransaction利用時のリソースアダプタ間でのDB共有の制限

(1)　管理情報テーブルとの対応関係

Cosminexus RMは，メッセージを格納するキューや管理情報をDB上の管理情報テーブルに保存します。管理情報テーブルは，Cosminexus RMに1：1に対応する必要があります。複数のCosminexus RMで一つの管理情報テーブルを共有できません。特に，一つのJ2EEサーバ上で複数のCosminexus RMを動作させる場合はご注意ください。

管理情報テーブルはRMSystemNameプロパティ指定値によって特定のCosminexus RMと対応づけられます。複数のCosminexus RMがある場合は，システム間でRMSystemNameプロパティ指定値を一意にしてください。

管理情報テーブルの作成方法については，HiRDBの場合は「3.4.1(3)　Cosminexus RMの管理情報テーブルの作成」を，Oracleの場合は「3.4.2(3)　Cosminexus RMの管理情報テーブルの作成」を参照してください。

Cosminexus RMと管理情報テーブルの対応について，次の図に示します。

図1-10　Cosminexus RMと管理情報テーブルの対応

図中の番号（a）～（c）について説明します。

（a）

Cosminexus RM（1）がDB上の管理情報テーブル（1）と1：1に対応しています。

（b）

Cosminexus RM（2）がDB上の管理情報テーブル（2）と1：1に対応しています。Cosminexus RM（3）がDB上の管理情報テーブル（3）と1：1に対応しています。

管理情報テーブル（2）と管理情報テーブル（3）は，同じDB上に作成されています。

（c）

Cosminexus RM（4）とCosminexus RM（5）がDB上の管理情報テーブル（4）を共有しようとしています。これはCosminexus RMがサポートしない不正な構成です。

(2)　XATransaction利用時のリソースアダプタ間でのDB共有の制限

トランザクションのサポートレベルがXATransactionで，Cosminexus RMのほかにも，DBに関連するリソースアダプタ（DB Connectorなど）が動作し，各リソースアダプタが同じDBを使用する場合は，次に示す制限があります。

(a)　一つのJ2EEサーバ内の複数のリソースアダプタが共通のDBを利用する場合

接続先DBがHiRDBのとき

XAOpen文字列の値は，リソースアダプタごとに一意となるように指定してください。Cosminexus RMでは，XAOpen文字列を連携先のDB Connectorに指定します。

接続先DBがOracleのとき

連携先のDB Connectorとの間でDBコネクションを共有するときだけDBを共有できます。この場合，一つのJ2EEサーバ上に複数のCosminexus RMをデプロイして利用できません。

一つのJ2EEサーバ上で複数のリソースアダプタを利用する場合の，リソースアダプタのDB共有について，次の図に示します。

図1-11　リソースアダプタのDB共有（J2EEサーバが一つの場合）

(b)　複数のJ2EEサーバ内の複数のリソースアダプタが共通のDBを利用する場合

接続先DBがHiRDBのとき

XAOpen文字列の値は，リソースアダプタごとに一意となるように指定してください。Cosminexus RMでは，XAOpen文字列を連携先のDB Connectorに指定します。

接続先DBがOracleのとき

特に制限はありません。

複数のJ2EEサーバ上で複数のリソースアダプタを利用する場合の，リソースアダプタのDB共有について，次の図に示します。

図1-12　リソースアダプタのDB共有（J2EEサーバが複数の場合）

1.4　システム構築・運用の流れとマニュアルの参照先

システム構築・運用の流れとマニュアルでの説明個所の対応について説明します。また，Cosminexus RMの機能とマニュアルでの説明個所の対応についても説明します。

＜この節の構成＞

1.4.1　システム構築・運用の流れとマニュアルでの説明個所の対応

1.4.2　Cosminexus RMの機能とマニュアルでの説明個所の対応

1.4.1　システム構築・運用の流れとマニュアルでの説明個所の対応

Cosminexus RMのシステム構築・運用の流れとマニュアルでの説明個所の対応を次の図に示します。

図1-13　システム構築・運用の流れとマニュアルでの説明個所の対応

概要
Cosminexus RMの概要を把握します。

機能
Cosminexus RMの機能を把握します。
永続版リソースアダプタと非永続版リソースアダプタでは，利用できる機能が異なります。詳細は「1.4.2　Cosminexus RMの機能とマニュアルでの説明個所の対応」を参照してください。

システム構築
Cosminexus RMのシステムを構築します。
永続版リソースアダプタと非永続版リソースアダプタでは，システムの構築手順が異なります。図1-13で示すマニュアルでの説明個所に従ってシステムを構築してください。

コンフィグレーションプロパティ
環境に合わせてコンフィグレーションプロパティを設定します。
永続版リソースアダプタと非永続版リソースアダプタでは，設定するプロパティが異なります。詳細は「6.1　Cosminexus RMのコンフィグレーションプロパティの一覧」を参照してください。

インタフェース
Cosminexus RMが提供するインタフェースを使用してアプリケーションを実装します。
非永続版リソースアダプタでは，転送データ相互接続用インタフェースは使用できません。転送データ相互接続用インタフェースについては，永続版リソースアダプタの場合だけ参照してください。

運用
Cosminexus RMを運用します。
永続版リソースアダプタの場合は「4.　Cosminexus RM（永続版リソースアダプタ）の運用」を，非永続版リソースアダプタの場合は，「5.　Cosminexus RM（非永続版リソースアダプタ）の運用」を参照してください。

コマンドリファレンス
コマンドを入力することによってCosminexus RMを運用します。
永続版リソースアダプタと非永続版リソースアダプタでは，使用できるコマンドが異なります。詳細は「8.2　コマンドの一覧」を参照してください。

障害対策
Cosminexus RMの障害に対応します。

1.4.2　Cosminexus RMの機能とマニュアルでの説明個所の対応

Cosminexus RMの機能とマニュアルでの説明個所の対応を次の表に示します。

表1-1　Cosminexus RMの機能とマニュアルでの説明個所の対応

項番
機能
機能詳細
永続版リソースアダプタ
非永続版リソースアダプタ
マニュアルでの説明個所

1
キューの種類
ローカルキュー
○
△※1
2.2.1

転送キュー

受信用共用キュー

送信用共用キュー

デッドメッセージキュー

○
×※2
2.2.2，2.2.3，2.2.4，2.2.5

2
キューの永続性
永続キュー属性
○
×
2.3.1

非永続キュー属性
○
○

3
メッセージの受信制御

プライオリティでの順序

FIFOでの順序

メッセージセレクタでの順序

○
○
2.6.1，2.6.2

4
メッセージ取り出しモード

シリアル取り出し属性

パラレル取り出し属性

○
○
2.3.2

5
メッセージの作成
JMSインタフェース
○
○
7章

6
メッセージの受け渡し方式

値渡し方式

参照渡し方式

○
○
2.3.3

7
サーバ間転送

WS-Reliability（SOAP）によるサーバ間転送

OpenTP1システム（TP1/EE）とのサーバ間転送

○
×
2.4

8
Message-driven Beanとの連携
Message-driven Beanによるメッセージの配信
○
○
2.6.3

9
コマンド
運用コマンド
○
△※3
8章

10
DB Connector for Cosminexus RMの機能

DB Connector for Cosminexus RMとのコネクション共有（トランザクションの1相コミット化）

ステートメントキャンセル

障害調査用SQLの出力

軽微な障害時のコネクション再利用

コネクションIDの取得

○
×
2.7

11
J2EEインタフェース（JMS，JCA／JTA）

ローカルトランザクションの利用

トランザクションマネジャでのトランザクションの利用

○※4
○※4
2.6.6

コンテナ管理によるセキュリティ認証（コンテナ認証）

コンポーネント管理によるセキュリティ認証（アプリケーション認証）

○
×※5
2.6.5

シェアリングによるコネクションの共有

アソシエーションによるコネクションの共有

○
○
2.6.7，
マニュアル「Cosminexus 機能解説」

12
転送データ相互接続用API
転送データ相互接続用インタフェース（BytesContainer）
○
×
7章

13
キューの抑止制御
キューのメッセージの送受信を抑止
○
△※6
4.2.5，5.2.2，8.3.27

14
キューの障害閉塞
不整合となったキューの部分閉塞
○
×
9.2

15
J2EEサーバ（Cosminexus）の機能

コネクション接続テスト

コネクションの障害検知

コネクションプーリング

○
○※7
マニュアル「Cosminexus 機能解説」

16
ログとトレース

開始停止メッセージログ

Cosminexus用メッセージログ

メソッドトレース

PRFトレース

○
○
9.1

共用キューイベントトレース

回線トレース

○
×

17
キューのJNDIネーミングサービスへの登録

キュー定義ファイルの使用

キュー定義ファイルの未使用（キュー作成時の表示名の使用）

○
○※8
3.4.4，3.5.2

（凡例）

○：使用できます。

△：一部使用できます。

×：使用できません。

注※1

非永続キュー属性のローカルキューだけ使用できます。また，キュー間転送によるメッセージの受信はできません。

注※2

永続版リソースアダプタでデッドメッセージキューに登録されるメッセージは，非永続版リソースアダプタでは，即削除されます。

注※3

管理状態だけで実行できるコマンド，キュー間転送で使用するコマンドなどは使用できません。

注※4

トランザクションサポートレベルには，NoTransaction，LocalTransaction，およびXATransactionを指定できます。

注※5

認証情報を指定しても無視されます。

注※6

メッセージの送受信抑止だけできます。キュー間転送関連の送受信抑止は使用できません。また，Cosminexus RMの再開始後，キューの抑止状態は引き継がれません。

注※7

コネクション接続テスト，およびコネクションの障害検知は常に成功します。また，プールされるコネクション中にJDBCリソースは保持されません。

注※8

キュー定義ファイル未使用時のキューの表示名は，キュー作成ファイルで定義します。

2.　機能

Cosminexus RMは，JMSのPTPメッセージングモデルに基づく要素でシステムを構成します。要素には，キュー，メッセージおよびアプリケーションがあります。

この章では，PTPメッセージングモデルの概要を示したあとで，各要素の機能について説明します。さらに，DB Connector for Cosminexus RMの機能について説明します。

＜この章の構成＞

2.1　メッセージングモデル

2.2　キューの種類

2.3　メッセージの管理

2.4　メッセージのキュー間転送

2.5　メッセージの構成

2.6　アプリケーションからのメッセージ操作

2.7　DB Connector for Cosminexus RMの機能

2.1　メッセージングモデル

メッセージングモデルは，メッセージ通信に関係する構成要素と動作を規定したものです。Cosminexus RMがサポートするメッセージングモデルについて説明します。

＜この節の構成＞

2.1.1　PTPメッセージングモデル

2.1.1　PTPメッセージングモデル

Cosminexus RMが実装するJMSインタフェースは，JMS Version 1.0.2bのPTP（ポイントツーポイント）メッセージングモデルに基づきます。

送信側アプリケーションは特定のキューに対してメッセージを送信します。受信側アプリケーションはキューからメッセージを受信します。

PTPメッセージングモデルの概要について，次の図に示します。

図2-1　PTPメッセージングモデルの概要

2.2　キューの種類

アプリケーションが送受信するメッセージは，Cosminexus RMが管理するキューに登録されます。永続版リソースアダプタの場合と非永続版リソースアダプタの場合とで，キューの作成や削除などの方法が異なります。

永続版リソースアダプタの場合
キューは，hrmmkqueコマンドによってDB上のテーブルに作成されます。キュー作成時に指定する-tオプション指定値によって，目的ごとにキューの種類を作り分けできます。
hrmmkqueのコマンドオプションには，格納メッセージの管理方法や格納できるメッセージ数などの属性を指定します。属性はhrmlsqueコマンドで確認でき，hrmchgqueコマンドで変更できます。不要なキューは，hrmdelqueコマンドによって削除できます。

非永続版リソースアダプタの場合
キュー定義文（定義の先頭にhrmmkqueを記述）を指定して，キュー作成ファイルを作成します。キュー作成ファイルに指定したキュー定義文を基に，Cosminexus RM開始時にキューが作成されます。非永続版リソースアダプタの場合，作成されるキューは非永続キュー属性のローカルキューだけです。また，キューはDBで管理されません。
キュー定義文のオプションには，格納メッセージの管理方法や格納できるメッセージ数などの属性を指定します。属性はhrmlsqueコマンドで確認できます。属性を変更する場合，および不要なキューを削除する場合は，キュー作成ファイルを編集します。

＜この節の構成＞

2.2.1　ローカルキュー

2.2.2　転送キュー

2.2.3　受信用共用キュー

2.2.4　送信用共用キュー

2.2.5　デッドメッセージキュー

2.2.1　ローカルキュー

ローカルキューは，自システムのアプリケーション間で送受信するメッセージ，またはサーバ間転送のために受信したメッセージを登録するキューです。自システムのアプリケーションは，ローカルキューを指定してメッセージを送信したり，受信したりします。なお，hrmstopqueコマンドを使用して，アプリケーションのメッセージの送受信，およびサーバ間転送のメッセージの送受信を抑止できます。サーバ間転送の詳細は，「2.4　メッセージのキュー間転送」を参照してください。

ローカルキューは，永続版リソースアダプタ，非永続版リソースアダプタのどちらの場合も使用できます。永続版リソースアダプタ，非永続版リソースアダプタのローカルキューの概要をそれぞれ説明します。

＜この項の構成＞

(1)　永続版リソースアダプタの場合

(2)　非永続版リソースアダプタの場合

(1)　永続版リソースアダプタの場合

永続版リソースアダプタのローカルキューの概要について，次の図に示します。

図2-2　ローカルキューの概要（永続版リソースアダプタの場合）

作成方法
永続版リソースアダプタのローカルキューを作成するには，hrmmkqueコマンドの-tオプションにlocalを指定します。

送受信できるメッセージ種別
永続版リソースアダプタのローカルキューには，アプリケーションは次に示すメッセージインタフェースを使用してメッセージを送受信できます。

Message

BytesMessage

ObjectMessage

TextMessage

なお，送受信するメッセージはCosminexus RMが提供するQueueSessionインタフェースのメソッドで生成したオブジェクトです。

(2)　非永続版リソースアダプタの場合

非永続版リソースアダプタの場合，使用できるのは非永続キュー属性のローカルキューだけです。また，サーバ間転送によるメッセージ受信はできません。

非永続版リソースアダプタのローカルキューの概要について，次の図に示します。

図2-3　ローカルキューの概要（非永続版リソースアダプタの場合）

作成方法
キュー定義文（定義の先頭にhrmmkqueを記述）を指定して，キュー作成ファイルを作成します。キュー作成ファイルに指定したキュー定義文を基に，Cosminexus RM開始時に非永続キュー属性のローカルキューが作成されます。

送受信できるメッセージ種別
非永続版リソースアダプタのローカルキューには，アプリケーションは次に示すメッセージインタフェースを使用してメッセージを送受信できます。

Message

BytesMessage

ObjectMessage（ペイロードにBytesContainerは格納できない）

TextMessage

なお，送受信するメッセージはCosminexus RMが提供するQueueSessionインタフェースのメソッドで生成したオブジェクトです。

2.2.2　転送キュー

転送キューは，他システムに存在するCosminexus RMまたは他ベンダのメッセージングシステムに向けてメッセージを送信するためのキューです。転送キューを使うには，転送先の情報が必要になります。他ベンダに向けたメッセージ転送は，BytesContainerを使用することで実現できます。

メッセージをアプリケーションから他システムに転送したい場合は，自システムの転送キューにメッセージを登録します。

他システムに向けたメッセージの転送は，転送キューにメッセージが登録された時点で開始します。ただし，hrmstopqueコマンドでサーバ間転送のメッセージ送受信を抑止することもできます。また，アプリケーションは転送キューから登録済みのメッセージを取り出すことはできません。

転送キューによるメッセージ転送は，永続版リソースアダプタの場合だけ利用できます。

転送キューの概要について，次の図に示します。

図2-4　転送キューの概要

作成方法
転送キューを作成するには，hrmmkqueコマンドの-tオプションにtransmitを指定し，事前にhrmmkaddrコマンドで登録しておいたあて先情報を-aオプションに指定します。

送信できるメッセージ種別
転送キューには，アプリケーションは次に示すメッセージインタフェースを使用してメッセージを送信できます。

送信先がCosminexus RMの場合
ローカルキューと同じ

送信先が他システムの場合
ObjectMessage（ボディにBytesContainerを含む）

2.2.3　受信用共用キュー

受信用共用キューは，共用キューを使用して複数システム間でのアプリケーション連携をする場合に，メッセージを取り出すためのキューです。受信側アプリケーションは受信用共用キューを指定してメッセージを受信します。また，自システムのアプリケーションから受信用共用キューを指定してメッセージを送信することもできます。さらに，hrmstopqueコマンドを使用して，アプリケーションのメッセージの送受信を抑止できます。

受信用共用キューによるメッセージの受信は，永続版リソースアダプタの場合だけ利用できます。

受信用共用キューの概要について，次の図に示します。

図2-5　受信用共用キューの概要

作成方法
受信用共用キューを作成するには，hrmmkqueコマンドの-tオプションにshr_receiveを指定します。

受信できるメッセージ種別
受信用共用キューから，アプリケーションは次に示すメッセージインタフェースを使用してメッセージを受信できます。

BytesMessage
ただし，メッセージのペイロードだけを取り出しできます。メッセージのペイロードについては，「2.5.1　JMSメッセージの構成」を参照してください。

なお，受信するメッセージはCosminexus RMが提供するQueueSessionインタフェースのメソッドで生成したオブジェクトです。

注意

受信用共用キューは，接続先のデータベースの種別がHiRDBの場合だけ作成できます。接続先のデータベースの種別がOracleの場合に受信用共用キューを作成するとエラーが発生します。

共用キューを作成する場合，同一スキーマ定義内に，送信側システムの管理情報テーブルと受信側システムの管理情報テーブルを定義してください。管理情報テーブルの作成については，「3.4.1(3)　Cosminexus RMの管理情報テーブルの作成」を参照してください。

2.2.4　送信用共用キュー

送信用共用キューは，共用キューを使用して複数システム間でのアプリケーション連携をする場合に，メッセージのあて先として指定するキューです。

送信用共用キューは定義だけのキューです。メッセージが格納されるメモリやディスク領域などの実体は，受信側システムの受信用共用キューです。アプリケーションが（送信側システムにとっての）送信用共用キューにメッセージを登録すると，実体上は（受信側システムにとっての）受信用共用キューに登録されます。

（送信側システムにとっての）送信用共用キューは（受信側システムにとっての）受信用共用キューとn：1（n：任意の整数）に対応づけることができます。そのため，受信側システムでは，複数の送信側システムから送信されたメッセージを一つの受信用共用キューに格納するような構成にできます。

送信用共用キューによるメッセージの送信は，永続版リソースアダプタの場合だけ利用できます。

送信用共用キューの概要について，次の図に示します。

図2-6　送信用共用キューの概要

作成方法
送信用共用キューを作成するには，hrmmkqueコマンドの-tオプションにshr_sendを指定します。-bオプションには，相手システムの受信用共用キューに基づく名前を指定します。キュー属性の多くは，（受信側システムにとっての）受信用共用キューに指定された値に従います。

送信できるメッセージ種別
送信用共用キューには，アプリケーションは次に示すメッセージインタフェースを使用してメッセージを送信できます。

BytesMessage
ただし，メッセージのペイロードだけが保存されます。メッセージのペイロードについては，「2.5.1　JMSメッセージの構成」を参照してください。

なお，送信するメッセージはCosminexus RMが提供するQueueSessionインタフェースのメソッドで生成したオブジェクトです。

注意

送信用共用キューは，接続先のデータベースの種別がHiRDBのときだけ作成できます。接続先のデータベースの種別がOracleのときに送信用共用キューを作成するとエラーが発生します。

2.2.5　デッドメッセージキュー

デッドメッセージキューは，有効期限に達したメッセージなどが移動される特別なローカルキューです。システム内に一つだけ指定できます。自システムのアプリケーションは，ローカルキューと同様にデッドメッセージキューから該当するメッセージを受信できますが，デッドメッセージキューにメッセージを送信することはできません。また，デッドメッセージキューに移動したメッセージは，移動前のキューに新しいメッセージとして再登録できます。さらに，hrmstopqueを使用して，アプリケーションのメッセージの受信を抑止することもできます。

デッドメッセージキューは，永続版リソースアダプタの場合だけ利用できます。永続版リソースアダプタでデッドメッセージキューに移動されるメッセージは，非永続版リソースアダプタでは，即削除されます。

デッドメッセージキューの概要について，次の図に示します。

図2-7　デッドメッセージキューの概要

作成方法
デッドメッセージキューを作成する方法は，ローカルキューと同じです。ただし，RMDeadMessageQueueNameプロパティにキュー名を指定する必要があります。

＜この項の構成＞

(1)　デッドメッセージキューへの登録

(2)　サーバ間転送でのデッドメッセージキューへの登録

(1)　デッドメッセージキューへの登録

サーバ間転送以外の通信では，次に示す場合に，メッセージはデッドメッセージキューに登録されます。サーバ間転送の場合のデッドメッセージキューへの登録については，「(2)　サーバ間転送でのデッドメッセージキューへの登録」を参照してください。

メッセージが有効期限に達した場合
キューに登録されているメッセージが有効期限に達した場合，そのメッセージはデッドメッセージキューに移動されます。ただし，デッドメッセージキューに登録されているメッセージは，有効期限をチェックされないので対象外です。
また，次に示すときメッセージはデッドメッセージキューに移動されないで削除されます。
(a)RMDeadMessageQueueNameプロパティの指定がないとき
(b)RMDeadMessageQueueNameプロパティに指定されたキューがないとき
(c)メッセージ数超過やDB障害などの要因によって，デッドメッセージキューへの登録に失敗したとき

メッセージの配送回数が最大値に達した場合
receive()またはreceiveNoWait()メソッドを発行してメッセージを受信するアプリケーションやMessage-driven Beanでメッセージの配信を受けるアプリケーションに，Cosminexus RMがキューから取り出したメッセージを渡すことを配送といいます。
Cosminexus RMが処理するメッセージの配送回数の最大値はRMMaxDeliveryNumプロパティで指定します。
キューに登録されているメッセージの配送回数が最大値に達した場合，そのメッセージはデッドメッセージキューに移動されます。ただし，デッドメッセージキューに登録されているメッセージは，配送回数をチェックされないので対象外です。また，次に示すときメッセージはデッドメッセージキューに移動されないで，配送できる状態になります。
(a)RMDeadMessageQueueNameプロパティの指定がないとき
(b)RMDeadMessageQueueNameプロパティに指定されたキューがないとき
(c)メッセージ数超過やDB障害などの要因によって，デッドメッセージキューへの登録に失敗したとき

(2)　サーバ間転送でのデッドメッセージキューへの登録

サーバ間転送では，次に示す場合に，メッセージはデッドメッセージキューに登録されます。

メッセージの転送中に通信の有効期限に達した場合
メッセージの転送中に通信の有効期限に達した場合，そのメッセージはデッドメッセージキューに登録されます。転送中に通信の有効期限に達する場合の例を次に示します。
(a)転送されてきたメッセージが通信の有効期限に達していたとき
(b)順序保証をしていて，順序が前のメッセージが転送される前に順序があとのメッセージが転送されて，順序が前のメッセージの到達待ちの間に通信の有効期限に達したとき
(a)のときは受信に失敗するため，送信側システムのデッドメッセージキューに登録されます。(b)のとき，順序保証のため滞留している順序があとのメッセージは，ローカルキューには登録されないで，受信側システムのデッドメッセージキューに登録されます。順序保証については，「2.4.4　キュー間転送のQoS」を参照してください。
メッセージ数の超過やDB障害などの要因によってデッドメッセージキューへの登録に失敗した場合は，デッドメッセージキューへの登録をリトライし続けます。
通信の有効期限に達した場合の処理を次の図に示します。

図2-8　メッセージの転送中に通信の有効期限に達した場合の処理

電文不正などの障害でメッセージの受信に失敗し，かつ再送もできない場合
電文不正などの障害でメッセージの受信に失敗し，かつ再送もできない場合は，そのメッセージは送信側システムのデッドメッセージキューに登録されます。
また，受信に失敗したメッセージが順序保証をしていて，かつすでに受信側システムには順序保証のために滞留しているメッセージがあった場合，滞留しているメッセージはすべて受信側システムのデッドメッセージキューに登録されます。
メッセージ数の超過やDB障害などの要因によってデッドメッセージキューへの登録に失敗した場合は，デッドメッセージキューへの登録をリトライし続けます。
メッセージの転送ができない場合の処理を，受信側システムに滞留しているメッセージがない場合と滞留しているメッセージがある場合に分けて，次の図に示します。

図2-9　電文不正などの障害でメッセージの受信に失敗した場合の処理

2.3　メッセージの管理

Cosminexus RMのアプリケーションが送受信するメッセージを管理するときに注意が必要な点について説明します。

＜この節の構成＞

2.3.1　キューの永続性

2.3.2　メッセージ取り出しモード

2.3.3　メッセージの受け渡し

2.3.4　メッセージの削除

2.3.5　メッセージの有効期間

2.3.1　キューの永続性

永続版リソースアダプタの場合，キューの作成時には，hrmmkqueコマンドの-mオプションにキューの永続性を指定できます。永続性には次に示す属性があり，メッセージの管理が異なります。

永続キュー属性（-mオプションにpersistentを指定）
送信側アプリケーションが送信したメッセージは，受信側アプリケーションが受信するまでキューのあるDB上で永続的に管理されます。DB障害以外によってメッセージが消滅しないため，通常は永続キュー属性を指定することをお勧めします。
メッセージを送信する際には，DBへの書き込みと同時にCosminexus RMが管理するメモリ上にメッセージがキャッシュされます。同一メッセージの受信の際はメモリ上からメッセージが読み取られるため，取り出し処理のレスポンスが向上します。

非永続キュー属性（-mオプションにnon_persistentを指定）
送信側アプリケーションが送信したメッセージは，Cosminexus RMのメモリ上でだけ管理され，DB上では管理されません。永続キュー属性を指定する場合と比較すると，DBへの書き込みが発生しない分だけレスポンスが良くなりますが，障害発生時やCosminexus RMを再度開始するときにメッセージは消滅します。

キューに指定できる永続性について，次の表に示します。

表2-1　キューに指定できる永続性

項番 | キューの種類 | 永続キュー属性 | 非永続キュー属性
1 | ローカルキュー | ○ | ○
2 | 転送キュー | ○ | △※
3 | 受信用共用キュー | ○ | ×
4 | 送信用共用キュー | × | ×
5 | デッドメッセージキュー | ○ | ○

（凡例）

○：指定できます。

△：制限付きで指定できます。

×：指定できません。

注※

順序保証を指定している場合は指定できません。

非永続版リソースアダプタの場合，キューの永続性は非永続キュー属性だけになります。Cosminexus RMの開始時に非永続キュー属性のローカルキューが作成されるため，キューの永続性は指定できません。

2.3.2　メッセージ取り出しモード

キューの作成時には，次のようにメッセージ取り出しモードを指定できます。

永続版リソースアダプタの場合
hrmmkqueコマンドの-dオプションにメッセージ取り出しモードを指定して，コマンドを実行します。

非永続版リソースアダプタの場合
キュー定義文の-dオプションにメッセージ取り出しモードを指定して，キュー作成ファイルを作成します。

メッセージ取り出しモードには次に示す属性があり，アプリケーションがキューからメッセージを受信するときの多重化制御が異なります。

シリアル取り出し属性（-dオプションにserialを指定）
アプリケーションがトランザクション内でキューからメッセージを受信したあと，トランザクションが未決着な状態であるとき，異なるアプリケーション（または異なるスレッドのトランザクション）での次メッセージの取り出しが抑止されます。トランザクションが決着してから受信できるようになります。
つまり，同一トランザクション内でのメッセージの連続的な受信だけができます。
複数のアプリケーション（または複数のスレッドのトランザクション）でメッセージを受信する場合に，メッセージが送信されたときの順序を保持する必要があるときに指定します。
シリアル取り出し属性の概要について，次の図に示します。

図2-10　シリアル取り出し属性の概要

パラレル取り出し属性（-dオプションにparallelを指定）
アプリケーションがトランザクション内でキューからメッセージを受信したあと，トランザクションが未決着な状態であるとき，異なるアプリケーション（または異なるスレッドのトランザクション）での次メッセージの受信ができます。
複数のアプリケーション（または複数のスレッドのトランザクション）でメッセージを受信する場合に，メッセージが送信されたときの順序を保持する必要がないときに指定します。シリアル取り出し属性よりもメッセージ受信時のスループットが優れます。
パラレル取り出し属性の概要について，次の図に示します。

図2-11　パラレル取り出し属性の概要

2.3.3　メッセージの受け渡し

Cosminexus RMは，アプリケーションとキューとの間でメッセージの受け渡しをします。

＜この項の構成＞

(1)　メッセージの受け渡し方式

(2)　参照渡し方式を利用した場合の動作

(3)　参照渡し方式を利用した場合のメッセージの再利用

(1)　メッセージの受け渡し方式

アプリケーションとキューとの間でメッセージを受け渡す方式には，値渡し方式と参照渡し方式の二つ方法があります。それぞれの方法について説明します。

(a)　値渡し方式

値渡し方式は，Cosminexus RMで扱うメッセージとアプリケーションが保持するメッセージを分離する方式です。そのため，アプリケーションが1度登録したメッセージを変更したり，取り出したメッセージを再び登録したりできます。Cosminexus RMは，メッセージの登録時および取り出し時にメッセージをコピーします。

値渡し方式を利用したメッセージの受け渡しの概要を，次の図に示します。

図2-12　値渡し方式を利用したメッセージの受け渡しの概要

(b)　参照渡し方式

参照渡し方式は，アプリケーションが保持するメッセージをそのままCosminexus RMで扱う方式です。アプリケーションがCosminexus RMと同じメッセージのインスタンスを参照するため，アプリケーションでメッセージを利用するときに，メッセージの再利用ができないなどの制限があります。しかし，値渡し方式よりも高速にメッセージを送受信できます。

参照渡し方式を利用する場合，RMPassByReferenceプロパティにtrueを指定します。

参照渡し方式を利用したメッセージの受け渡しの概要を，次の図に示します。

図2-13　参照渡し方式を利用したメッセージの受け渡しの概要

(2)　参照渡し方式を利用した場合の動作

参照渡し方式では，送信側アプリケーションが保持するメッセージと受信側アプリケーション（受信をロールバックした場合，ロールバックする前の受信側アプリケーションを含む）が保持するメッセージが同じインスタンスとなります。そのため，最後の受信側アプリケーションがメッセージを受信すると，送信側アプリケーションと以前の受信側アプリケーションが保持するメッセージは，最後の受信側アプリケーションのメッセージと同じ状態となります。

参照渡し方式を利用した場合の動作を，次の図に示します。

図2-14　参照渡し方式を利用した場合の動作

図2-14に示すように，送信側アプリケーションと受信側アプリケーションでは次の状態となります。

送信側アプリケーションと以前の受信側アプリケーション（受信側アプリケーション（1））が保持し続けているメッセージから取得できる情報は，最後の受信側アプリケーション（受信側アプリケーション（2））が保持するメッセージと等しくなる。

送信側アプリケーションと以前の受信側アプリケーション（受信側アプリケーション（1））がMessage.acknowledge()メソッドを呼び出すと，最後の受信アプリケーション（受信側アプリケーション（2））が保持するメッセージの受信を承認したことになる。

(3)　参照渡し方式を利用した場合のメッセージの再利用

参照渡し方式を利用した場合，Cosminexus RMが持つメッセージのインスタンスをアプリケーションも保持していることがあります。そのため，アプリケーションによるメッセージの再利用は行えません。メッセージの再利用とは，Cosminexus RMのキューに登録されたメッセージまたは登録を試みたメッセージを，再び登録することやそのメッセージに設定した情報を変更することです。アプリケーションによってメッセージを再利用した場合はエラーが発生します。再利用できないメッセージを次に示します。

QueueSenderインタフェースを使用して登録したメッセージ（登録失敗およびロールバックしたメッセージを含む）

QueueReceiverインタフェースを使用して取り出したメッセージ

MDBによって配信されたメッセージ

QueueBrowserインタフェースを使用して参照したメッセージ

2.3.4　メッセージの削除

Cosminexus RMは，アプリケーションによるメッセージの取り出しなどで不要になったキュー内のメッセージを削除します。

＜この項の構成＞

(1)　メッセージの削除方法

(2)　キューの種類と利用できる削除方法

(1)　メッセージの削除方法

メッセージを削除する方法には，遅延削除と即時削除の二つ方法があります。それぞれの方法について説明します。

(a)　遅延削除

遅延削除は，メッセージが不要になった時点で削除せず配信済みの状態にしておき，RMSweepTimerIntervalプロパティ指定値の間隔で一括に削除する方法です。遅延削除はメッセージの取り出しの延長でメッセージを削除しないため，即時削除よりもスループットが優れる場合があります。

なお，非永続リソースアダプタの場合，遅延削除は利用できません。

遅延削除を利用したメッセージの削除の概要を，次の図に示します。

図2-15　遅延削除を利用したメッセージの削除の概要

(b)　即時削除

即時削除は，メッセージが不要になった時点で削除する方法です。そのため，遅延削除よりも一時的に使用するメモリの量を削減できます。即時削除は，アプリケーションによるメッセージの取り出しでのコミット時や，hrmdelmsgコマンド実行時のタイミングで実施されます。

ローカルキューまたはデッドメッセージキュー内のメッセージに即時削除を利用する場合，RMDeleteMessageImmediatelyプロパティにtrueを指定します。

即時削除を利用したメッセージの削除の概要を，次の図に示します。

図2-16　即時削除を利用したメッセージの削除の概要

(2)　キューの種類と利用できる削除方法

キューの種類によって利用できる削除方法が異なります。

キューの種類と利用できる削除方法について，次の表に示します。

表2-2　キューの種類と利用できる削除方法

項番 | キューの種類 | 遅延削除 | 即時削除
1 | ローカルキュー | ○ | ○※1※2
2 | 転送キュー | ○ | ×
3 | 受信用共用キュー | × | ○
4 | 送信用共用キュー | － | －
5 | デッドメッセージキュー | ○ | ○※1

（凡例）

○：利用できます。

×：利用できません。

－：対象外です。

注※1

RMDeleteMessageImmediatelyプロパティにtrueを指定した場合だけ即時削除を行います。

注※2

キュー間転送では，メッセージの順序を保証するため，アプリケーションによって受信されたメッセージでも削除できないことがあります。そのため，キュー間転送で受信したメッセージは即時削除を行いません。

2.3.5　メッセージの有効期間

キューの作成時には，次のようにメッセージの有効期間を指定できます。

永続版リソースアダプタの場合
hrmmkqueコマンドの-eオプションにメッセージの有効期間を指定して，コマンドを実行します。

非永続版リソースアダプタの場合
キュー定義文の-eオプションにメッセージの有効期間を指定して，キュー作成ファイルを作成します。

メッセージの有効期間は，キューに登録されたメッセージがシステム内で有効な時間を秒単位で表します。

Cosminexus RMはRMSweepTimerIntervalプロパティ指定値の間隔（単位：秒）でメッセージの有効期間を確認し，有効期間に達しているメッセージの削除処理を実行します。有効期間に達している場合，デッドメッセージキューがあるときには，メッセージはデッドメッセージキューに移動されます。デッドメッセージキューがないときには，メッセージは破棄されます。

メッセージの有効期間に0が指定されたローカルキューのメッセージの有効期間は無限です。

2.4　メッセージのキュー間転送

メッセージのキュー間転送について説明します。

＜この節の構成＞

2.4.1　キュー間転送の概要

2.4.2　キュー間転送のあて先指定

2.4.3　キュー間転送の通信モデル

2.4.4　キュー間転送のQoS

2.4.5　メッセージの再送

2.4.6　キュー間転送の互換通信

2.4.7　キュー間転送の障害時の動作

2.4.8　キュー間転送の注意事項

2.4.9　SOAPプロトコル

2.4.1　キュー間転送の概要

転送キューは，メッセージのキュー間転送をするための送信側のキューです。転送キューを使用してキュー間転送をすることで，ネットワークを介した複数システム間でのアプリケーション連携ができるようになります。

転送キューには，受信側システムのアドレスとローカルキュー名を指定します。転送キューに登録したメッセージは，指定された受信側システムのローカルキューに向けて転送されます。

送信側システムの転送キューは，受信側システムのローカルキューと，n：1（n：任意の整数）に対応づけることができます。このため，受信側では，複数の送信側システムから受信するメッセージを一つのローカルキューに格納する形でシステムを構成できます。

転送キューからメッセージを取り出すことはできません。転送キューに登録されたメッセージは，転送が成功し，転送先のローカルキューにメッセージが登録されたことが確認されたあとに削除されます。

転送キューによるキュー間転送の概要について，次の図に示します。

図2-17　転送キューによるキュー間転送の概要

2.4.2　キュー間転送のあて先指定

Cosminexus RMは，キュー間転送用のWebアプリケーションを使用してメッセージを受信します。

メッセージを転送するときは，転送先のアドレスとして，受信側システムのキュー間転送用Webアプリケーションのアドレスを指定します。このアドレス情報は，hrmmkaddrコマンドを使ってあて先情報テーブルに登録します。BASIC認証使用時には，あて先情報テーブルにBASIC認証用のユーザ名とパスワードも登録できます。

転送先のローカルキューの識別には，受信側システムのアドレスを表すあて先名と，転送先のキュー名が使用されます。この情報は，転送キューに登録します。

送信側システムAの転送キューTQ1から，受信側システムBのローカルキューLQ1にメッセージを転送する場合のあて先指定の仕組みを次の図に示します。

図2-18　転送キューによるキュー間転送のあて先指定の仕組み

図に示すように，あて先情報テーブルには，転送先Cosminexus RMのキュー間転送用Webアプリケーションのアドレス「http://system-B/uCosminexusRM/services/HRMReceiver/」を登録します。登録したアドレスは，あて先名「SB」で識別されます。

転送キューには，あて先名「SB」と転送先のローカルキュー名「LQ1」を登録します。

この場合の実際の送信アドレスは，「http://system-B/uCosminexusRM/services/HRMReceiver/LQ1」です。

＜この項の構成＞

(1)　あて先アドレスの形式

(2)　注意事項

(1)　あて先アドレスの形式

送信側システムに登録するあて先アドレスは，次に示すどちらかの形式で指定してください。

http://<ホスト名>:<ポート番号>/<コンテキストルート>/services/HRMReceiver/
https://<ホスト名>:<ポート番号>/<コンテキストルート>/services/HRMReceiver/

ホスト名

受信側システムのホスト名，またはIPアドレス

ポート番号

受信側システムのHTTP(S)通信用のポート番号

コンテキストルート

受信側Cosminexus RMのキュー間転送用Webアプリケーションのコンテキストルート

サービス名：services/HRMReceiver（固定）

受信側Cosminexus RMのキュー間転送用Webアプリケーションのサービス名

(2)　注意事項

BASIC認証を使用する場合は，hrmmkaddrコマンドによるあて先アドレス登録時に，BASIC認証用のユーザ名とパスワードを設定してください。

リダイレクタを使用する場合は，キュー間転送用Webアプリケーションのコンテキストルートに適切にリダイレクトされるように設定してください。

2.4.3　キュー間転送の通信モデル

Cosminexus RMがサポートする通信モデルには，次に示す二つの層があります。

アプリケーションが扱うキューの層

キューのメッセージを取り出して通信を行う通信層

ここでは通信層の詳細を説明します。

＜この項の構成＞

(1)　通信層のメッセージとグループ

(2)　メッセージとグループの有効期間

(1)　通信層のメッセージとグループ

通信層では「グループ」をメッセージ管理の単位とします。グループは，グローバルに一意の識別子を持ち，複数のメッセージが属する集合です。また，順序保証などのQoS（通信品質）を保証する範囲でもあります。

各メッセージは，グループの識別子とグループ内の通し番号によって一意に識別されます。送信側のグループは，転送キューの作成時にCosminexus RMが生成します。受信側のグループは，グループ内で最初のメッセージの受信時にCosminexus RMが生成します。

(2)　メッセージとグループの有効期間

通信層のメッセージとグループに対して有効期間を設定できます。どちらも有効期間を超過した場合の通信は失敗します。

メッセージの有効期間
メッセージの有効期間は，メッセージの送信時刻から，転送キューに指定した通信層のメッセージ有効期限に達するまでの間です。

グループの有効期間
通信で使用するグループは転送キューの作成時に生成されます。有効期間は，グループの生成時刻から，転送キューに指定したグループの有効期限に達するまでの間です。グループの有効期間に達すると，自動的に次のグループが作成されて次のグループに切り替わります。

2.4.4　キュー間転送のQoS

Cosminexus RMで保証するQoSには，配送保証と順序保証の2種類があります。

＜この項の構成＞

(1)　配送保証

(2)　順序保証

(1)　配送保証

Cosminexus RMは，受信側システムから受信の成功が通知されるまでメッセージを再送し続けることで，高信頼なキュー間転送を実現します。また，再送によって同じメッセージを複数回受信した場合も，識別子を用いてメッセージの重複を判断し，重複してキューに登録されることを防止します。

次の図は，送信側システムがA1，A2，A3のメッセージを送信し，受信側システムでキューに正常に登録できたため，A1，A2，A3の受信成功が通知された場合を示しています。1.～5.は，処理の順序を示します。

受信成功が通知されると，送信側システムのキューのメッセージは削除されます。受信成功が一定の期間通知されない場合は，A1，A2，A3を再送します。

図2-19　配送保証の仕組み

(2)　順序保証

順序保証が指定された転送キューから送信されたメッセージは，送信された順序で受信側システムのキューに登録します。順序どおりでないメッセージを受信した場合はメッセージを永続化して保持しておき，順序が回復した時点でキューに登録します。

次の図は，A1→A2→A3の順序で順序保証が指定されている場合の処理の仕組みを示しています。1.～4.は，処理の順序を示します。

A1，A3の順序でメッセージを受信しましたが，A3は順序不正のためローカルキューに登録されません。その後，A2を受信した時点で，A2，A3がローカルキューに登録されます。

図2-20　順序保証の仕組み

順序保証を行う場合の滞留メッセージの監視と，メッセージ障害時の動作について説明します。

(a)　滞留メッセージの監視

例えば図2-19で，障害などが原因でA2のメッセージが受信されない場合，A3以降のメッセージはアプリケーションに配送されないメッセージとして滞留します。この場合，A3以降のメッセージは，通信の有効期限に達してデッドメッセージキューに移動されるまで，滞留したままとなります。

この対処として，Cosminexus RMは，定期的に滞留メッセージを監視します。滞留メッセージの監視時間は，RMTRPendingNotifyIntervalプロパティに指定します。メッセージの監視中に，このプロパティに指定した時間より長く滞留しているメッセージが存在する場合は，ログを出力して通知します。

滞留したメッセージを待ち合わせる必要がない場合は，hrmskipmsgコマンドによってA2のメッセージをスキップし，A3以降のメッセージをアプリケーションに配送できます。また，スキップしたメッセージをスキップしたあとに受信すると，そのメッセージの受信は失敗します。

(b)　メッセージ障害時の動作

受信側システムから受信失敗が通知されると，送信側システムでは新しいグループで，以降のメッセージを送信します。そのため，受信側システムでは，新しいグループで送信されたメッセージがキューに登録されます。また，受信側システムで，障害が発生したグループ内のキューに登録しないで保持していたメッセージは，デッドメッセージキューに登録されます。

2.4.5　メッセージの再送

キュー間転送でメッセージを再送するときの間隔は，3種類のプロパティで指定します。Cosminexus RMは，2種類のプロパティに指定した再送間隔と，別のプロパティに指定したそれらを切り替えるタイミング（再送回数）を使用してメッセージの再送間隔を調整します。

メッセージの再送の間隔を調整するためのプロパティを次の表に示します。

表2-3　メッセージの再送の間隔を指定するプロパティ

項番 | プロパティ | 意味
1 | RMTRResendInterval1 | 再送間隔1（軽微なネットワーク障害などの短期的な障害を想定）
2 | RMTRResendInterval2 | 再送間隔2（受信側システムのサーバダウンなどの長期的な障害を想定）
3 | RMTRResendInterval1Num | 再送間隔を切り替えるタイミング（RMTRResendInterval1プロパティの指定値で再送する回数）

Cosminexus RMがメッセージを再送する処理の流れは次のとおりです。

RMTRResendInterval1プロパティに指定した間隔でメッセージの再送を行います。

RMTRResendInterval1プロパティの指定値での再送を，RMTRResendInterval1Numプロパティに指定した回数分繰り返します。初回の送信は，RMTRResendInterval1Numプロパティで指定した再送回数に，1回分として含まれます。

RMTRResendInterval2プロパティに指定した間隔での再送に切り替えて，メッセージの再送を続けます。

2.4.6　キュー間転送の互換通信

送信側システムと受信側システムのCosminexus RMのバージョンの違いによって，次のようにメッセージを送受信します。

メッセージを送信する場合
受信側システムのCosminexus RMのバージョンに合わせた形式のメッセージを送信します。ユーザは受信側システムのCosminexus RMのバージョンに合わせて，送信するメッセージの形式を選択する必要があります。送信するメッセージの形式の選択については，「(1)　送信するメッセージの形式の選択」を参照してください。

メッセージを受信する場合
送信側システムのCosminexus RMのバージョンの形式でメッセージを受信します。

Cosminexus RMのバージョンの違いによるメッセージの送受信の概要を，次の図に示します。

図2-21　Cosminexus RMのバージョンの違いによるメッセージの送受信の概要

＜この項の構成＞

(1)　送信するメッセージの形式の選択

(2)　注意事項

(1)　送信するメッセージの形式の選択

送信側システムのCosminexus RMでは，受信側システムのCosminexus RMのバージョンのメッセージ形式に合わせて，次のように転送モードを選択します。

受信側システムのCosminexus RMのバージョンが01-03の場合
hrmmkqueコマンドで転送キューを作成する，またはhrmchgqueコマンドで転送キューの属性を変更するときに，-iオプションにnormal（通常モード）を指定します。

受信側システムのCosminexus RMのバージョンが01-02以前の場合
hrmmkqueコマンドで転送キューを作成する，またはhrmchgqueコマンドで転送キューの属性を変更するときに，-iオプションにcompatible（互換モード）を指定します。
なお，01-02以前のバージョンのCosminexus RMに対して通常モードでObjectMessageを送信した場合，ペイロードにnullが指定されたObjectMessageとして受信されます。

(2)　注意事項

(a)　01-02以前のバージョンのCosminexus RMと通信する場合

01-03のバージョンのCosminexus RMが01-02以前のバージョンのCosminexus RMとメッセージ送受信する場合の注意事項を次に示します。

送信側システムのCosminexus RMのバージョンが01-03の場合
互換モードの転送キューを使用してユーザ定義クラスを設定したObjectMessageを送信する場合は，コンテナ拡張ライブラリとしてユーザ定義クラスを指定する必要があります。

受信側システムのCosminexus RMのバージョンが01-03の場合
01-02以前のバージョンのCosminexus RMからユーザ定義クラスを設定したObjectMessageを受信する場合は，コンテナ拡張ライブラリとしてユーザ定義クラスを指定する必要があります。

(b)　01-03のバージョンのCosminexus RMと通信する場合

互換モードの転送キューを使用してユーザ定義クラスを設定したObjectMessageを送信する場合は，コンテナ拡張ライブラリとしてユーザ定義クラスを指定する必要があります。

(c)　送受信できるCosminexus RMのバージョン

送受信できるCosminexus RMのバージョンを転送モードごとに次の表に示します。

表2-4　送受信できるCosminexus RMのバージョン

送信側システムのCosminexus RMのバージョン | 転送モード | 受信側システムのCosminexus RMのバージョン
01-02以前 | 01-03
01-02以前 | － | △ | △
01-03 | 互換モード | △ | △
通常モード | × | ○

（凡例）

○：送受信できます。

△：送受信できます。ただし，ユーザ定義クラスを設定したObjectMessageを送信する場合は，送信側システムおよび受信側システムでコンテナ拡張ライブラリとしてユーザ定義クラスを指定する必要があります。

×：送受信できません。

－：該当しません。

2.4.7　キュー間転送の障害時の動作

受信側システムで受信したメッセージに，致命的な障害がある場合やメッセージの有効期間を超過していた場合，Cosminexus RMは，送信側システムに受信の失敗を通知します。受信の失敗が通知されたメッセージは，送信側システムのデッドメッセージキューに登録されます。さらに，送信側システムでは新しいグループを作成し，障害以降に送信されたメッセージを新しいグループで送信します。

次の図は，送信側システムがA1，A2のメッセージを送信し，受信側システムでA2に障害が発生したため，A2の受信失敗が通知された場合を示しています。1.～9.は，処理の順序を示します。

受信失敗が通知されると，送信側システムのA2はデッドメッセージキューに登録され，次のメッセージは新しいグループのB1として送信されます。

図2-22　キュー間転送の障害時の動作

2.4.8　キュー間転送の注意事項

デッドメッセージキューに関する注意事項
送信側システムが送信したメッセージが，受信側システムに受信されたにもかかわらず，何らかの原因で受信成功が通知されない場合，または通知されるのが遅れた場合，そのあとに再送されたメッセージが有効期限に達していて受信失敗が送信側システムに通知されると，そのメッセージは次のように処理されることがあります。

受信側システムに受信されたメッセージが滞留していたときは，送信側システムと受信側システムの両方のデッドメッセージキューに登録される。

受信側システムに受信されたメッセージがキューに登録されていたときは，送信側システムのデッドメッセージキューに登録されているメッセージが，受信側システムで配送される。

非永続キューに関する注意事項
受信側システムのキューが非永続キューの場合，受信側システムのキューに作成されたグループは再起動時に無効になります。つまり，受信側システムのCosminexus RMが，一つでもメッセージを受信するとグループが作成されます。その後，受信側システムのCosminexus RMを再起動すると，以降再起動前に作られたグループによるメッセージの受信は失敗します。受信に失敗したメッセージは，受信の失敗を通知することによって，送信側システムのデッドメッセージキューに登録されます。登録先のデッドメッセージキューは，RMDeadMessageQueueNameプロパティで指定します。

2.4.9　SOAPプロトコル

転送キューを使用した複数システム間でのメッセージの送受信には，SOAPプロトコルをベースとするWS-Reliabilityを採用しています。メッセージの送受信にはSOAPメッセージを使います。Cosminexus RMがメッセージ送信時に設定するSOAPメッセージの構成要素およびメッセージ受信時の使用方法を次の表に示します。

表2-5　Cosminexus RMのSOAPメッセージ使用方法

項番 | 構成要素名 | SOAPメッセージの使用方法
送信 | 受信
1 | SOAPエンベロープ | SOAPヘッダ | WS-Reliability1.1プロトコルのヘッダ情報を設定 | WS-Reliability1.1プロトコルのヘッダ情報を取得※1
2 | SOAPボディ | 設定しない | 無視する
3 | SOAPアタッチメント | メッセージ本体※2を設定 | メッセージ本体を取得

注※1

WS-Reliability以外のプロトコルのヘッダ情報が設定されていた場合，Cosminexus RMはそのプロトコルのヘッダ情報を無視します。

注※2

メッセージ本体は，Cosminexus RM固有のメッセージオブジェクトをシリアライズしたデータ，またはプリミティブなバイト配列で設定されています。

Cosminexus RMで扱うSOAPメッセージの構成について，次の図に示します。

図2-23　SOAPメッセージの構成

2.5　メッセージの構成

Cosminexus RMのアプリケーションが送受信するメッセージは，JMSメッセージの形式に従います。JMSメッセージはMessageインタフェースをルートインタフェースとするオブジェクトです。

Cosminexus RMで使用するメッセージの構成について説明します。

＜この節の構成＞

2.5.1　JMSメッセージの構成

2.5.2　メッセージ要素のアクセスモード

2.5.3　メッセージとキューの関係

2.5.4　メッセージサイズを見積もる方法

2.5.1　JMSメッセージの構成

Cosminexus RMは，JMSメッセージを送受信することでアプリケーション連携します。JMSメッセージは，ヘッダ，プロパティおよびペイロードの三つの要素で構成されます。

JMSメッセージの構成について，次の図に示します。

図2-24　JMSメッセージの構成

＜この項の構成＞

(1)　JMSメッセージのヘッダ

(2)　JMSメッセージのプロパティ

(3)　JMSメッセージのペイロード

(1)　JMSメッセージのヘッダ

JMSメッセージのヘッダは，アプリケーションやシステムに，メッセージのあて先や識別子などの制御情報を提供するためのフィールドです。

ヘッダの一覧について，次の表に示します。

表2-6　ヘッダの一覧

項番
ヘッダ
型
説明

1
JMSDestination
javax.jms.Destination
メッセージが送信されるあて先です。

2
JMSDeliveryMode
int
メッセージの永続性を示す値です。

3
JMSMessageID
java.lang.String
プロバイダによって送信される各メッセージを一意に識別するメッセージ識別子です。このヘッダの値はRMSystemNameプロパティ指定値と現在時刻および通番によって構成されます。
RMSystemNameプロパティ指定値によって，JMSMessageIDの一意性は，Cosminexus RMをわたります。

4
JMSTimestamp
long
メッセージの送信時刻を表す値（単位：ミリ秒）です。値はミリ秒で測定した現在時刻と協定世界時のUTC1970年1月1日午前0時との差です。
なお，メッセージのトランザクションやそのほかの受信側のキューイングによって実際の送信はあとから行われるため，メッセージが実際に送信された時刻ではありません。

5
JMSExpiration
long
メッセージの有効期間となる時刻を表す値（単位：ミリ秒）です。値はミリ秒で測定した現在時刻と協定世界時のUTC1970年1月1日午前0時との差です。
このヘッダの値はhrmmkqueコマンドの-eオプション指定値を基に決定されます。

6
JMSRedelivered
boolean
メッセージが再配送中であるかどうかを示す値です。値がtrueのとき，メッセージが再配送中であることを示します。

7
JMSPriority
int
メッセージのプライオリティです。JMSはいちばん低い優先度の0からいちばん高い優先度の9まで，10のレベルのプライオリティを定義しています。

8
JMSReplyTo
javax.jms.Destination
応答先のあて先です。このヘッダが設定されたメッセージを受信したアプリケーションが，該当するあて先へメッセージを送信するかどうかは任意です。

9
JMSCorrelationID
java.lang.String
あるメッセージをほかのメッセージと関連づけるための相関識別子です。一般的には，応答メッセージをその要求メッセージと関連づけるために参照されます。

10
JMSType
java.lang.String
メッセージが送信されるときに，アプリケーションによって提供されるメッセージタイプです。

ヘッダの設定タイミングと取得タイミングについて，次の表に示します。

表2-7　ヘッダの設定タイミングと取得タイミング

項番
ヘッダ
設定タイミング
取得タイミング※

1
JMSDestination
QueueSession.createSender(Queue queue)メソッド発行時に，指定したキューの名前が設定されます。
Message.setJMSDestination()メソッドでこのヘッダを設定できません。
メッセージ送信完了後に取得できます。

2
JMSDeliveryMode
メッセージ送信時にCosminexus RMがhrmmkqueコマンドの-mオプション指定値に従って設定します。
Message.setJMSDeliveryMode()メソッドでこのヘッダを設定できません。
メッセージ受信後に取得できます。

3
JMSMessageID
メッセージ送信時にCosminexus RMが設定します。また，デッドメッセージ再登録時にCosminexus RMが再設定します。
Message.setJMSMessageID()メソッドでこのヘッダを設定できません。
メッセージ送信完了後に取得できます。

4
JMSTimestamp
メッセージ送信時にCosminexus RMが設定します。また，デッドメッセージ再登録時にCosminexus RMが再設定します。
Message.setJMSTimestamp()メソッドでこのヘッダを設定できません。
メッセージ送信完了後に取得できます。

5
JMSExpiration
送信側と受信側で，設定のタイミングが異なります。
送信側の場合，メッセージ送信時にCosminexus RMがキュー属性（メッセージ有効期間）に従って設定します。また，デッドメッセージの再登録時にCosminexus RMが登録するキューの属性（メッセージ有効期間）に従って再設定します。
キュー間転送を実施する場合，受信側では，受信側ローカルキューの属性の設定によって次のように異なります。

メッセージ有効期間の選択が受信側となっている場合は，受信側のキュー属性（メッセージ有効期間）に従って再設定されます。

メッセージ有効期間の選択が送信側となっている場合は，送信側で設定された値となり，受信側では再設定しません。

なお，MessageインタフェースのsetJMSExpirationメソッドでは，このヘッダの値を設定できません。setJMSExpirationメソッドの詳細については「7.4.4　Messageインタフェース」を参照してください。
メッセージ送信完了後に取得できます。

6
JMSRedelivered
メッセージをアプリケーションに配送したが，リカバーされたなどでもう一度配送する必要があるときにtrueに設定されます。
Message.setJMSRedelivered()メソッドでこのヘッダを設定できません。
Cosminexus RMを再度開始すると，falseに設定されます。
メッセージ受信後に取得できます。

7
JMSPriority
QueueSender.setPriority()メソッドまたはQueueSender.send()メソッドで指定したpriorityの値が設定されます。両方のメソッドでpriorityが指定されている場合は，QueueSender.send()メソッドで指定した値が優先されます。
Message.setJMSPriority()メソッドでこのヘッダを設定できません。
メッセージ送信完了後に取得できます。

8
JMSReplyTo
Message.setJMSReplyTo()メソッド発行時に，指定値が設定されます。設定は任意です。
受信側からのメッセージ返信を必要とする場合，送信側のユーザがこのヘッダにあて先を設定します。
設定タイミング後に取得できます。

9
JMSCorrelationID
Message.setJMSCorrelationID()メソッド発行時に，指定値が設定されます。設定は任意です。
設定タイミング後に取得できます。

10
JMSType
Message.setJMSType()メソッド発行時に，指定値が設定されます。設定は任意です。
設定タイミング後に取得できます。

注※

表中に示したタイミング以外でヘッダの値を取得した場合，ヘッダが設定されていないときの値が返されます。詳細については，「7.4.4　Messageインタフェース」を参照してください。

ObjectMessage（ペイロードにBytesContainerを含む）を送受信した場合のヘッダの設定タイミングと取得タイミングについて，次の表に示します。

表2-8　ObjectMessage（ペイロードにBytesContainerを含む）を送受信した場合のヘッダの設定タイミングと取得タイミング

項番
ヘッダ
設定タイミング
取得タイミング※

1
JMSDestination
QueueSession.createSender(Queue queue)メソッド発行時に，指定したキューの名前が設定されます。
Message.setJMSDestination()メソッドでこのヘッダを設定できません。
送信側ではメッセージ送信完了後に取得できます。受信側では取得できません。

2
JMSDeliveryMode
メッセージ送信時にCosminexus RMがhrmmkqueコマンドの-mオプション指定値に従って設定します。
Message.setJMSDeliveryMode()メソッドでこのヘッダを設定できません。
メッセージ受信後に取得できます。

3
JMSMessageID
メッセージ送信時にCosminexus RMが設定します。また，デッドメッセージ再登録時にCosminexus RMが再設定します。
Message.setJMSMessageID()メソッドでこのヘッダを設定できません。
送信側ではメッセージ送信完了後に取得できます。受信側では取得できません。

4
JMSTimestamp
メッセージ送信時にCosminexus RMが設定します。また，デッドメッセージ再登録時にCosminexus RMが再設定します。
Message.setJMSTimestamp()メソッドでこのヘッダを設定できません。
送信側ではメッセージ送信完了後に取得できます。受信側では取得できません。

5
JMSExpiration
送信側ではメッセージ送信時にCosminexus RMがキュー属性（メッセージ有効期間）に従って設定します。ローカルキュー送信の場合も同様です。また，デッドメッセージの再登録時にCosminexus RMが登録するキューの属性（メッセージ有効期間）に従って再設定します。
キュー間転送を実施した場合，受信側では，受信側ローカルキューの属性の設定によって次のように異なります。

メッセージ有効期間の選択が受信側となっている場合は，受信側のキュー属性（メッセージ有効期間）に従って設定されます。

メッセージ有効期間の選択が送信側となっている場合は，WS-Reliability電文のExpiryTimeタグと同じ値が設定されます。

キュー間転送の場合，送信側ではメッセージ送信完了後に取得できます。受信側では別の値が取得できます。

6
JMSRedelivered
メッセージをアプリケーションに配送したが，リカバーされたなどでもう一度配送する必要があるときにtrueに設定されます。
Message.setJMSRedelivered()メソッドでこのヘッダを設定できません。
Cosminexus RMを再度開始すると，falseに設定されます。
メッセージ受信後に取得できます。

7
JMSPriority
送信側ではQueueSender.setPriority()メソッドまたはQueueSender.send()メソッドで指定したpriorityの値が設定されます。両方のメソッドでpriorityが指定されている場合は，QueueSender.send()メソッドで指定した値が優先されます。
キュー間転送を実施した場合，受信側で受信メッセージが永続される前に，デフォルト値が設定されます。
Message.setJMSPriority()メソッドでこのヘッダを設定できません。
キュー間転送の場合，送信側ではメッセージ送信完了後に取得できます。受信側では別の値が取得できます。

8
JMSReplyTo
Message.setJMSReplyTo()メソッド発行時に，指定値が設定されます。設定は任意です。
受信側からのメッセージ返信を必要とする場合，送信側のユーザがこのヘッダにあて先を設定します。
送信側では設定タイミング後に取得できます。受信側では取得できません。

9
JMSCorrelationID
Message.setJMSCorrelationID()メソッド発行時に，指定値が設定されます。設定は任意です。
送信側では設定タイミング後に取得できます。受信側では取得できません。

10
JMSType
Message.setJMSType()メソッド発行時に，指定値が設定されます。設定は任意です。
送信側では設定タイミング後に取得できます。受信側では取得できません。

注※

表中に示したタイミング以外でヘッダの値を取得した場合，ヘッダが設定されていないときの値が返されます。詳細については，「7.4.4　Messageインタフェース」を参照してください。

(2)　JMSメッセージのプロパティ

JMSメッセージのプロパティは，ヘッダに追加する制御情報が格納されたフィールドです。次に示す種類があります。

JMS定義のプロパティ
JMSが定義するプロパティです。これらのプロパティの完全なセットは，JMS仕様で定義されています。
半角英字だけで定義され，大文字と小文字は区別されます。

Cosminexus RM固有のプロパティ
Cosminexus RMが独自に提供するプロパティです。
半角英字だけで定義され，大文字と小文字は区別されます。

アプリケーション指定のプロパティ
ユーザが必要に応じて定義するプロパティです。ただし，使用できるプロパティ名には制限があります。
プロパティ名には半角および全角を使用できます。また，大文字と小文字は区別されます。

(a)　JMS定義のプロパティ

JMS定義のプロパティの一覧について，次の表に示します。

表2-9　JMS定義のプロパティの一覧

項番
プロパティ
型
説明

1
JMSXUserID
java.lang.String
メッセージを送信するユーザのユーザ識別子です。
このプロパティは未サポートです。

2
JMSXAppID
java.lang.String
メッセージを送信するアプリケーションのアプリケーション識別子です。
このプロパティは未サポートです。

3
JMSXConsumerTXID
java.lang.String
メッセージが受信および承認されたトランザクションのトランザクション識別子です。
このプロパティは未サポートです。

4
JMSXProducerTXID
java.lang.String
メッセージが生成されたトランザクションのトランザクション識別子です。
このプロパティは未サポートです。

5
JMSXRcvTimestamp
long
メッセージがコンシューマに配送された配送時刻です。
時刻の値はミリ秒で測定した現在時刻と協定世界時のUTC1970年1月1日午前0時との差です。

6
JMSXDeliveryCount
int
メッセージ配送回数です。

7
JMSXState
int
コンシューマから送信されたメッセージの各コピーの状態を示す値です。
このプロパティは未サポートです。

8
JMSXGroupID
java.lang.String
メッセージが属しているグループのグループ識別子です。

9
JMSXGroupSeq
int
メッセージが属しているグループのシーケンス番号です。

JMS定義のプロパティの設定タイミングと取得タイミングについて，次の表に示します。

表2-10　JMS定義のプロパティの設定タイミングと取得タイミング

項番
プロパティ
設定タイミング
取得タイミング

1
JMSXUserID
－
－

2
JMSXAppID
－
－

3
JMSXConsumerTXID
－
－

4
JMSXProducerTXID
－
－

5
JMSXRcvTimestamp
メッセージをコンシューマに配送した際に，Cosminexus RMが設定します。
メッセージ受信後に取得できます。

6
JMSXDeliveryCount
メッセージ承認時にCosminexus RMが設定します。Cosminexus RMを再度開始すると，この値は0に設定されます。
メッセージ受信後に取得できます。

7
JMSXState
－
－

8
JMSXGroupID
Message.setStringProperty("JMSXGroupID", groupID)またはsetObjectProperty("JMSXGroupID", groupID)メソッド発行時に，指定したgroupIDの値が設定されます。設定は任意です。ユーザが設定できる文字数は半角全角を問わないで512文字以下です。
設定タイミング後に取得できます。

9
JMSXGroupSeq
Message.setIntProperty("JMSXGroupSeq", seq)メソッド発行時に，指定したseqの値が設定されます。設定は任意です。
ユーザが設定できる値は0以上です。
設定タイミング後に取得できます。

（凡例）

－：未サポートのため該当しません。

また，ObjectMessage（ペイロードにBytesContainerを含む）を送受信した場合のJMS定義のプロパティの設定タイミングと取得タイミングについて，次の表に示します。

表2-11　ObjectMessage（ペイロードにBytesContainerを含む）を送受信した場合のJMS定義のプロパティの設定タイミングと取得タイミング

項番
プロパティ
設定タイミング
取得タイミング

1
JMSXUserID
－
－

2
JMSXAppID
－
－

3
JMSXConsumerTXID
－
－

4
JMSXProducerTXID
－
－

5
JMSXRcvTimestamp
メッセージをコンシューマに配送した際に，Cosminexus RMが設定します。
メッセージ受信後に取得できます。

6
JMSXDeliveryCount
メッセージ承認時にCosminexus RMが設定します。Cosminexus RMを再度開始すると，この値は0に設定されます。
メッセージ受信後に取得できます。

7
JMSXState
－
－

8
JMSXGroupID
Message.setStringProperty("JMSXGroupID", groupID)またはsetObjectProperty("JMSXGroupID", groupID)メソッド発行時に，指定したgroupIDの値が設定されます。設定は任意です。ユーザが設定できる文字数は半角全角を問わないで512文字以下です。
送信側では設定タイミング後に取得できます。受信側では取得できません。

9
JMSXGroupSeq
Message.setIntProperty("JMSXGroupSeq", seq)メソッド発行時に，指定したseqの値が設定されます。設定は任意です。
ユーザが設定できる値は0以上です。
送信側では設定タイミング後に取得できます。受信側では取得できません。

（凡例）

－：未サポートのため該当しません。

(b)　Cosminexus RM固有のプロパティ

Cosminexus RM固有のプロパティの一覧について，次の表に示します。

表2-12　Cosminexus RM固有のプロパティの一覧

項番
プロパティ
型
説明

1
JMS_HITACHI_DeadMessageTimestamp
long
メッセージがデッドメッセージキューに移動された時刻を示す値（単位：ミリ秒）です。
時刻の値はミリ秒で測定した現在時刻と協定世界時のUTC1970年1月1日午前0時との差です。

2
JMS_HITACHI_DeadMessageCause
java.lang.String
メッセージがデッドメッセージキューに移動された原因を示す文字列※です。

3
JMS_HITACHI_DeadMessageOriginalQueueName
java.lang.String
メッセージがデッドメッセージキューに移動される前に保存されていたキュー名です。

4
JMS_HITACHI_DeadMessageID
java.lang.String
デッドメッセージを一意に識別するための値です。このプロパティの値は，コンフィグレーションプロパティのRMSystemNameプロパティの値と現在時刻および通番によって決定されます。

注※

次の表に示す文字列のどれかが設定されます。

表2-13　デッドメッセージキューに移動された原因を示す文字列

項番 | 文字列 | 説明
1 | DMQCAUSE-001 | メッセージが有効期限に達しました。
2 | DMQCAUSE-002 | メッセージの配送回数が最大値に達しました。
3 | DMQCAUSE-003 | 順序制御のために滞留しているメッセージが有効期限に達しました。または，滞留しているメッセージの属しているグループが閉鎖しました。
4 | DMQCAUSE-004 | メッセージの受信に失敗した通知を受け取りました。

Cosminexus RM固有のプロパティ固有のプロパティの設定タイミングと取得タイミングについて，次の表に示します。

表2-14　Cosminexus RM固有のプロパティの設定タイミングと取得タイミング

項番
プロパティ
設定タイミング
取得タイミング

1
JMS_HITACHI_DeadMessageTimestamp
メッセージがデッドメッセージキューに保存される際に，Cosminexus RMが設定します。
なお，デッドメッセージが再登録される際に削除します。
デッドメッセージキューからメッセージを受信したあとで取得できます。

2
JMS_HITACHI_DeadMessageCause
メッセージがデッドメッセージキューに保存される際に，Cosminexus RMが設定します。
なお，デッドメッセージが再登録される際に削除します。
デッドメッセージキューからメッセージを受信したあとで取得できます。

3
JMS_HITACHI_DeadMessageOriginalQueueName
メッセージがデッドメッセージキューに保存される際に，Cosminexus RMが設定します。
なお，デッドメッセージが再登録される際に削除します。
デッドメッセージキューからメッセージを受信したあとで取得できます。

4
JMS_HITACHI_DeadMessageID
メッセージがデッドメッセージキューに保存される際に，Cosminexus RMが設定します。なお，デッドメッセージが再登録される際に削除します。
デッドメッセージキューからメッセージを受信したあとで取得できます。

(c)　アプリケーション指定のプロパティ

ユーザが必要に応じて定義するプロパティです。

ユーザは，メッセージインタフェースのset<型名>Property()メソッドのname引数に任意のプロパティ名を指定してプロパティに値を設定します。get<型名>Property()メソッドのname引数にsetメソッドと同じ名前を指定してプロパティから値を取得します。

プロパティ名はユーザの実装に依存します。ただし，次に示す名前は使用できません。

JMS定義のプロパティが使用する接頭語（JMSX）で始まるプロパティ名

Cosminexus RM固有のプロパティが使用する接頭語（JMS_）で始まるプロパティ名

メッセージセレクタで使用する予約語（NOT，AND，OR，BETWEEN，LIKE，IN，IS，NULL，TRUEおよびFALSE）と同じプロパティ名

(d)　プロパティの型変換

Cosminexus RM固有のプロパティとアプリケーション指定のプロパティに設定できる型は，boolean，byte，short，int，long，float，doubleおよびStringです。書き込まれたときと異なる型でプロパティを読み取る場合，型は変換されます。

プロパティの型変換について，次の表に示します。

表2-15　プロパティの型変換

書き込み時の型 | 読み取り時の型
boolean | byte | short | int | long | float | double | String
boolean | ○ |  |  |  |  |  |  | ○
byte |  | ○ | ○ | ○ | ○ |  |  | ○
short |  |  | ○ | ○ | ○ |  |  | ○
int |  |  |  | ○ | ○ |  |  | ○
long |  |  |  |  | ○ |  |  | ○
float |  |  |  |  |  | ○ | ○ | ○
double |  |  |  |  |  |  | ○ | ○
String | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○

（凡例）

○：型が変換されます。

空白：型が変換されません。読み取り時にJMSException（MessageFormatException）が発生します。

注

String型で書き込まれた文字列をString以外の型に変換して読み取る場合，書き込まれた文字列を，変換後の型でラッパークラスのvalueOfメソッドによって解釈できないとき，java.lang.NumberFormatExceptionが発生します。

(3)　JMSメッセージのペイロード

JMSメッセージのペイロードは，メッセージ本体のフィールドです。

Cosminexus RMは，次に示すメッセージインタフェースを提供します。各メッセージインタフェースのペイロードについて，次の表に示します。

表2-16　メッセージインタフェースのペイロード

項番 | インタフェース名 | ペイロードの説明
1 | Message | ペイロードがありません。
2 | BytesMessage | ペイロードがプリミティブなバイトの配列です。
3 | ObjectMessage※ | ペイロードがシリアライズできるJavaオブジェクトです（BytesContainerおよびユーザが定義したクラスのオブジェクトを格納できます）。
4 | TextMessage | ペイロードがjava.lang.String型です。

注※

非永続版リソースアダプタの場合，ObjectMessageのペイロードにBytesContainerは格納できません。

(a)　ObjectMessageのペイロードにBytesContainerを格納する場合

永続版リソースアダプタの場合，ObjectMessageオブジェクトのsetObjectメソッドの引数にBytesContainerオブジェクトを指定することで，BytesContainerを含むObjectMessageを送信することができます。詳細は「7.7　転送データ相互接続用インタフェースの使い方」を参照してください。

(b)　ObjectMessageのペイロードにユーザが定義したクラスのオブジェクトを格納する場合

ObjectMessageのペイロードにユーザが定義したクラスのオブジェクトを格納する場合は，送受信するアプリケーションにユーザが定義したクラスを含める必要があります。アプリケーションにユーザが定義したクラスを含めない場合は，CosminexusのJ2EEサーバ用オプション定義ファイルにユーザが定義したクラスまたはクラスが含まれるJARのクラスパスを，コンテナ拡張ライブラリとして指定する必要があります。

これらの設定や指定をしていない場合，取り出したメッセージからペイロードを取得するときに例外が発生します。ペイロードの取得で例外が発生した場合でも，取り出したメッセージのトランザクションが決着すると，メッセージが配信済みになるので注意してください。

また，Cosminexus RM 01-02以前でキューに登録したメッセージを移行した場合や，Cosminexus RM 01-02以前とキュー間転送する場合も，CosminexusのJ2EEサーバ用オプション定義ファイルにユーザが定義したクラスまたはクラスが含まれるJARのクラスパスを，コンテナ拡張ライブラリとして指定する必要があります。

CosminexusのJ2EEサーバ用オプション定義ファイル（usrconf.cfg）は，次に示す場所に格納されています。

<Cosminexusのインストールディレクトリ>¥CC¥server¥usrconf¥ejb¥<サーバ名>¥usrconf.cfg

usrconf.cfgファイルをテキストエディタで開き，次の行を追加します。

add.class.path=<コンテナ拡張ライブラリ用のclassまたはJARのクラスパス>

J2EEサーバ用オプション定義ファイルについては，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

2.5.2　メッセージ要素のアクセスモード

JMSメッセージのメッセージ要素（ヘッダ，プロパティ，およびペイロード）の値を取得したり，設定したりするには，メッセージインタフェースが提供するメソッドを使用します。各要素には，次に示すアクセスモードがあります。

読み取り書き込み両用モード（Read／Write mode）
読み取りも書き込みもできるモードです。ヘッダ，プロパティおよびペイロードで発生するモードです。

読み取り専用モード（Read Only mode）
情報の読み取りだけができるモードです。このモードのときにメッセージ要素に情報を書き込もうとするとMessageNotWriteableExceptionが発生します。プロパティとペイロードで発生するモードです。

書き込み専用モード（Write Only mode）
情報の書き込みだけができるモードです。このモードのときにメッセージ要素から情報を読み取ろうとするとMessageNotReadableExceptionが発生します。ペイロードで発生するモードです。

メッセージ要素とアクセスモードの関係について，次の表に示します。

表2-17　メッセージ要素とアクセスモードの関係

項番 | メッセージ要素 | 読み取り書き込み両用モード | 読み取り専用モード | 書き込み専用モード
1 | ヘッダ | ○ | × | ×
2 | プロパティ | ○ | ○ | ×
3 | ペイロード | ○ | ○ | ○

（凡例）

○：あります。

×：ありません。

＜この項の構成＞

(1)　メッセージ生成時のアクセスモード

(2)　メッセージ受信時のアクセスモード

(1)　メッセージ生成時のアクセスモード

メッセージインタフェースのインスタンスは，次に示すメソッドの発行によって生成します。

QueueSession.createMessage()メソッド：Messageインタフェースの場合

QueueSession.createBytesMessage()メソッド：BytesMessageインタフェースの場合

QueueSession.createObjectMessage()メソッド：ObjectMessageインタフェースの場合

QueueSession.createTextMessage()メソッド：TextMessageインタフェースの場合

メッセージ生成時のメッセージ要素のアクセスモードについて，次の表に示します。

表2-18　メッセージ生成時のメッセージ要素のアクセスモード

項番 | インタフェース | メッセージ要素 | モード
1 | Message | ヘッダ | 読み取り書き込み両用モード
2 | プロパティ
3 | BytesMessage | ヘッダ | 読み取り書き込み両用モード
4 | プロパティ
5 | ペイロード | 書き込み専用モード
6 | ObjectMessage | ヘッダ | 読み取り書き込み両用モード
7 | プロパティ
8 | ペイロード
9 | TextMessage | ヘッダ
10 | プロパティ
11 | ペイロード

(2)　メッセージ受信時のアクセスモード

受信側アプリケーションは，QueueReceiver.receive()またはreceiveNoWait()メソッドの戻り値として，メッセージを受信します。

メッセージ受信時のメッセージ要素のアクセスモードについて，次の表に示します。

表2-19　メッセージ受信時のメッセージ要素のアクセスモード

項番 | インタフェース | メッセージ要素 | モード
1 | Message | ヘッダ | 読み取り書き込み両用モード
2 | プロパティ | 読み取り専用モード
3 | BytesMessage | ヘッダ | 読み取り書き込み両用モード
4 | プロパティ | 読み取り専用モード
5 | ペイロード
6 | ObjectMessage | ヘッダ | 読み取り書き込み両用モード
7 | プロパティ | 読み取り専用モード
8 | ペイロード
9 | TextMessage | ヘッダ | 読み取り書き込み両用モード
10 | プロパティ | 読み取り専用モード
11 | ペイロード

また，メッセージ要素のアクセスモードは，メッセージ受信後に特定のタイミングによって移行することがあります。アクセスモードが移行するタイミングについて，次の表に示します。

表2-20　アクセスモードが移行するタイミング

項番
タイミング
メッセージ要素
移行前
移行後

1
Message.clearProperties()メソッドの発行
プロパティ
読み取り専用モード
読み取り書き込み両用モード

2
ObjectMessage.clearBody()メソッドの発行
TextMessage.clearBody()メソッドの発行
ペイロード

3
BytesMessage.clearBody()メソッドの発行
書き込み専用モード

4
BytesMessage.reset()メソッドの発行
書き込み専用モード
読み取り専用モード

2.5.3　メッセージとキューの関係

Cosminexus RMのキューは，種類によって格納できるメッセージインタフェースが異なります。また，キュー作成時の指定値によってメッセージの管理方法が異なります。

＜この項の構成＞

(1)　メッセージインタフェースとキューの種類

(2)　キュー作成時の指定値とメッセージのヘッダ

(1)　メッセージインタフェースとキューの種類

使用するメッセージインタフェースによって，そのメッセージを格納できるキューの種類は異なります。

メッセージインタフェースと格納できるキューの種類について，次の表に示します。

表2-21　メッセージインタフェースと格納できるキューの種類

項番
インタフェース
格納できるキューの種類

1
Message
ローカルキュー
転送キュー

2
BytesMessage
ローカルキュー
転送キュー
送信用共用キュー（ただし，ペイロードだけ）
受信用共用キュー（ただし，ペイロードだけ）

3
ObjectMessage
ローカルキュー※
転送キュー

4
TextMessage
ローカルキュー
転送キュー

注※

BytesContainerをObjectMessageのペイロードに設定して送信する処理では，ペイロードに設定したBytesContainerのデータだけを送信します。

(2)　キュー作成時の指定値とメッセージのヘッダ

キューの作成は，永続版リソースアダプタの場合と非永続版リソースアダプタの場合とで作成方法が異なります。

永続版リソースアダプタの場合
hrmmkqueコマンドによって作成されます。

非永続版リソースアダプタの場合
キュー定義文（定義の先頭にhrmmkqueを記述）を指定して，キュー作成ファイルを作成します。キュー作成ファイルに指定されたキュー定義文を基に，Cosminexus RM開始時にローカルキューが作成されます。

作成時の指定値によって，そのキューに格納されるメッセージの管理方法は異なります。

特に，次に示すオプション指定値はメッセージのヘッダに影響します。

キューの永続性（永続版リソースアダプタの場合，-mオプション指定値）
送信されたメッセージが永続キュー属性のキューに登録されるとき，そのメッセージは永続メッセージになります。アプリケーションが永続メッセージを受信するとき，メッセージのJMSDeliveryModeヘッダはDeliveryMode.PERSISTENTに設定されています。
送信されたメッセージが非永続キュー属性のキューに登録されるとき，そのメッセージは非永続メッセージになります。アプリケーションが非永続メッセージを受信するとき，メッセージのJMSDeliveryModeヘッダはDeliveryMode.NON_PERSISTENTに設定されています。
なお，非永続版リソースアダプタの場合は，非永続メッセージしか扱いません。そのため，作成されるキューは非永続キュー属性のキューだけになります。
永続メッセージと非永続メッセージが，各属性のキューでどのように管理されるかについては，「2.3.1　キューの永続性」を参照してください。

メッセージの有効期間（-eオプション指定値）
送信されたメッセージがキューに登録されるとき，メッセージの有効期間が秒単位で設定されます。アプリケーションがメッセージを受信するとき，メッセージのJMSExpirationヘッダに有効期間が設定されています。
有効期間が指定されたメッセージが，どのように管理されるかについては，「2.3.5　メッセージの有効期間」を参照してください。

2.5.4　メッセージサイズを見積もる方法

Cosminexus RMで送受信するメッセージのメッセージサイズを見積もるための計算式は次のとおりです。

ローカルキューまたは転送キューを使用する場合

7500＋N＋M＋L＋S（単位：バイト）

N＝ユーザが設定できるJMSヘッダの設定サイズ
設定するヘッダによって，次の値を加算します。
JMSReplyTo：シリアライズしたオブジェクトのサイズ
JMSCorrelationID：半角文字数＋全角文字数×3
JMSType：半角文字数＋全角文字数×3

M＝JMS定義プロパティの設定サイズ
設定するプロパティによって，次の値を加算します。
JMSXGroupID：半角文字数＋全角文字数×3
JMSXGroupSeq：100

L＝l＋m
l：ユーザ定義プロパティ名のサイズ（（半角文字数＋全角文字数×3）×プロパティ数）
m：ユーザ定義プロパティ値のサイズ
プロパティの型によって，次の値を加算します。
java.lang.String：（半角文字数＋全角文字数×3）×プロパティ数
java.lang.String以外：100×プロパティ数

S＝JMSメッセージのペイロード設定サイズ
メッセージインタフェースによって，次の値を加算します。
TextMessage：半角文字数＋全角文字数×3
BytesMessage：半角文字数＋全角文字数×2
ObjectMessage：シリアライズしたオブジェクトのサイズ

共用キューを使用する場合

1500＋半角文字数＋全角文字数×2（単位：バイト）

2.6　アプリケーションからのメッセージ操作

Cosminexus RMのアプリケーションは，JMSインタフェースまたは転送データ相互接続用インタフェースを使用してメッセージを操作します。ここでは，アプリケーション作成時に留意しなくてはならない点について説明します。

＜この節の構成＞

2.6.1　メッセージの受信制御

2.6.2　メッセージセレクタ

2.6.3　Message-driven Beanとの連携

2.6.4　共用キューでのメッセージ受信時の処理の流れ

2.6.5　DBアクセス時の認証

2.6.6　トランザクション制御

2.6.7　アプリケーション作成時の注意事項

2.6.1　メッセージの受信制御

アプリケーションが複数のメッセージを受信するとき，メッセージの受信順序はプライオリティ，FIFOおよびメッセージセレクタによって決定されます。

プライオリティでの順序
送信側アプリケーションがQueueSender.setPriority()またはsend()メソッドで設定したプライオリティの高い順で，受信側アプリケーションはメッセージを受信します。同じプライオリティのメッセージはFIFOでの順序で受信します。

FIFOでの順序
送信側アプリケーションがすべてのメッセージにプライオリティを設定しなかった場合，またはすべてのメッセージに同じプライオリティを設定した場合，受信側アプリケーションは，メッセージが送信またはコミットされた順序で受信します。
ただし，送信側アプリケーションが複数のスレッドから同時に同じキューにメッセージを送信した場合，メッセージを受信する順序は保証されません。

メッセージセレクタでの順序
受信側アプリケーションがメッセージセレクタを指定すると，キューに登録されたメッセージの中から，特定の条件に合うメッセージだけを受信できます。複数のメッセージが条件に合う場合は，プライオリティでの順序またはFIFOでの順序でメッセージを受信できます。
メッセージセレクタについては，「2.6.2　メッセージセレクタ」を参照してください。

2.6.2　メッセージセレクタ

QueueSession.createReceiver()またはcreateBrowser()メソッドの引数に，メッセージセレクタを指定できます。メッセージセレクタは，受信するメッセージの条件を指定するためのjava.lang.String型の構文です。受信側アプリケーションはメッセージセレクタを使用することによって，構文の条件に合うヘッダおよびプロパティの値を持つメッセージをキューから受信できます。

注意

受信用共用キューからメッセージを受信または閲覧する場合は，メッセージセレクタは使用できません。

メッセージセレクタには，識別子，比較演算子，リテラルおよび論理演算子を組み合わせた構文を指定します。

＜この項の構成＞

(1)　識別子

(2)　比較演算子

(3)　リテラル

(4)　論理演算子

(5)　指定できる構文の例

(1)　識別子

次に示す識別子を指定できます。識別子は半角英字であり，大文字と小文字が区別されます。

不正な識別子を指定した場合はInvalidSelectorExceptionが発生します。

ヘッダのJMSCorrelationID

プロパティのJMSXGroupID

プロパティのJMSXGroupSeq

(2)　比較演算子

等号（=）だけを指定できます。比較演算子は半角記号です。

不正な比較演算子を指定した場合はInvalidSelectorExceptionが発生します。

(3)　リテラル

指定できるリテラルは識別子によって異なります。各識別子に指定できるリテラルを次に示します。

不正なリテラルを指定した場合はInvalidSelectorExceptionが発生します。

ヘッダのJMSCorrelationIDまたはプロパティのJMSXGroupIDの場合
文字列リテラルを指定できます。
文字列リテラルはアポストロフィ（'）で囲んでください。文字列リテラルにアポストロフィ（'）を含む場合はアポストロフィ（'）を二つ記述します。例えば"literal's"を指定する場合は，次に示すとおり記述します。

'literal''s'

プロパティのJMSXGroupSeqの場合
厳密な数値リテラルを指定できます。
数値リテラルは半角数字と半角記号です。intの範囲の値を指定できます。0以上の整数値（57，＋62など）を指定してください。負数は指定しないでください。

(4)　論理演算子

ANDだけを指定できます。論理演算子は半角英字であり，大文字だけを指定できます。

JMSXGroupIDについての式とJMSXGroupSeqについての式の組み合わせだけが有効で，論理演算子の前後には空白が必要です。

ORやNOTを使用したり，JMSCorrelationIDについての式が含まれる場合はInvalidSelectorExceptionが発生します。

(5)　指定できる構文の例

メッセージセレクタに指定できる構文の例を次に示します。

JMSCorrelationID = 'aaa'
JMSXGroupID = 'bbb'
JMSXGroupSeq = 1
JMSXGroupID = 'bbb' AND JMSXGroupSeq = 2
JMSXGroupSeq = 3 AND JMSXGroupID = 'ccc'

2.6.3　Message-driven Beanとの連携

受信用のキューにメッセージが登録されたことを契機に，Message-driven Beanを実装したアプリケーションはメッセージの配信を受けることができます。

メッセージの配信を受けるには，アプリケーションで次に示すインタフェースを実装するクラスを定義し，MessageListenerのonMessage()メソッドをオーバライドしてください。

javax.ejb.MessageDrivenBean

javax.jms.MessageListener

キューにメッセージが登録されると，それを契機にCosminexus RMはonMessage()メソッドを呼び出し，その引数としてメッセージを渡します。ユーザはonMessage()メソッドの内部を実装し，業務に合わせてメッセージを処理するコードを作成してください。

Message-driven Bean実装時の注意事項については，マニュアル「Cosminexus アプリケーション開発ガイド」を参照してください。また，キューのリファレンスの解決方法については，マニュアル「Cosminexus アプリケーション設定操作ガイド」を参照してください。

2.6.4　共用キューでのメッセージ受信時の処理の流れ

共用キューを使用して複数システム間でのアプリケーション連携をする場合について，メッセージ受信の処理の流れを説明します。

共用キューを使用して複数システム間でのアプリケーション連携をする場合に受信側アプリケーションがQueueReceiver.receive()またはreceiveNoWait()メソッドを発行してメッセージを受信するには，Cosminexus RM内部で受信準備を完了しておく必要があります。受信準備はイベントの受信，またはリカバリスレッドでのメッセージ登録の検出を契機として開始されます。

共用キューを使用して複数システム間でのアプリケーション連携をする場合の受信処理の流れについて，次の図に示します。

図2-25　共用キューを使用して複数システム間でのアプリケーション連携をする場合の受信処理の流れ

図中の番号について，説明します。

イベントの送信
送信側システムは送信用共用キューへのメッセージ登録が完了したあと，受信側システムにイベントを送信します。
送信時のあて先として受信用共用キューに定義されているホスト名とポート番号が使用されます。

イベントの受信
イベントを受信した受信側システムでは，Cosminexus RMが受信準備を開始します。受信準備では，DBにアクセスしてメッセージオブジェクトを生成したり，トランザクションの制御元にメッセージの有効化を連絡したりします。
受信用共用キューを使用する場合にはRMSHConnectFlagプロパティにtrueを指定してください。また，RMSHPortプロパティにイベントを受信するためのポート番号を指定してください。

リカバリスレッドでのメッセージの検出
イベントの受信に失敗したときのために，Cosminexus RMは内部にリカバリスレッドを動作させています。リカバリスレッドはRMSHRecoveryTimerIntervalプロパティ指定値（単位：秒）で自システムの受信用共用キューを監視します。メッセージが登録されていても受信準備が開始されていないキューを検出すると，準備処理が開始されます。

アプリケーションでのメッセージの受信
受信準備が完了したあと，アプリケーションがQueueReceiver.receive()またはreceiveNoWait()メソッドを発行すると，Cosminexus RMはキューから取り出したメッセージをアプリケーションに配送します。

2.6.5　DBアクセス時の認証

アプリケーションが取得するコネクション（QueueSessionオブジェクト）には，JDBCコネクションが関連づけられます。

アプリケーションがコネクションを要求すると，Cosminexus RMはCosminexusのコネクションプーリング機能と連携し，プーリングされているJDBCコネクションを再利用します。JDBCコネクションがプールにないときは，DBMSから新しいJDBCコネクションを取得します。このときDBMSの接続ユーザの認証にはアプリケーションで指定した認証方法（コンテナ認証またはアプリケーション認証）が使用されます。認証情報の設定については，「3.4.5　Cosminexus RMのプロパティ定義（永続版リソースアダプタの場合）」を参照してください。

また，アプリケーションがコネクションを解放するときは，Cosminexusのコネクションプーリング機能を経由して処理されます。コネクションプーリング数（Cosminexusでの定義値）に空きがあるとJDBCコネクションは解放されないでプールされます。

アプリケーションからのコネクション取得の概要について，次の図に示します。

図2-26　アプリケーションからのコネクション取得の概要

図中の番号について，説明します。

コネクションの要求
アプリケーションがQueueConnection.createQueueSession()メソッドを発行し，コネクションを要求します。

コネクションの要求通知
Cosminexus RMがCosminexusにコネクションの要求通知をします。

JDBCコネクションの再利用
Cosminexus内にプーリング中のコネクションがある場合はプール中のJDBCコネクションが再利用されます。

JDBCコネクションの要求
プーリング中のコネクションがない場合，Cosminexus RMはDBMSに要求してJDBCコネクションを取得します。コンテナ認証の場合は，リソースアダプタのプロパティで指定した認証情報が利用されます。また，アプリケーション認証の場合は，アプリケーションで指定した認証情報が利用されます。

QueueSessionオブジェクトとの関連づけ
Cosminexus RMはアプリケーションに返却するQueueSessionオブジェクトを生成し，3.または4.で取得したJDBCコネクションと関連づけます。

QueueSessionオブジェクトの返却
Cosminexus RMはアプリケーションにQueueSessionオブジェクトを返します。

2.6.6　トランザクション制御

Cosminexus RMのアプリケーションはトランザクションマネジャでのトランザクション，およびローカルトランザクションを利用できます。ただし，トランザクションマネジャでのトランザクションとローカルトランザクションとを並行して利用することはできません。

例えば，トランザクションマネジャが制御しているときに次に示す状態のQueueSessionオブジェクトを，トランザクション属性がNotSupportedのメソッド内で利用しようとした場合，ローカルトランザクションを並行して利用することになるため例外が発生します。

QueueConnection.createQueueSession()メソッドのtransacted引数にtrueを指定したQueueSessionオブジェクト

QueueConnection.createQueueSession()メソッドのacknowledgeMode引数にCLIENT_ACKNOWLEDGEを指定したQueueSessionオブジェクト

＜この項の構成＞

(1)　ローカルトランザクションの利用

(2)　トランザクションマネジャでのトランザクションの利用

(3)　トランザクションとメッセージ送信

(4)　トランザクションとメッセージ受信

(5)　Cosminexusのアウトプロセストランザクションサービスの利用

(1)　ローカルトランザクションの利用

キューセッションでのローカルトランザクションを利用する場合，QueueConnection.createQueueSession()メソッドのtransacted引数にtrueを指定します。

ローカルトランザクションの場合，Cosminexus RMのメッセージ送受信だけがトランザクションの対象になります。他製品が提供するリソースに対する操作は対象になりません。

(2)　トランザクションマネジャでのトランザクションの利用

Cosminexus RMでは，トランザクションマネジャでのトランザクションを利用できます。次に示す場合，トランザクションマネジャでのトランザクションが発生します。

CosminexusのBMT使用時：javax.transaction.UserTransaction.begin()発行

CosminexusのCMT使用時：Enterprise Beanのビジネスメソッド呼び出し

トランザクションマネジャでのトランザクションの場合，Cosminexus RMのメッセージ送受信だけでなく，他製品が提供するリソースに対する操作を含めたトランザクションが使用できます。

トランザクションマネジャでのトランザクションを使用する場合，Connector属性ファイルの<transaction-support>タグにLocalTransactionまたはXATransactionを指定してください。ただし，LocalTransactionを指定した場合，他製品が提供するリソースに対する操作を含めたトランザクションを使用できません。NoTransactionを指定した場合，トランザクションマネジャでのトランザクションを使用できません。Connector属性ファイルについては，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

(3)　トランザクションとメッセージ送信

メッセージ送信時のQueueSender.send()メソッドの動作について，トランザクションマネジャによってトランザクションが制御されていない場合と制御されている場合に分けて説明します。

トランザクションマネジャによって制御されていない場合
トランザクションマネジャによってトランザクションが制御されていない場合，QueueSender.send()メソッドの動作はQueueConnection.createQueueSession()メソッドのtransacted引数指定値によって異なります。
トランザクションマネジャによってトランザクションが制御されていない場合のsend()メソッドの動作について，次の表に示します。

表2-22　トランザクションマネジャによってトランザクションが制御されていない場合のsend()メソッドの動作

項番
transacted引数
動作内容

1
true

QueueSender.send()メソッドを発行するとキューセッションでのローカルトランザクションが開始されます。QueueSession.commit()メソッドを発行したときにメッセージ送信がコミットされます。

ローカルトランザクションが未決着の状態で，トランザクションマネジャでのトランザクションを開始すると例外が発生します。ローカルトランザクションが開始されていない状態であるなら，トランザクションを開始できます。

2
false
QueueSender.send()メソッドを発行すると，メッセージを正常に送信完了したときに自動的にコミットされます。

注

コミット済みのメッセージを再度送信する場合，プロパティが再設定されて送信されます。

トランザクションマネジャによって制御されている場合
トランザクションマネジャによってトランザクションが制御されている場合，QueueSender.send()メソッドでのメッセージ送信はトランザクションマネジャでのトランザクションに含まれます。QueueSession.commit()またはrollback()メソッドを発行すると例外が発生します。

(4)　トランザクションとメッセージ受信

メッセージの受信方式には，同期受信および非同期受信があります。

同期受信
アプリケーションがQueueReceiver.receive()またはreceiveNoWait()メソッドを発行したタイミングでメッセージを受信します。

非同期受信
Message-driven Beanがキューを監視し，キューにメッセージが到着したタイミングでメッセージを受信します。
onMessage()メソッドのmessage引数によってメッセージを受信できます。この場合は，QueueConnection.createQueueSession()メソッドのacknowledgeMode引数にSession.AUTO_ACKNOWLEDGEを指定したときのQueueReceiver.receive()またはreceiveNoWait()メソッドの動作と同じ動作内容になります。Message-driven Beanとの連携については，「2.6.3　Message-driven Beanとの連携」を参照してください。

以降では，同期受信についてトランザクションマネジャによってトランザクションが制御されていない場合と制御されている場合に分けて説明します。

トランザクションマネジャによって制御されていない場合
トランザクションマネジャによってトランザクションが制御されていない場合，receive()およびreceiveNoWait()メソッドの動作はQueueConnection.createQueueSession()メソッドのtransactedおよびacknowledgeMode引数指定値によって異なります。
トランザクションマネジャによってトランザクションが制御されていない場合のreceive()およびreceiveNoWait()メソッドの動作について，次の表に示します。

表2-23　トランザクションマネジャによってトランザクションが制御されていない場合のreceive()およびreceiveNoWait()メソッドの動作

項番
transacted引数
acknowledgeMode引数
動作内容

1
true
－

QueueReceiver.receive()またはreceiveNoWait()メソッドを発行するとキューセッションでのローカルトランザクションが開始されます。QueueSession.commit()メソッドを発行したときにメッセージ受信が承認されます。

ローカルトランザクションが未決着の状態で，トランザクションマネジャでのトランザクションを開始すると例外が発生します。ローカルトランザクションが開始されていない状態であるなら，トランザクションマネジャでのトランザクションを開始できます。

2
false
AUTO_ACKNOWLEDGE
メッセージを正常に受信完了したとき，メッセージは自動的に承認されます。

3
DUPS_OK_ACKNOWLEDGE

4
CLIENT_ACKNOWLEDGE
Queue.Receiver()およびreceiveNoWait()メソッドでのメッセージの受信はローカルトランザクションに含まれます。
Message.acknowledge()メソッドを発行すると，同一のセッションで以前に受信して承認していないすべてのメッセージおよび現在のメッセージが承認されます。
QueueSession.recover()メソッドを発行すると，配送済みのメッセージが再度配送できるようになります。
Message.acknowledge()またはQueueSession.recover()メソッドを発行しないかぎり，トランザクションマネジャでのトランザクションを開始できません。

（凡例）

－：該当しません。

トランザクションマネジャによって制御されている場合
トランザクションマネジャによってトランザクションが制御されている場合，QueueReceiver.receive()およびreceiveNoWait()メソッドの動作はQueueConnection.createQueueSession()メソッドのtransactedおよびacknowledgeMode引数指定値によって異なります。
トランザクションマネジャによってトランザクションが制御されている場合のreceive()およびreceiveNoWait()メソッドの動作について，次の表に示します。

表2-24　トランザクションマネジャによってトランザクションが制御されている場合のreceive()およびreceiveNoWait()メソッドの動作

項番
transacted引数
acknowledgeMode引数
動作内容

1
true
－
QueueReceiver.receive()またはreceiveNoWait()メソッドでのメッセージの受信はトランザクションマネジャでのトランザクションに含まれます。
QueueSession.commit()またはrollback()メソッドを発行すると例外が発生します。

2
false
AUTO_ACKNOWLEDGE

3
DUPS_OK_ACKNOWLEDGE

4
CLIENT_ACKNOWLEDGE
QueueReceiver.receive()またはreceiveNoWait()メソッドでのメッセージの受信はトランザクションマネジャでのトランザクションに含まれます。
Message.acknowledge()またはQueueSession.recover()メソッドを発行すると例外が発生します。

（凡例）

－：該当しません。

(5)　Cosminexusのアウトプロセストランザクションサービスの利用

Cosminexusのアウトプロセストランザクションサービスを使用し，XID再利用で最適化を行った場合，グローバルトランザクションで異なる二つのリソースアダプタ（別々にデプロイされた二つのCosminexus RM，Cosminexus RMとDB Connectorなど）から同一のDBに接続するコネクションを使用しないでください。

この構成にすると，リソースマネジャでエラーが発生する，または応答が返らないおそれがあります。XID再利用による最適化については，マニュアル「Cosminexus 機能解説」を参照してください。

2.6.7　アプリケーション作成時の注意事項

Cosminexus RMのアプリケーションを作成するときの注意事項を次に示します。

なお，非永続版リソースアダプタの場合は，(2)，(6)，(8)，および(9)の注意事項には該当しません。

＜この項の構成＞

(1)　スレッド間でのオブジェクトの共有

(2)　JDBCコネクション

(3)　コネクションシェアリング時の指定

(4)　Message-driven Beanの監視対象のキュー

(5)　Message-driven Bean使用時のトランザクションの指定

(6)　Message-driven BeanをBMTで使用するときのDB Connectorのステートメントプールの指定

(7)　Message-driven Bean使用時のコネクションプーリング数の指定

(8)　共用キュー

(9)　メッセージのサイズ制限

(10)　参照渡し方式利用時のJMSメッセージの再利用

(11)　参照渡し方式利用時のJMSメッセージの排他

(1)　スレッド間でのオブジェクトの共有

QueueSessionオブジェクトおよびQueueSessionオブジェクトを使用して生成したオブジェクトを複数のスレッドやアプリケーションで共有できません。共有した場合の動作は保証されません。

(2)　JDBCコネクション

(a)　JDBCコネクションの消費

アプリケーションのリソースアダプタリファレンスの解決時に，サーブレットおよびJSPやEnterprise Beanの属性ファイルの<res-sharing-scope>タグに"Shareable"が指定されていない場合，Cosminexus RMではQueueSessionオブジェクトが一つ生成されるたびに，JDBCコネクションが一つ消費されます。このため，アプリケーションで使用しなくなったQueueSessionオブジェクトについては，必ずQueueSession.close()メソッドを発行してリソースを解放するようにしてください。属性ファイルについては，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

ただし，Cosminexusのコネクションプーリング機能を使用する場合はQueueSessionオブジェクト生成時にJDBCコネクションは再利用されます。QueueSession.close()メソッドで解放してもJDBCコネクションは継続して使用されます。

Message-driven Beanを使用する場合は，メッセージが配信されるとき，Message-driven Beanのインスタンスごとに一つのJDBCコネクションが消費されます。メッセージの配信が終了すると，リソースは解放されます。コネクションプーリング機能を使用している場合は，JDBCコネクションは解放されないでプールされます。

(b)　トランザクションマネジャ内でのJDBCコネクションの利用

トランザクションマネジャでのトランザクション内では，最初にトランザクションに参加したJDBCコネクションが常に利用されます。つまり，2番目以降のJDBCコネクションに対する処理も，最初のJDBCコネクションを利用して行われるので注意が必要です。

(3)　コネクションシェアリング時の指定

アプリケーションのリソースアダプタリファレンスの解決時に，サーブレットおよびJSPやEnterprise Beanの属性ファイルの<res-sharing-scope>タグに"Shareable"を指定し，かつ論理コネクション（QueueSessionオブジェクト）を複数生成する場合は，QueueSessionオブジェクト生成時のtransacted引数にfalseを，acknowledgeMode引数にAUTO_ACKNOWLEDGEを指定してください。属性ファイルについては，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

異なる引数を指定してQueueSessionオブジェクトを生成した場合，コネクションシェアリングが動作する契機で例外が発生します。

(4)　Message-driven Beanの監視対象のキュー

Message-driven Beanで監視するキューがシリアル取り出し属性の場合は，Message-driven Beanの多重度を2以上にしても性能面での効果はありません。多重度を上げてメッセージを配送する場合は監視するキューをパラレル取り出し属性にすることをお勧めします。

また，Message-driven Beanで監視するキューがシリアル取り出し属性の場合は，同一のキューに対するQueueReceiver.receive()メソッドを発行しないでください。発行するとデッドロックが発生します。

(5)　Message-driven Bean使用時のトランザクションの指定

Message-driven Beanを使用する場合，Connector属性ファイルの<transaction-support>タグにXATransactionまたはLocalTransactionを指定してください。XATransactionまたはLocalTransaction以外を指定するとMessage-driven Beanアプリケーションのデプロイに失敗します。Connector属性ファイルについては，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

(6)　Message-driven BeanをBMTで使用するときのDB Connectorのステートメントプールの指定

Message-driven BeanをBMTで使用する場合，接続先がHiRDBで，かつXATransactionモードのときは，DB Connectorのステートメントプールを使用しないでください。DB Connectorのステートメントプール使用した場合，エラーメッセージとともにSQLException例外が発生することがあります。

(7)　Message-driven Bean使用時のコネクションプーリング数の指定

Message-driven Beanを使用する場合，コネクションプーリング数がMessage-driven Beanの多重度よりも少ないと，性能が劣化することがあります。コネクションプーリング数は，Message-driven Beanの多重度よりも多くすることをお勧めします。

(8)　共用キュー

(a)　共用キューのアクセス順序

一つのトランザクション内で複数の共用キューにアクセスする場合，各アプリケーションでキューにアクセスする順序を統一する必要があります。異なる順序で共用キューにアクセスしようとすると，デッドロックが発生するおそれがあります。

(b)　受信用共用キューの利用

一つのトランザクション内で，同一の受信用共用キューに対する受信と送信を混在させないようにしてください。

(9)　メッセージのサイズ制限

キュー間転送を行う場合，SOAP通信基盤のSOAPアタッチメントに関する仕様によって，転送するメッセージのサイズに制限が掛かる条件があります。制限の内容および制限が掛かる条件についてはSOAP通信基盤のドキュメントを参照してください。

(10)　参照渡し方式利用時のJMSメッセージの再利用

参照渡し方式を利用する場合，1度でも登録，取り出し，または参照したJMSメッセージに対しては，次の操作を実行しないでください。

メッセージの登録

登録したメッセージの再登録

登録したメッセージの更新メソッドおよびacknowledge()メソッドの呼び出し

登録したメッセージがBytesMessageの場合，ペイロードの参照メソッドの呼び出し

メッセージの取り出し

取り出したメッセージの登録

取り出したメッセージの更新メソッドの呼び出し

取り出しをコミットしたメッセージのacknowledge()メソッドの呼び出し

取り出しをロールバックしたメッセージのすべてのメソッドの呼び出し

メッセージの参照

参照したメッセージの登録

参照したメッセージの更新メソッドおよびacknowledge()メソッドの呼び出し

参照渡し方式利用時のJMSメッセージのメソッドの呼び出し可否を次の表に示します。

表2-25　JMSメッセージのメソッドの呼び出し可否

JMSメッセージのメソッドを呼び出すタイミング | JMSメッセージのメソッドの呼び出し可否
参照メソッド | 更新メソッド | acknowledge()メソッド
登録後 | send()メソッドの発行後 | ○※ | × | ×
commit()メソッドの発行後 | ○※ | × | ×
rollback()メソッドの発行後 | ○※ | × | ×
取り出し後 | receive()メソッドの発行またはMDB配信後 | ○ | × | ○
commit()メソッドまたはacknowledge()メソッドの発行後 | ○ | × | ×
rollback()メソッドまたはrecover()メソッドの発行後 | × | × | ×
参照後 | ○ | × | ×

（凡例）

○：呼び出せます。

×：呼び出せません。

注※

BytesMessageの場合，ペイロードの参照メソッドは呼び出せません。

登録，取り出し，または参照したJMSメッセージに対して，呼び出せないメソッドを呼び出した場合の動作は保証できません。呼び出せないメソッドを呼び出した場合，ほかのセッションで取り出したメッセージの受信を承認（acknowledge）してしまう，メッセージデータが不正になる，例外が発生するなどの状態になることがあります。

登録に失敗したメッセージを再び登録したい場合は， 新たにJMSメッセージを作成し，作成したメッセージに，登録に失敗したメッセージに設定していた情報を設定し直して，登録してください。

(11)　参照渡し方式利用時のJMSメッセージの排他

参照渡し方式を利用する場合，JMSメッセージに対してsynchronizedによる排他を取らないでください。JMSメッセージで排他を取得した場合，デッドロックが発生するおそれがあります。

2.7　DB Connector for Cosminexus RMの機能

Cosminexus RMは，システム状態やユーザから送られてきたメッセージをDB上のテーブルに永続化します。その場合，DBへのアクセスにはDB Connector for Cosminexus RMを利用します。

＜この節の構成＞

2.7.1　Cosminexus RMとDB Connector for Cosminexus RMの関係

2.7.2　DB Connector for Cosminexus RMの機能一覧

2.7.3　DB Connector for Cosminexus RM連携時のコネクションとSQLの運用

2.7.4　DB Connector for Cosminexus RM連携時の注意事項

2.7.1　Cosminexus RMとDB Connector for Cosminexus RMの関係

Cosminexus RMとDB Connector for Cosminexus RMの関係について，次の図に示します。

図2-27　Cosminexus RMとDB Connector for Cosminexus RMの関係

DB Connector for Cosminexus RMはデータベースにアクセスするためのリソースアダプタです。Cosminexus RMは，DB Connector for Cosminexus RMのJDBCコネクションを取得し，JDBCインタフェースを利用してデータベースにアクセスします。

Cosminexus RMとDB Connector for Cosminexus RMは1：1に対応づける必要があります。そのため，Cosminexus RMのRMLinkedDBConnectorNameプロパティにDB Connector for Cosminexus RMの表示名を指定します。同様に，DB Connector for Cosminexus RMからCosminexus RMへの対応づけも必要です。

なお，DB Connector for Cosminexus RMと連携できるのは，永続版リソースアダプタのCosminexus RMだけです。

＜この項の構成＞

(1)　リソースアダプタ間の依存関係

(2)　リソースアダプタの設定

(1)　リソースアダプタ間の依存関係

Cosminexus RMは，DB Connector for Cosminexus RMのJDBCコネクションを利用してDBにアクセスします。したがって，Cosminexus RMの稼働時には，DB Connector for Cosminexus RMも稼働している必要があります。

Cosminexus Component Containerは，Cosminexus RMの開始時に，連携するDB Connector for Cosminexus RMが稼働中かどうかをチェックし，稼働していない場合はエラーを返します。また，DB Connector for Cosminexus RMの停止時には，連携するCosminexus RMが停止済みかどうかをチェックし，停止していない場合はエラーを返します。

リソースアダプタの状態と開始または停止の依存関係を次の表に示します。

表2-26　DB Connector for Cosminexus RMの状態とCosminexus RMの開始または停止の関係

DB Connector for Cosminexus RMの状態 | 連携するCosminexus RMの動作
稼働中 | 開始できる
停止できる
停止中 | 開始できない

表2-27　Cosminexus RMの状態とDB Connector for Cosminexus RMの開始または停止の関係

Cosminexus RMの状態 | 連携するDB Connector for Cosminexus RMの動作
稼働中 | 停止できない
停止中 | 開始できる
停止できる

リソースアダプタの開始時には，Cosminexus Component ContainerがCosminexus RMとDB Connector for Cosminexus RMの対応づけをチェックします。Cosminexus RMの開始時にDB Connector for Cosminexus RMと正しく対応づけられなかった場合は，Cosminexus RMは開始できません。

(2)　リソースアダプタの設定

リソースアダプタの設定情報のうち，コネクションプールに関する情報や認証情報は，Cosminexus RMのプロパティに設定します。また，DBへの接続情報はDB Connector for Cosminexus RMのプロパティに設定します。

リソースアダプタの設定情報の分類を次の表に示します。

表2-28　リソースアダプタの設定情報の分類

設定情報 | DB Connector for Cosminexus RM | Cosminexus RM
コンフィグレーションプロパティ | Cosminexus RM固有の情報 | － | ○
DB Connector for Cosminexus RM固有の情報（ステートメントプールなど） | ○ | －
ログ取得情報 | ○ | ○
連携先リソースアダプタ名 | ○ | ○
認証情報（ユーザ名，パスワード）※1※2 | ○ | ○
コネクションプールサイズ※2 | ○ | ○
コネクション障害検知※2 | ○ | ○
コネクション取得リトライ※2 | ○ | ○
トランザクションサポートレベル※2 | ○ | ○
データベース接続定義 | ○ | －

（凡例）

○：設定が必要です。

－：設定項目がありません。

注※1

コンテナ認証時のDBへの接続ユーザ名およびパスワードとして使用されます。

注※2

DB Connector for Cosminexus RMとCosminexus RMで同じ値を設定してください。

2.7.2　DB Connector for Cosminexus RMの機能一覧

DB Connectorの機能の中には，DB Connector for Cosminexus RMで使用できる機能と使用できない機能があります。DB Connector for Cosminexus RMで使用できるDB Connectorの機能を次の表に示します。なお，各機能の詳細については，「2.7.3　DB Connector for Cosminexus RM連携時のコネクションとSQLの運用」，マニュアル「Cosminexus 機能解説」，およびマニュアル「Cosminexus システム運用ガイド」を参照してください。

表2-29　DB Connector for Cosminexus RMで使用できるDB Connectorの機能

項番 | DB Connectorの機能 | DB Connector for Cosminexus RMでの使用可否
1 | コネクションプーリング | ○
2 | コネクションプールのウォーミングアップ | ○
3 | コネクションシェアリング・アソシエーション | ○
4 | ステートメントプーリング | ○
5 | ステートメントキャンセル | ○
6 | DataSourceオブジェクトのキャッシング | ○
7 | DB Connectorのコンテナ管理でのサインオンの最適化 | ○
8 | コネクションの障害検知 | ○
9 | コネクションの障害検知のタイムアウト | ○
10 | コネクション枯渇時のコネクション取得待ち | ○
11 | コネクションの取得リトライ | ○
12 | コネクションプールの情報表示 | ○
13 | コネクションプールのクリア | ○
14 | コネクションの自動クローズ | ○
15 | コネクションスイーパ | ○
16 | 接続テスト | ○
17 | コネクション数調節機能 | ○
18 | コネクションプールの情報表示 | ○
19 | コネクションプールの一時停止 | ×
20 | コネクションプールの再開 | ×
21 | J2EEリソースのオプショナル名機能 | ○
22 | コネクションIDの取得 | ○
23 | 障害調査用SQLの出力 | ◎
24 | 軽微な障害時のコネクション再利用 | ○

（凡例）

◎：必ず有効になります。

○：使用できます。

×：使用できません。

2.7.3　DB Connector for Cosminexus RM連携時のコネクションとSQLの運用

Cosminexus RMとDB Connector for Cosminexus RMが連携するときのコネクションとSQLの運用について説明します。

＜この項の構成＞

(1)　コネクションの共有

(2)　ステートメントキャンセル

(3)　障害調査用SQLの出力

(4)　軽微な障害時のコネクション再利用

(5)　コネクションIDの取得

(6)　コネクションの接続テスト

(1)　コネクションの共有

DB Connector for Cosminexus RMとCosminexus RMは，共にJDBCコネクションを利用します。同一トランザクション内でJDBCとJMSのアクセスを行う場合は，JDBCコネクションを共有できます。

DB Connector for Cosminexus RMとCosminexus RMの間でコネクションを共有するには，次の条件を満たす必要があります。

DB Connector for Cosminexus RMとCosminexus RMが使用するDBが同一であること。

Cosminexus RMのRMAssociateJDBCFlagプロパティにtrueが指定されていること。

アプリケーションのリソースアダプタリファレンスの解決時に，データソースとキューコネクションファクトリのSession Bean属性ファイル，Entity Bean属性ファイル，WAR属性ファイル，またはMessageDrivenBean属性ファイルの<res-sharing-scope>タグに"Shareable"を指定していること（各属性ファイルについては，マニュアル「Cosminexus リファレンス 定義編」を参照してください）。

認証情報（ユーザ名，パスワード）が同一であること。

認証方法（コンテナ認証またはアプリケーション認証）が同一であること。

Cosminexus RMのQueueSessionが，すべてAutoAcknowledgeモードであること（AutoAcknowledgeモード以外のQueueSessionとの間でコネクションを共有しようとすると，論理コネクション（java.sql.Connection, QueueSession）の取得に失敗します）。

コネクション共有の条件を満たさない場合は，別のJDBCコネクションが取得されます。この場合も，トランザクションマネジャでのトランザクション内では最初にトランザクションに参加したJDBCコネクションが常に利用されます。つまり，2番目以降のJDBCコネクションに対する処理も，最初のJDBCコネクションを利用して行われるので注意が必要です。

なお，コネクション共有を利用するかどうかに関係なく，JDBCコネクションはCosminexus RMのコネクションとしてプール管理されます。一方，DB Connector for Cosminexus RMのコネクションはプール管理されません。コネクション取得時にはCosminexus RMのコネクションプールからJDBCコネクションを取得します。

(2)　ステートメントキャンセル

DB Connector for Cosminexus RMと連携する場合，実行中のSQL処理が返ってこない状態でトランザクションのタイムアウトが発生すると，ステートメントがキャンセルされます。

Cosminexus RMのステートメントキャンセルで注意する点を次に示します。

ステートメントキャンセルは，ユーザがJDBCを利用して行う処理に対してだけ有効です。ユーザがJMS，またはJDBCとJMSとの間でコネクションシェアリングを利用する場合，ステートメントキャンセルはJDBCの処理に対してだけ有効となります。このとき，JMSを通して行われる処理に対しては，ステートメントがキャンセルされません。

トランザクションのサポートレベルがXATransactionでDABrokerを利用してHiRDBと接続する場合，ステートメントはキャンセルされません。

(3)　障害調査用SQLの出力

デッドロックやスローダウンなどの障害が発生した場合，発行したSQLが障害の要因となった可能性があります。そこで，発行したSQLをログに出力することによって，障害要因の解析が容易になります。ログに出力されるSQLの情報を障害調査用SQLと呼びます。障害調査用SQLの詳細については，マニュアル「Cosminexus 機能解説」を参照してください。

Cosminexus RMの障害調査用SQLの出力で注意する点を次に示します。

障害調査用SQLの出力は，ユーザがJDBCを利用して行う処理に対してだけ有効です。ただし，ユーザがリソースアダプタ管理のトランザクション（リソース固有のAPIによって，ユーザが直接トランザクションを管理する方法）でJDBCとJMSとの間でコネクションシェアリングを利用する場合，JMSを通して行われる処理に対しての障害調査用SQLが出力されることがあります。

ステートメントキャンセルと障害調査用SQLの出力は，まず障害調査用SQLの出力が実行され，そのあとにステートメントキャンセルが実行されます。

障害調査用SQLは，DB Connector for Cosminexus RMの稼働ログ，および性能解析トレースに出力されます。

DB Connector for Cosminexus RMの稼働ログ

<Cosminexusのログディレクトリ>¥connectors

性能解析トレース

<Cosminexusのインストールディレクトリ>¥PRF¥spool¥utt¥prf¥PRF_ID¥dcopltrc

(4)　軽微な障害時のコネクション再利用

コネクション利用時に発生したエラーが，テーブルの一意性に違反したSQLの発行など軽微な障害の場合，コネクションを再利用します。

Cosminexus RMの軽微な障害時のコネクション再利用で注意する点を次に示します。

軽微な障害時のコネクション再利用は，ローカルトランザクションの場合だけ有効です。トランザクションを使用していない，またはトランザクションのサポートレベルがXATransactionの場合，コネクションは破棄されます。

(5)　コネクションIDの取得

DB Connector for Cosminexus RMと連携した場合，接続先DBのコネクションIDを取得できます。コネクションIDとは，DBとの接続に使用しているコネクションを一意に識別するための接続情報です。コネクションIDの取得の詳細については，マニュアル「Cosminexus システム運用ガイド」を参照してください。

Cosminexus RMのコネクションIDの取得で注意する点を次に示します。

Cosminexus RMは，一つのトランザクション内の場合，アプリケーションは同じDB Connector for Cosminexus RMのコネクションを利用します。そのため，一つのトランザクション内で複数のコネクションを利用しているときにcjlistpoolコマンドを実行すると，同じコネクションIDが二つあるように見えます。

(6)　コネクションの接続テスト

Cosminexus Component Containerが提供するCosminexus RMの接続テストを行うには，連携するDB Connector for Cosminexus RMが稼働中であることが前提となります。また，DB Connector for Cosminexus RMの接続テストでは，Cosminexus RMとDB Connector for Cosminexus RMの両方が稼働中であることを前提とします。

接続テストに失敗した場合は，メッセージの内容に応じて要因を取り除いてください。

2.7.4　DB Connector for Cosminexus RM連携時の注意事項

Cosminexus RMが管理状態または閉塞状態のときには，DB Connector for Cosminexus RMを利用して，トランザクションマネジャでのトランザクションの利用はできません。

DBだけを利用する場合は，通常のDB Connectorを利用してください。DB Connector for Cosminexus RMは，コネクション共有機能のオーバヘッドがあるため，性能が劣化します。

DB Connector for Cosminexus RMを利用している場合，java.sql.ConnectionのsetAutoCommit()メソッドは利用できません。したがって，JDBC固有のトランザクション制御はできません。なお，コネクション共有を行い，トランザクションマネジャのトランザクションを利用していない場合，JDBCのコネクションはAutoCommit=trueとなります。また，JMSのQueueSessionはAUTO_ACKNOWLEDGEモードとなります。

Oracleを利用してJDBCとJMSのアクセスを行う場合は，コネクション共有機能を使うことが前提となります。Cosminexus RMでは，同一DBに対して，異なるリソースアダプタとの間の2相コミットはできません。

java.sql.Connectionからの生成物（例：java.sql.Statement）を，トランザクションの範囲を超えて使用することはできません。

3.　システム構築

この章ではCosminexus RMのシステムを構築する手順について説明します。

なお，Cosminexus RMのシステム構築は，永続版リソースアダプタを使用する場合と非永続版リソースアダプタを使用する場合とで手順が異なります。

＜この章の構成＞

3.1　システム構築の流れ

3.2　Cosminexus RMのインストール

3.3　システム構築の準備

3.4　Cosminexus RMのシステム構築（永続版リソースアダプタの場合）

3.5　Cosminexus RMのシステム構築（非永続版リソースアダプタの場合）

3.6　システム構築時の注意事項

3.1　システム構築の流れ

Cosminexus RMのシステム構築の流れを次の図に示します。

図3-1　Cosminexus RMのシステム構築の流れ

図中の番号について説明します。

＜この節の構成＞

(1)　インストール

(2)　システム構築の準備

(3)　システム構築

(1)　インストール

CosminexusやDBMSなどの前提製品をインストールしたあと，Cosminexus RMをCosminexusシステムが動作するマシンにインストールします。Windowsの場合はHITACHI総合インストーラを，UNIXの場合は日立PPインストーラを使用してインストールしてください。また，インストール後に格納されるファイルについては，「3.2.2　Cosminexus RMをインストールすると格納されるファイル」を参照してください。

(2)　システム構築の準備

システム名として，RMSystemNameプロパティに指定する値（先頭が英字の1～3文字の大文字英字または数字）を決定します。また，Cosminexus RMが使用する環境変数を設定します。

システム名の決定については，「3.3.1　Cosminexus RMのシステム名の決定」を，環境変数の設定については，「3.3.2　環境変数の設定」を参照してください。

(3)　システム構築

システム構築の手順は，永続版リソースアダプタを使用する場合と，非永続版リソースアダプタを使用する場合で異なります。

永続版リソースアダプタを使用する場合は，「3.4　Cosminexus RMのシステム構築（永続版リソースアダプタの場合）」を，非永続版リソースアダプタを使用する場合は，「3.5　Cosminexus RMのシステム構築（非永続版リソースアダプタの場合）」を参照してください。

なお，キュー定義ファイルの作成以降の作業については，コマンドでシステムを構築しています。コマンド以外にも，GUI（プラグイン）やCosminexus Management Serverを利用してシステムを構築することもできます。GUI（プラグイン）またはCosminexus Management Serverを利用したシステム構築方法については，マニュアル「Cosminexus システム構築ガイド」およびマニュアル「Cosminexus アプリケーション開発ガイド」を参照してください。

また，Cosminexus RMおよびDB Connector for Cosminexus RMのプロパティは，ユーザが環境に合わせて定義します。プロパティ定義の流れを次に示します。

J2EEサーバの開始
CosminexusをJ2EEサーバモードの1.4モードで開始します。また，アプリケーションの要件に合わせて，必要なCosminexusのサービスを開始してください。

プロパティの定義
DB Connector for Cosminexus RMおよびCosminexus RMのプロパティを定義します。Cosminexus RMで提供するConnector属性ファイルのテンプレートを任意のディレクトリにコピーして，コピーしたファイルを編集してください。
認証情報（UserおよびPassword）にはCosminexus RMがHiRDBまたはOracleにアクセスするために利用する接続ユーザのユーザ名，パスワードを指定してください。
なお，非永続版リソースアダプタでは認証情報（UserおよびPassword）は，指定しても無視されます。

DB Connector for Cosminexus RMおよびCosminexus RMのインポート
サーバ管理コマンドを使用して，リソースアダプタとしてDB Connector for Cosminexus RMおよびCosminexus RMをインポートします。

プロパティの設定
サーバ管理コマンドを使用して，DB Connector for Cosminexus RMおよびCosminexus RMのプロパティを設定します。

DB Connector for Cosminexus RMおよびCosminexus RMのデプロイ
サーバ管理コマンドを使用して，DB Connector for Cosminexus RMおよびCosminexus RMをデプロイします。

J2EEサーバの停止
必要に応じてJ2EEサーバ（Cosminexus Component Container）を停止します。引き続きCosminexus RMを開始する場合は，J2EEサーバを停止しないで，永続版リソースアダプタを使用するときは「4.1　Cosminexus RMとアプリケーションの開始と停止（永続版リソースアダプタの場合）」を，非永続版リソースアダプタを使用するときは「5.1　Cosminexus RMとアプリケーションの開始と停止（非永続版リソースアダプタの場合）」を参照してください。

なお，Cosminexus RMおよびDB Connector for Cosminexus RMのシステムを構築するサンプル手順については，「付録C.1　環境構築のサンプル手順」を参照してください。

3.2　Cosminexus RMのインストール

Cosminexus RMは，Windowsの場合はHITACHI総合インストーラを，UNIXの場合は日立PPインストーラを使用してインストールします。インストールは，HITACHI総合インストーラ，または日立PPインストーラの指示に従ってください。なお，Cosminexus RMのインストールは，前提製品をインストールしたあとに実施します。前提製品のインストールについては，「3.2.1　前提製品のインストール」を参照してください。

＜この節の構成＞

3.2.1　前提製品のインストール

3.2.2　Cosminexus RMをインストールすると格納されるファイル

3.2.1　前提製品のインストール

Cosminexus RMをインストールする前に，CosminexusやDBMS（永続版リソースアダプタを使用する場合だけ）などの前提製品をインストールする必要があります。前提製品のインストールの方法については，この章で説明する内容に加えて各製品が提供するマニュアルを参照してください。

＜この項の構成＞

(1)　Cosminexusのインストール

(2)　DBMSのインストール

(3)　DBクライアントのインストール

(1)　Cosminexusのインストール

Cosminexus RMはJ2EEサーバ上で動作します。Cosminexus RMが動作するマシンに，次に示す製品をインストールしてください。

Cosminexus Component Container

Cosminexus DABroker Library
DB Connector for Cosminexus RMでCosminexus DABroker Libraryを使用する場合だけ必要です。

Cosminexus Developer's Kit for Java

Cosminexus TPBroker

Cosminexus Performance Tracer
PRFトレースを取得する場合だけ必要です。

インストールしたあと，アプリケーションで実行する業務に合わせてCosminexusシステムを構築してください。構築方法については，マニュアル「Cosminexus システム構築ガイド」を参照してください。

(2)　DBMSのインストール

永続版リソースアダプタを使用する場合，DBMSとしてHiRDBまたはOracleをインストールしてください。

(3)　DBクライアントのインストール

永続版リソースアダプタを使用する場合で，DBMSとしてHiRDBを使用するとき，次に示す製品をインストールしてください。

HiRDB/Run TimeまたはHiRDB/Developer's Kit
詳細については，マニュアル「HiRDB UAP開発ガイド」を参照してください。

HiRDB SQL Executer
詳細については，HiRDB SQL Executerのドキュメントを参照してください。

3.2.2　Cosminexus RMをインストールすると格納されるファイル

Cosminexus RMをインストールすると，次に示すファイルが格納されます。Cosminexus RMのインストール内容について，次の表に示します。

表3-1　Cosminexus RMのインストール内容

項番
名称
ディレクトリ
ファイル名

1
永続版リソースアダプタ
%HRMDIR%¥lib
reliablemessaging.rar

2
非永続版リソースアダプタ
%HRMDIR%¥lib
reliablemessagingNP.rar

3
ライブラリ
%HRMDIR%¥lib
reliablemessaging-api.jar

4
クラスライブラリ
%HRMDIR%¥lib
hrmcommand.jar

5
EAR
%HRMDIR%¥lib
hrmqueue-transmit.ear

6
コマンド
%HRMDIR%¥bin

Windowsの場合

hrm*.bat

UNIXの場合

hrm*

7
クライアント定義ファイル
%HRMDIR%¥conf
c4webcl.properties

8
テーブル作成用SQLファイル
%HRMDIR%¥sql
createtableshirdb.sql
createtablesoracle.sql

9
テーブル削除用SQLファイル
%HRMDIR%¥sql
deletetableshirdb.sql
deletetablesoracle.sql

10
共用キューバージョンアップ用SQL
%HRMDIR%¥sql
shqupdate_V1toV2.sql

11
Connector属性ファイルのテンプレート
%HRMDIR%¥conf
rm_prop.xml
rmnp_prop.xml

12
クライアントログファイル
%HRMDIR%¥logs¥cmd¥clt
－

13
サンプルアプリケーション
%HRMDIR%¥samples¥
SessionBean1
JMSSample1.java
JMSSample1Client.java
JMSSample1EJB.java
JMSSample1Home.java
QueueConfig.properties
QueueConfigNP.properties
QueueMake.properties
config.xml

Windowsの場合

compileBean.bat

compileClient.bat

testClient.bat

deployApp.bat

unDeployApp.bat

UNIXの場合

compileBean

compileClient

testClient

deployApp

unDeployApp

14
%HRMDIR%¥samples¥
SessionBean1¥DD_EJB¥META-INF
ejb-jar.xml

15
%HRMDIR%¥samples¥
SessionBean1¥DD_APP¥META-INF
application.xml

16
%HRMDIR%¥samples¥
SessionBean2¥Receive
JMSSample2Receive.java
JMSSample2ReceiveClient.java
JMSSample2ReceiveEJB.java
JMSSample2ReceiveHome.java
QueueConfig.properties
config.xml

Windowsの場合

compileBean.bat

compileClient.bat

testReceiveClient.bat

deployApp.bat

unDeployApp.bat

UNIXの場合

compileBean

compileClient

testReceiveClient

deployApp

unDeployApp

17
%HRMDIR%¥samples¥
SessionBean2¥Receive¥DD_EJB¥META-INF
ejb-jar.xml

18
%HRMDIR%¥samples¥
SessionBean2¥Receive¥DD_APP¥META-INF
application.xml

19
%HRMDIR%¥samples¥
SessionBean2¥Send
JMSSample2Send.java
JMSSample2SendClient.java
JMSSample2SendEJB.java
JMSSample2SendHome.java
QueueConfig.properties
config.xml

Windowsの場合

compileBean.bat

compileClient.bat

testSendClient.bat

deployApp.bat

unDeployApp.bat

UNIXの場合

compileBean

compileClient

testSendClient

deployApp

unDeployApp

20
%HRMDIR%¥samples¥
SessionBean2¥Send¥DD_EJB¥META-INF
ejb-jar.xml

21
%HRMDIR%¥samples¥
SessionBean2¥Send¥DD_APP¥META-INF
application.xml

（凡例）

－：インストール直後はファイルがありません。

注

%HRMDIR%はCosminexus RMがインストールされたディレクトリを表します。

3.3　システム構築の準備

システムを構築する前の準備について説明します。

＜この節の構成＞

3.3.1　Cosminexus RMのシステム名の決定

3.3.2　環境変数の設定

3.3.1　Cosminexus RMのシステム名の決定

システム名として，システム間で一意となる値（先頭が英字の1～3文字の大文字英字または数字）を決定します。決定した値は環境変数，RMSystemNameプロパティなどに指定します。

3.3.2　環境変数の設定

Cosminexus RMが動作するマシンで，次に示す環境変数を設定してください。

HRMDIR
Cosminexus RMがインストールされたディレクトリのパスを指定します。

HRM_SYSTEM_NAME
Cosminexus RMが提供するコマンドを実行する際に操作の対象となるシステム名を指定する環境変数です。「3.3.1　Cosminexus RMのシステム名の決定」で決定した値を指定します。

HRM_CMD_HOST
CORBAネーミングサービスのホスト名です。Cosminexus RMのコマンドがCORBAネーミングサービスを使用するときのホスト名またはIPアドレスを指定します。
CORBAネーミングサービスはJNDIの機能を実現します。ユーザがCosminexus RMのコマンドを使用したり，アプリケーションがキューをlookupするときに動作している必要があります。
IPアドレスを二つ以上持つマシン上で明示的にネーミングサービスのアドレスを指定したい場合などには，このプロパティを指定してください。
CORBAネーミングサービスを自動起動モード（J2EEサーバ用ユーザプロパティファイルのejbserver.naming.startupModeにautomaticまたはinprocessを指定）で使用し，EJBコンテナのIPアドレスを固定（J2EEサーバ用ユーザプロパティファイルのvbroker.se.iiop_tp.hostを指定）した場合は，このプロパティに固定したIPアドレスを指定してください。

HRM_CMD_PORT
CORBAネーミングサービス（nameserv）のポート番号です。Cosminexus RMのコマンドがCORBAネーミングサービス（nameserv）を使用するときのポート番号を指定します。
ユーザが特に変更していない場合は，デフォルト値である900を指定してください。

PATH
Cosminexus RMが提供するコマンドが格納されたディレクトリを指定します。%HRMDIR%¥binを追加してください。

3.4　Cosminexus RMのシステム構築（永続版リソースアダプタの場合）

永続版リソースアダプタを使用する場合のCosminexus RMのシステム構築について説明します。

＜この節の構成＞

3.4.1　DBMSの設定（HiRDBを使用する場合）

3.4.2　DBMSの設定（Oracleを使用する場合）

3.4.3　J2EEサーバ（Cosminexus）の設定

3.4.4　キュー定義ファイルの作成（永続版リソースアダプタの場合）

3.4.5　Cosminexus RMのプロパティ定義（永続版リソースアダプタの場合）

3.4.6　DB Connector for Cosminexus RMの選択

3.4.7　DB Connector for Cosminexus RMの前提製品の設定

3.4.8　DB Connector for Cosminexus RMのプロパティ定義

3.4.9　DB Connector for Cosminexus RMとCosminexus RMのインポート

3.4.10　DB Connector for Cosminexus RMとCosminexus RMのプロパティ設定

3.4.11　DB Connector for Cosminexus RMとCosminexus RMのデプロイ

3.4.12　Cosminexus RMの運用前の準備（永続版リソースアダプタの場合）

3.4.13　キュー間転送を使用する場合の設定

3.4.1　DBMSの設定（HiRDBを使用する場合）

HiRDBを使用する場合のDBMSの設定について説明します。説明する以外の設定内容や手順については，HiRDBのマニュアルを参照してください。

＜この項の構成＞

(1)　DBMSの初期設定（HiRDBを使用する場合）

(2)　DBクライアントの設定

(3)　Cosminexus RMの管理情報テーブルの作成

(1)　DBMSの初期設定（HiRDBを使用する場合）

(a)　HiRDBの初期設定

HiRDBをインストールしたら，環境設定をします。Cosminexus RMの管理情報テーブルを格納するためのRDエリアを作成してください。HiRDBの環境設定については，マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

なお，HiRDBを環境設定するときに使用する文字コードは，Cosminexus DABroker Libraryに設定した漢字コードセットに合わせてください。文字コードの選択については，マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

(b)　HiRDBのユーザ権限の付与

HiRDBでは"ユーザの作成"という操作がなく，ユーザ権限の一つであるCONNECT権限をユーザに付与することによってユーザが作成されます。ユーザ権限については，マニュアル「HiRDB システム運用ガイド」を参照してください。

Cosminexus RMはHiRDBの接続ユーザを使用してHiRDBにアクセスします。Cosminexus RMで使用する接続ユーザには，次に示すユーザ権限を付与してください。

CONNECT権限

スキーマ定義権限

ユーザ権限を付与するには，データベース定義ユティリティ（pddef）またはHiRDB SQL Executerを使用します。ここでは，データベース定義ユティリティ（pddef）を使用してユーザ権限を付与する場合の手順を説明します。Cosminexus RMが動作するマシンまたはHiRDBが動作するマシンで，次に示す手順を実行してください。データベース定義ユティリティ（pddef）の使用方法については，マニュアル「HiRDB コマンドリファレンス」を参照してください。

環境変数の設定
次に示す環境変数を設定します。

Windowsの場合

SET PDHOST = <HiRDBサーバのホスト名またはIPアドレス>
SET PDNAMEPORT = <HiRDBサーバのポート番号>
SET PDUSER = <DBA権限を持つユーザ名>/<パスワード>

UNIX（csh）の場合

setenv PDHOST <HiRDBサーバのホスト名またはIPアドレス>
setenv PDNAMEPORT <HiRDBサーバのポート番号>
setenv PDUSER <DBA権限を持つユーザ名>/<パスワード>

UNIX（sh）の場合

PDHOST=<HiRDBサーバのホスト名またはIPアドレス>
PDNAMEPORT=<HiRDBサーバのポート番号>
PDUSER=<DBA権限を持つユーザ名>/<パスワード>
export PDHOST
export PDNAMEPORT
export PDUSER

データベース定義ユティリティ（pddef）の開始
次に示すとおりコマンドを入力して，データベース定義ユティリティ（pddef）を開始します。

pddef

SQL文の実行
次に示すSQL文を実行します。

GRANT  CONNECT  TO  <権限を付与する接続ユーザ名>※
             IDENTIFIED  BY  <パスワード>;
GRANT  SCHEMA   TO  <権限を付与する接続ユーザ名>※;

注※

Cosminexus RMが使用する接続ユーザの名前です。HiRDBのクライアント環境変数グループに登録したPDUSER環境変数と同じ値になります。PDUSER環境変数については，「(2)(b)　HiRDBの環境変数グループの登録」を参照してください。

データベース定義ユティリティ（pddef）の終了
データベース定義ユティリティ（pddef）を終了するには，

Windowsの場合

CtrlキーとZキーを同時に押したあと，Enterキーを押してください。

UNIXの場合

CtrlキーとDキーを同時に押してください。

(c)　HiRDBのスキーマの定義

Cosminexus RMの管理情報テーブル用のスキーマを定義します。

スキーマを定義するには，データベース定義ユティリティ（pddef）またはHiRDB SQL Executerを使用します。ここでは，データベース定義ユティリティ（pddef）を使用してスキーマ定義する場合の手順を説明します。Cosminexus RMが動作するマシンまたはHiRDBが動作するマシンで，次に示す手順を実行してください。データベース定義ユティリティ（pddef）の使用方法については，マニュアル「HiRDB コマンドリファレンス」を参照してください。

環境変数の設定
次に示す環境変数を設定します。

Windowsの場合

SET PDHOST = <HiRDBサーバのホスト名またはIPアドレス>
SET PDNAMEPORT = <HiRDBサーバのポート番号>
SET PDUSER = <接続ユーザ名>/<パスワード>※

UNIX（csh）の場合

setenv PDHOST <HiRDBサーバのホスト名またはIPアドレス>
setenv PDNAMEPORT <HiRDBサーバのポート番号>
setenv PDUSER <接続ユーザ名>/<パスワード>※

UNIX（sh）の場合

PDHOST=<HiRDBサーバのホスト名またはIPアドレス>
PDNAMEPORT=<HiRDBサーバのポート番号>
PDUSER=<接続ユーザ名>/<パスワード>※
export PDHOST
export PDNAMEPORT
export PDUSER

注※

接続ユーザ名には，権限を付与した接続ユーザ名を指定します。詳細については，「(1)(b)　HiRDBのユーザ権限の付与」を参照してください。

データベース定義ユティリティ（pddef）の開始
次に示すとおりコマンドを入力して，データベース定義ユティリティ（pddef）を開始します。

pddef

SQL文の実行
次に示すSQL文を実行します。

CREATE SCHEMA;

データベース定義ユティリティ（pddef）の終了
データベース定義ユティリティ（pddef）を終了するには，

Windowsの場合

CtrlキーとZキーを同時に押したあと，Enterキーを押してください。

UNIXの場合

CtrlキーとDキーを同時に押してください。

(d)　HiRDBのRDエリアの準備

Cosminexus RMの管理情報テーブルを格納するために，必要に応じてRDエリアを作成します。RDエリアの作成方法については，マニュアル「HiRDB システム運用ガイド」を参照してください。

複数のユーザでCosminexus RMにアクセスする際にアプリケーション認証を使用する場合は，公用RDエリアを作成し，その公用RDエリアにCosminexus RMの管理情報テーブルを作成します。

(e)　HiRDBの排他資源と同時アクセス可能実表数の見積もり

HiRDBの排他資源および同時アクセス可能実表数の見積もりについては，「付録F　HiRDBの見積もり」を参照してください。

(2)　DBクライアントの設定

次に示す製品をインストールしたら，Cosminexus RMが動作するマシンで設定をします。

HiRDB/Run TimeまたはHiRDB/Developer's Kit

HiRDB SQL Executer

(a)　HiRDBの環境変数の設定

次に示す環境変数を設定します。

PDXAMODE
1を指定します。

PDTXACANUM
Cosminexus RMが使用するDBコネクション数の最大値を指定します。この場合の最大値は，Cosminexus RM本体およびアプリケーションが使用するDBコネクションの合計です。Cosminexus RMがDBコネクションを使用するタイミングと，使用するコネクションの数を次の表に示します。

表3-2　Cosminexus RMがDBコネクションを使用するタイミングと使用するコネクションの数

項番
Cosminexus RMの機能
DBコネクションを使用するタイミング
コネクション使用数

1
コマンド
コマンド実行時に取得し，コマンド完了後に解放します。
1

2
共用キューによるシステム間連携
リソースアダプタの開始時に1コネクションを取得し，リソースアダプタの停止時に解放します。
1

3
イベント受信時に1コネクションを取得し，イベント受信完了後に解放します。
1

4
メモリ復元処理
メモリ復元時に取得し，復元完了時に解放します。復元処理の詳細については，「4.1.4(1)　状態遷移」の開始中状態を参照してください。
1

5
メッセージ削除処理
リソースアダプタの開始時に取得し，リソースアダプタ停止時に解放します。
1

6
XAリカバリ
リソースアダプタの開始時に1コネクションを取得し，リソースアダプタの停止時に解放します。
1

7
キュー間転送
送信
1メッセージの送信でキャッシュにメッセージがない場合，またはグループを切り替える場合に，1コネクションを取得し，メッセージの送信終了後に解放します。
コネクション取得数の最大値は，送信スレッドの起動数です。
1以上

8
受信
1メッセージの受信で1コネクション取得し，メッセージの受信完了後に解放します。ただし，同時リクエスト数に比例してコネクション取得数も増加します。
1以上

上記の表に示したとおり，Cosminexus RMのDBコネクション使用数は次の値になります。

6＋送信スレッドの起動数＋メッセージ受信リクエスト数

なお，CosminexusのJ2EEコンポーネントからHiRDBにアクセスする場合は，マニュアル「Cosminexus システム構築ガイド」に記載されている見積もり値に，Cosminexus RMのDBコネクション使用数を加えた値を指定します。

LD_LIBRARY_PATH（Linuxの場合），LIBPATH（AIXの場合），SHLIB_PATH（HP-UXの場合）
下記のパスを指定してください。
/opt/Cosminexus/TPB/lib
/opt/Cosminexus/PRF/lib
/opt/Cosminexus/CTM/lib（CTM利用時だけ）
<Cosminexus DABroker Library運用ディレクトリ>/lib
/opt/HiRDB/client/lib
/opt/HiRDB/client/utl

注意

HiRDBのクライアント環境定義PDDBLOGには，NOを指定しないでALLを指定してください。

(b)　HiRDBの環境変数グループの登録

HiRDBの環境変数グループの登録方法を次に示します。

Windowsの場合

DABroker対応のDB Connector for Cosminexus RMを使用するときは，HiRDBクライアント環境変数登録ツールを使用して環境変数のグループを登録します。［システムグループ］ラジオボタンを選択して環境変数グループ名を登録してください。

HiRDB Type4 JDBCドライバ対応のDB Connector for Cosminexus RMを使用するときは，環境変数のグループは，HiRDBのクライアント環境変数グループの設定ファイルに登録します。

UNIXの場合

環境変数のグループは，HiRDBのクライアント環境変数グループの設定ファイルに登録します。

登録方法については，マニュアル「HiRDB UAP開発ガイド」を参照してください。

ここで登録した環境変数グループ名は，DB Connector for Cosminexus RMのコンフィグレーションプロパティで，XAOpen文字列として設定する必要があります。DB Connector for Cosminexus RMのコンフィグレーションプロパティについては，「6.3　DB Connector for Cosminexus RMのコンフィグレーションプロパティの一覧」を参照してください。

HiRDBのクライアント環境変数グループに登録する内容について，次の表に示します。

表3-3　HiRDBのクライアント環境変数グループに登録する内容

項番 | 環境変数名 | 設定内容
1 | PDHOST | HiRDBサーバのホスト名またはIPアドレスを指定します。
2 | PDUSER | HiRDBサーバのユーザ名※1およびパスワードを指定します。
3 | PDNAMEPORT | HiRDBサーバのポート番号を指定します。
4 | PDSWAITTIME※2 | Cosminexus Component Containerのトランザクションタイムアウトの値※3よりも大きな値を指定します。
5 | PDCWAITTIME※2 | Cosminexus Component Containerのトランザクションタイムアウトの値※3よりも大きな値を指定します。
6 | PDSWATCHTIME | 0を指定します。

注※1

Cosminexus RMがHiRDBの管理するDBにアクセスするために使用する接続ユーザの名前です。

共用キューを使用して複数システム間でのアプリケーション連携をする場合は，送信側システムと受信側システムで同じ接続ユーザ名を指定します。

注※2

HiRDBを使用する場合，Cosminexus RMのトランザクション決着中に，HiRDBの設定値であるPDSWAITTIMEおよびPDCWAITTIMEに指定した値によってタイムアウトが発生しDBがロールバックすると，Cosminexus RMは閉塞することがあります。このため，PDSWAITTIMEおよびPDCWAITTIMEには，適切な値を設定してください。PDSWAITTIMEおよびPDCWAITTIMEについては，マニュアル「HiRDB システム導入・設計ガイド」を参照してください。なお，Cosminexus RMが閉塞した場合は，Cosminexusを強制停止したあと，再起動してください。

注※3

Cosminexus Component Containerのトランザクションタイムアウト値はJ2EEサーバ用ユーザプロパティファイルまたはUserTransaction.setTransactionTimeout()メソッドで指定します。J2EEサーバ用ユーザプロパティファイルについては，マニュアル「Cosminexus リファレンス 定義編」を参照してください。UserTransaction.setTransactionTimeout()メソッドについては，Javaのドキュメントを参照してください。

(3)　Cosminexus RMの管理情報テーブルの作成

DBMSとしてHiRDBを使用する場合，次に示す手順で管理情報テーブルを作成します。HiRDB SQL Executerの使用方法については，HiRDB SQL Executerのドキュメントを参照してください。

コンフィグレーションプロパティのRMSystemNameに指定する値（3文字以内の英数字）の決定
RMSystemNameについては，「6.2　Cosminexus RMのコンフィグレーションプロパティの詳細説明」を参照してください。

SQLファイルの編集
テーブル作成用SQLファイル（%HRMDIR%¥sql¥createtableshirdb.sql）を任意の場所にコピーしてから，このファイルをテキストエディタで開き，ファイル中の5か所の"<RMSystemName>"の部分を手順1.で決定したRMSystemNameの指定値で置き換えて，ファイルを保存します。
また，必要に応じて"<RMAREA>"の部分を表の行を格納するRDエリア名に変更します。または"IN <RMAREA>"の部分を削除します。"IN <RMAREA>"の部分を削除した場合は，格納するRDエリアをHiRDBが決定します。HiRDBが決定するRDエリアについては，マニュアル「HiRDB SQLリファレンス」を参照してください。

SQLファイルの実行

Windowsの場合

次に示すコマンドでHiRDB SQL Executerを開始します。

pdsqlw -u <接続ユーザ名>/<パスワード>※
      -h <HiRDBサーバのホスト名またはIPアドレス>
      -n <HiRDBサーバのポート番号>

HiRDB SQL Executerの［ファイル］メニューから［ファイルから実行］を選択し，手順2.で編集したSQLファイルを指定して実行します。

UNIXの場合

環境変数PDUSER※,PDHOST,PDNAMEPORTを設定し，次に示すコマンドでHiRDB SQL ExecuterからSQLファイルを実行します。

pdsql  <  <手順2.で編集したSQLスクリプトファイルのパス>

注※

接続ユーザ名には，権限を付与した接続ユーザ名を指定します。詳細については，「(1)(b)　HiRDBのユーザ権限の付与」を参照してください。

共用キューを使用して複数システム間でのアプリケーション連携をする場合には，送信側システムと受信側システムで同じ接続ユーザ名を使用します。

3.4.2　DBMSの設定（Oracleを使用する場合）

Oracleを使用する場合のDBMSの設定について説明します。説明する以外の設定内容や手順については，Oracleのマニュアルを参照してください。

なお，Oracle RACの機能は，Oracle 10g Release2以降に対してだけ使用できます。Oracle RACの機能を利用する場合は，Oracle Clusterwareをインストールしてください。

＜この項の構成＞

(1)　DBMSの初期設定（Oracleを使用する場合）

(2)　DBクライアントの設定

(3)　Cosminexus RMの管理情報テーブルの作成

(1)　DBMSの初期設定（Oracleを使用する場合）

DBMSとしてOracleを使用する場合は，Oracleに管理情報を格納するために，Oracleに接続ユーザを作成して，接続ユーザに権限を付与する必要があります。ユーザ作成や権限付与の方法の詳細については，Oracleのマニュアルを参照してください。

(a)　付与する権限

システム権限

CREATE ANY INDEXシステム権限

CREATE SESSIONシステム権限

CREATE TABLEシステム権限

FORCE ANY TRANSACTIONシステム権限

オブジェクト権限

SYS.DBA_PENDING_TRANSACTIONSのSELECT権限

SYS.DBMS_SYSTEMのEXECUTE権限

ロール権限

SELECT_CATALOG_ROLE権限

(b)　ユーザ作成と権限付与の方法

次のどちらかの方法でユーザ作成と権限付与を行います。

Oracle Enterprise Managerコンソールを使用する

sqlplusを使用する

(2)　DBクライアントの設定

Oracleに接続するためには，Cosminexus RMが動作するマシンで，ネット・サービス名を作成します。ネット・サービス名を作成する方法については，Oracle9iまたはOracle 10gのマニュアルを参照してください。

(3)　Cosminexus RMの管理情報テーブルの作成

DBMSとしてOracleを使用する場合，次に示す手順で管理情報テーブルを作成します。SQL*Plusの使用方法については，Oracleのマニュアルを参照してください。

コンフィグレーションプロパティのRMSystemNameに指定する値（3文字以内の英数字）の決定
RMSystemNameについては，「6.2　Cosminexus RMのコンフィグレーションプロパティの詳細説明」を参照してください。

SQLファイルの編集
テーブル作成用SQLファイル（%HRMDIR%¥sql¥createtablesoracle.sql）を任意の場所にコピーしてから，このファイルをテキストエディタで開き，ファイル中の5か所の"<RMSystemName>"の部分を手順1.で決定したRMSystemNameの指定値で置き換えて，ファイルを保存します。

GUI版SQL*Plusまたはコマンドライン版sqlplusの起動
「(1)　DBMSの初期設定（Oracleを使用する場合）」の手順で作成したユーザを使用してデータベースに接続します。

コマンドの実行
次の形式で実行してください。

start <手順2.で編集したSQLファイルの絶対パス>

3.4.3　J2EEサーバ（Cosminexus）の設定

J2EEサーバ（Cosminexus）の設定をして，J2EEサーバを構築します。J2EEサーバの構築については，マニュアル「Cosminexus システム構築ガイド」を参照してください。

3.4.4　キュー定義ファイルの作成（永続版リソースアダプタの場合）

キュー定義ファイルは，JNDIネーミングサービスに登録するキュー表示名と実際のキュー名を関連づけるファイルです。テキストファイルで作成して，任意のディレクトリに格納してください。キュー定義ファイルのフルパスをQueueConfigFileNameプロパティに指定すると，Cosminexus RMの開始時に，定義されたキュー表示名がJNDIネーミングサービスに登録されます。

なお，キュー作成時の表示名を利用する場合，キュー定義ファイルの作成は不要です。

＜この項の構成＞

(1)　キュー定義ファイルの記述形式

(2)　キュー定義ファイルの記述例

(3)　キュー定義ファイルの作成規則

(1)　キュー定義ファイルの記述形式

記述形式

QueueImplClass = jp.co.Hitachi.soft.reliablemessaging.ra.jms.QueueImpl※1
Queue.通番※2.DisplayName = キュー表示名※3
Queue.通番.QueueName = キュー名※4

注※1

ユーザの環境に依存しない固定の値です。

注※2

通番には1～20480の範囲の値を指定してください。

注※3

キュー表示名として任意の名称を指定します。

キュー表示名はJNDIネーミングサービスに"<Cosminexus RMの表示名>__<キュー表示名>__que"の形式で登録されます。なお，"<Cosminexus RMの表示名>__<キュー表示名>__que"の形式の文字列の長さが256文字を超えないようにしてください。

<Cosminexus RMの表示名>は，Connector属性ファイルの<display-name>タグの指定値をサニタイズ（半角英数字以外をアンダスコア（_）に変更）した値です。<display-name>タグの初期値は"Cosminexus_Reliable_Messaging"です。Connector属性ファイルについては，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

<キュー表示名>には，アンダスコア二つ（__）を指定しないでください。

注※4

キュー名はhrmmkqueコマンド引数指定値を指定します。

(2)　キュー定義ファイルの記述例

QueueImplClass = jp.co.Hitachi.soft.reliablemessaging.ra.jms.QueueImpl
Queue.1.DisplayName = Q1
Queue.1.QueueName = Queue1
Queue.2.DisplayName = Q2
Queue.2.QueueName = Queue2

(3)　キュー定義ファイルの作成規則

java.util.Properties.load()メソッドで読み取りできる形式にしてください。コメントや継続行の扱いも同様です。

QueueImplClassの指定がない場合および値が指定されていない場合はデプロイ時にエラーが発生します。

一つのキューについてDisplayNameおよびQueueNameの両方を指定してください。

同一のプロパティを複数記述した場合は，どの値が有効になるか保証しません。

通番は1から指定してください。通番1のキュー定義がない場合はデプロイ時にエラーが発生します。

Queue.n.DisplayNameの指定がない場合および値が指定されていない場合，通番がn-1番目のキューまでが有効になります。通番n以降のキュー定義は無視されます。

QueueNameの指定がない，または値が指定されていないキューは無視されます。

キュー定義が一つもない場合はフォーマット不正によってデプロイ時にエラーが発生します。

表示名が重複した場合，通番の大きい方が有効になります。

通番の最大値より大きい値のキュー定義は無視されます。

DisplayNameに指定できる文字は，半角英字（A～Z，a～z）半角数字（0～9）および半角のアンダスコア（_）です。これら以外の文字を指定したキューは無視されます。

QueueNameに指定する値は，大文字と小文字をhrmmkqueコマンド引数指定値と一致させてください。

3.4.5　Cosminexus RMのプロパティ定義（永続版リソースアダプタの場合）

Cosminexus RMのプロパティを定義します。Cosminexus RMをデプロイしたあとでも実行できます。なお，設定済みのCosminexus RMのプロパティを変更する場合は，該当するCosminexus RMを停止した状態で実行してください。

Cosminexus RMがデータベースと接続するには，DB Connector for Cosminexus RMのコンフィグレーションプロパティを設定する必要があります。DB Connector for Cosminexus RMのコンフィグレーションプロパティの設定については，「3.4.8　DB Connector for Cosminexus RMのプロパティ定義」を参照してください。

＜この項の構成＞

(1)　編集する属性ファイル

(2)　編集する属性設定項目

(3)　コンフィグレーションプロパティの設定例

(1)　編集する属性ファイル

Cosminexus RMで提供するConnector属性ファイルのテンプレートを任意のディレクトリにコピーして，コピーしたファイルを編集します。

Connector属性ファイルのテンプレートは，次のディレクトリに格納されています。

%HRMDIR%¥conf¥rm_prop.xml

なお，cjgetrespropコマンドによって取得したConnector属性ファイルを使用することもできます。

注意

テンプレートからコピーしたConnector属性ファイルにASCII文字以外を使用する場合は，次のどちらかの対処が必要です。

UTF-8形式で保存する。

編集したファイルの文字エンコーディング形式に従って，ファイルの先頭行に次に示すencoding宣言を追加する。
<?xml version="1.0" encoding="＜文字エンコーディング＞"?>

(2)　編集する属性設定項目

Cosminexus RMのプロパティ設定項目を次に示します。

リソースアダプタの一般情報

コンフィグレーションプロパティ

実行時プロパティ

(a)　リソースアダプタの一般情報

設定できるCosminexus RMの一般情報属性（<outbound-resourceadapter>タグ）の設定項目を次に示します。

項目 | 必須 | 対応するタグ
トランザクションサポートのレベル | ○ | <transaction-support>
再認証のサポート有無※ | ○ | <reauthentication-support>

（凡例）　○：必須

注※　必ずfalseを指定してください。

プロパティの設定項目の説明については，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

(b)　コンフィグレーションプロパティ

Cosminexus RMのコンフィグレーションプロパティ（<outbound-resourceadapter> - <connection-definition> - <config-property>タグ）の設定項目を次に示します。

項目 | 対応するタグ
コンフィグレーションプロパティ名 | <config-property-name>
コンフィグレーションプロパティのデータ型 | <config-property-type>
コンフィグレーションプロパティの値 | <config-property-value>※

注※　コンフィグレーションプロパティの値をクリアする場合

<config-property-value>タグだけを指定して，値を指定しないでください。

<config-property-value>タグ自体が指定されていない場合は，そのプロパティの値は変更されないで，すでに設定されている値がそのまま有効になります。

定義するコンフィグレーションプロパティの数だけ上記の設定を繰り返してください。

Cosminexus RMのコンフィグレーションプロパティの設定内容については，「6.　コンフィグレーションプロパティ」を参照してください。

(c)　実行時プロパティ

Cosminexus RMの実行時プロパティ（<outbound-resourceadapter> - <connection-definition> - <connector-runtime> - <property>タグ）の設定項目を次に示します。

項目 | 対応するタグ
プロパティ名 | <property-name>
プロパティのデータ型 | <property-type>
プロパティの値 | <property-value>

定義するプロパティの数だけ，上記の設定を繰り返してください。

実行時プロパティ名（<property-name>）およびコネクションプールの動作と注意事項については，マニュアル「Cosminexus アプリケーション設定操作ガイド」のDB Connectorのプロパティ定義に関する内容を参照してください。

注意

ユーザ名およびコネクションプールに関する設定値は，Cosminexus RMとDB Connector for Cosminexus RMで同じ値を設定してください。

(3)　コンフィグレーションプロパティの設定例

Cosminexus RMのコンフィグレーションプロパティの設定例を示します。コンフィグレーションプロパティの各項目の詳細については，「6.2　Cosminexus RMのコンフィグレーションプロパティの詳細説明」を参照してください。

表3-4　Cosminexus RMのコンフィグレーションプロパティの設定例（永続版リソースアダプタの場合）

項番 | プロパティ名 | 設定例
1 | RMSystemName | ＜システム名＞
2 | RMLinkedDBConnectorName | ＜連携するDB Connectorの表示名＞
3 | QueueConfigFileName | 指定しない
4 | RMDeadMessageQueueName | ＜デッドメッセージキュー名＞
5 | RMWaitRestoration | true
6 | RMStartTimeout | 60
7 | RMAssociateJDBCFlag | true
8 | RMSweepTimerInterval | 600
9 | RMDeleteMessageImmediately | false
10 | RMPassByReference | false
11 | RMMaxDeliveryNum | 10
12 | RMMethodTraceLevel | 1
13 | RMLineTraceLevel | 3
14 | RMLogTraceFileNum | 2
15 | RMLogTraceFileSize | 2097152
16 | RMSHConnectFlag | false
17 | RMSHPort※1 | 20351
18 | RMSHRecoveryTimerInterval※1 | 60
19 | RMTRConnectFlag | false
20 | RMTRSendThreadNum※2 | 1
21 | RMTRResendInterval1Num※2 | 6
22 | RMTRResendInterval1※2 | 10
23 | RMTRResendInterval2※2 | 600
24 | RMTRResendTimerInterval※2 | 10
25 | RMTRPendingNotifyInterval※2 | 600
26 | RMTRTransferControlDir※2 | ＜クライアント定義ファイルが格納されているディレクトリのパス＞
27 | RMAutoDeleteMessage | false

注※1

RMSHConnectFlagプロパティがfalseの場合，設定値は無視されます。

注※2

RMTRConnectFlagプロパティがfalseの場合，設定値は無視されます。

3.4.6　DB Connector for Cosminexus RMの選択

インポートするDB Connector for Cosminexus RMを選択します。使用するデータベース，およびトランザクションの管理方法によって，次の表に示すどれかのRARファイルを指定します。

表3-5　指定するRARファイルの種類

項番
RARファイル
説明

1
DBConnector_DABJ_CP_Cosminexus_RM.rar
Cosminexus DABroker Library用のDB Connector for Cosminexus RMです。HiRDBを使用する場合で，ローカルトランザクションを使用するとき，またはトランザクション管理なしで使用するとき（トランザクションのサポートレベルにLocalTransactionまたはNoTransactionを指定するとき）に選択します。
Cosminexus DABroker LibraryのConnectionPoolDataSourceを使用してデータベースに接続します。

2
DBConnector_DABJ_XA_Cosminexus_RM.rar
Cosminexus DABroker Library用のDB Connector for Cosminexus RMです。HiRDBを使用する場合で，グローバルトランザクションを使用するとき（トランザクションのサポートレベルにXATransactionを指定するとき）に選択します。
Cosminexus DABroker LibraryのXADataSourceを使用してデータベースに接続します。

3
DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rar
HiRDB Type4 JDBC Driver用のDB Connector for Cosminexus RMです。HiRDBを使用する場合で，ローカルトランザクションを使用するとき，またはトランザクション管理なしで使用するとき（トランザクションのサポートレベルにLocalTransactionまたはNoTransactionを指定するとき）に選択します。
HiRDB Type4 JDBC DriverのConnectionPoolDataSourceを使用してHiRDBに接続します。

4
DBConnector_HiRDB_Type4_XA_Cosminexus_RM.rar
HiRDB Type4 JDBC Driver用のDB Connector for Cosminexus RMです。HiRDBを使用する場合で，グローバルトランザクションを使用するとき（トランザクションのサポートレベルにXATransactionを指定するとき）に選択します。
HiRDB Type4 JDBC DriverのXADataSourceを使用して，HiRDBに接続します。

5
DBConnector_Oracle_CP_Cosminexus_RM.rar
Oracle JDBC Thin Driver用のDB Connector for Cosminexus RMです。Oracleを使用する場合で，ローカルトランザクションを使用するとき，またはトランザクション管理なしで使用するとき（トランザクションのサポートレベルにLocalTransactionまたはNoTransactionを指定するとき）に選択します。
Oracle JDBC Thin DriverのConnectionPoolDataSourceを使用してOracleに接続します。

6
DBConnector_Oracle_XA_Cosminexus_RM.rar
Oracle JDBC Thin Driver用のDB Connector for Cosminexus RMです。Oracleを使用する場合で，グローバルトランザクションを使用するとき（トランザクションのサポートレベルにXATransactionを指定するとき）に選択します。
Oracle JDBC Thin DriverのXADataSourceを使用してOracleに接続します。

3.4.7　DB Connector for Cosminexus RMの前提製品の設定

＜この項の構成＞

(1)　Cosminexus DABroker Libraryの動作環境の設定

(2)　Oracle JDBC Thin Driverの設定

(3)　HiRDB Type4 JDBC Driverの設定

(1)　Cosminexus DABroker Libraryの動作環境の設定

Cosminexus DABroker Libraryの環境設定で次に示す項目を設定してください。各項目の詳細については，Cosminexus DABroker Libraryのドキュメントを参照してください。また，設定方法の詳細については，マニュアル「Cosminexus システム構築ガイド」のCosminexus DABroker Libraryの動作環境の設定に関する内容を参照してください。なお，HiRDB Type4 JDBCドライバ対応のDB Connector for Cosminexus RMを使用する場合は，Cosminexus DABroker Libraryを使用しないため，この設定は不要です。

BLOB/LONG/CLOB型データ受取バッファサイズ

Windowsの場合

環境設定の［リモートアクセス設定］タブで［BLOB/LONG/CLOB型データ受取バッファサイズ］に，次の条件を満たす値を設定してください。

DB Connector for Cosminexus RMのbufSizeプロパティに設定した値よりも大きい

1024以上（ただし，キュー間転送を利用する場合は10000以上）

UNIXの場合

<Cosminexus DABroker Library運用ディレクトリ>/confに作成した動作環境定義ファイルのDABHIRDBA_BLOBBUFSIZEに，bufSizeプロパティに設定する値より大きな値を設定してください。

bufSizeプロパティに設定する値については，「6.3(1)　Cosminexus DABroker Libraryを使用してOracleまたはHiRDBに接続する場合」を参照してください。

漢字コードセット

Windowsの場合

環境設定の［リモートアクセス設定］タブで使用するDBの文字コードに合わせて［漢字コードセット］を設定してください。

UNIXの場合

<Cosminexus DABroker Library運用ディレクトリ>/confに作成した動作環境定義ファイルのDAB_LANGを使用するDBの文字コードに合わせて設定してください。

各DBの文字コードについては，マニュアル「HiRDB システム導入・設計ガイド」，およびOracleのマニュアルを参照してください。

環境設定が終わったら，データベースに接続するための設定をします。データベースに接続するための設定については，マニュアル「Cosminexus システム構築ガイド」を参照してください。

(2)　Oracle JDBC Thin Driverの設定

Oracle JDBC Thin Driverを使用してOracleに接続する場合，J2EEサーバ側で次に示す設定をしてください。

Oracle JDBC Thin DriverのJARファイルの入手
Cosminexusがサポートするバージョンの，Oracle JDBC Thin DriverのJARファイルを入手してください。
Oracleクライアントをインストールした場合は，Oracleクライアントのインストールディレクトリ下の「jdbc/lib/ojdbc14.jar」，および「jdbc/lib/ojdbc14_g.jar」が該当するJARファイルです。

J2EEサーバのユーザクラスパスの指定
J2EEサーバのユーザクラスパスにojdbc14.jarを指定してください。J2EEサーバ用のusrconf.cfgのadd.class.pathキーに「add.class.path=<ojdbc14.jarのパス>」の形式で指定してください。

Oracle JDBC Thin Driverの設定方法の詳細については，マニュアル「Cosminexus システム構築ガイド」のOracleの設定（Oracle JDBC Thin Driverの場合）に関する内容を参照してください。

(3)　HiRDB Type4 JDBC Driverの設定

HiRDB Type4 JDBC Driverを使用してHiRDBに接続する場合，J2EEサーバ側で次に示す設定をしてください。

HiRDB Type4 JDBC DriverのJARファイルの入手
HiRDB Type4 JDBC DriverのJARファイル（pdjdbc2.jar）を入手してください。
JARファイル（pdjdbc2.jar）の格納場所については，マニュアル「HiRDB UAP開発ガイド」を参照してください。

J2EEサーバのユーザクラスパスの指定
J2EEサーバのユーザクラスパスにpdjdbc2.jarを指定してください。J2EEサーバ用のusrconf.cfgのadd.class.pathキーに「add.class.path=<pdjdbc2.jarのパス>」の形式で指定してください。

HiRDB Type4 JDBC Driverの設定方法の詳細については，マニュアル「Cosminexus システム構築ガイド」のHiRDBの設定（HiRDB Type4 JDBC Driverの場合）に関する内容を参照してください。

3.4.8　DB Connector for Cosminexus RMのプロパティ定義

Cosminexus RMがデータベースと接続するには，DB Connector for Cosminexus RMのプロパティを定義する必要があります。「3.4.6　DB Connector for Cosminexus RMの選択」で選択したDB Connector for Cosminexus RMのプロパティを定義します。

DB Connector for Cosminexus RMのプロパティの定義は，DB Connector for Cosminexus RMをデプロイしたあとでも実行できます。なお，設定済みのDB Connector for Cosminexus RMのプロパティを変更する場合は，該当するDB Connector for Cosminexus RMを停止した状態で実行してください。

注意事項

DB Connector for Cosminexus RMでは，認証機能情報およびコネクションプーリング情報の設定は無効になります。このため，リソースアダプタの認証機能情報のユーザ名とパスワードの設定は，Cosminexus RMのプロパティ設定で実施してください。

＜この項の構成＞

(1)　編集する属性ファイル

(2)　編集する属性設定項目

(3)　DB Connector for Cosminexus RMの種類によるコンフィグレーションプロパティの違い

(4)　コンフィグレーションプロパティの設定例

(1)　編集する属性ファイル

Cosminexusで提供するDB Connector for Cosminexus RMのConnector属性ファイルのテンプレートを任意のディレクトリにコピーして，コピーしたファイルを編集します。

DB Connector for Cosminexus RMのConnector属性ファイルのテンプレートは，次のディレクトリに格納されています。

＜Cosminexusのインストールディレクトリ＞¥CC¥admin¥templates

DB Connector for Cosminexus RMのConnector属性ファイルのテンプレートについては，マニュアル「Cosminexus リファレンス 定義編」のConnector属性ファイルのテンプレートファイルに関する内容を参照してください。

注意

テンプレートからコピーしたConnector属性ファイルにASCII文字以外を使用する場合は，次のどちらかの対処が必要です。

UTF-8形式で保存する。

編集したファイルの文字エンコーディング形式に従って，ファイルの先頭行に次に示すencoding宣言を追加する。
<?xml version="1.0" encoding="＜文字エンコーディング＞"?>

(2)　編集する属性設定項目

DB Connector for Cosminexus RMのプロパティ設定項目を次に示します。

リソースアダプタの一般情報

コンフィグレーションプロパティ

実行時プロパティ

(a)　リソースアダプタの一般情報

設定できるDB Connector for Cosminexus RMの一般情報属性（<outbound-resourceadapter>タグ）の設定項目を次に示します。

項目 | 必須 | 対応するタグ
トランザクションサポートのレベル | ○ | <transaction-support>
再認証のサポート有無 | ○ | <reauthentication-support>

（凡例）　○：必須

プロパティの設定項目の説明については，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

(b)　コンフィグレーションプロパティ

リソースアダプタのコンフィグレーションプロパティ（<outbound-resourceadapter> - <connection-definition> - <config-property>タグ）の設定項目を次に示します。

項目 | 対応するタグ
コンフィグレーションプロパティ名 | <config-property-name>
コンフィグレーションプロパティのデータ型 | <config-property-type>
コンフィグレーションプロパティの値 | <config-property-value>※

注※　コンフィグレーションプロパティの値をクリアする場合

<config-property-value>タグだけを指定して，値を指定しないでください。

<config-property-value>タグ自体が指定されていない場合は，そのプロパティの値は変更されないで，すでに設定されている値がそのまま有効になります。

定義するコンフィグレーションプロパティの数だけ上記の設定を繰り返してください。

設定する必要がある項目は，DB Connector for Cosminexus RMの種類によって一部異なります。DB Connector for Cosminexus RMの種類によって，設定できるコンフィグレーションプロパティの違いについては，「(3)　DB Connector for Cosminexus RMの種類によるコンフィグレーションプロパティの違い」を参照してください。

なお，PreparedStatementPoolSize，CallableStatementPoolSize，LogLevel，およびCancelStatement以外のプロパティは，すべてCosminexus DABroker Library，HiRDB Type4 JDBC Driver，またはOracle JDBC Thin Driverに設定する項目です。Cosminexus DABroker Libraryの場合はCosminexus DABroker Libraryの環境設定ユティリティ（Windowsの場合），またはCosminexus DABroker Library動作環境定義ファイル（UNIXの場合）で設定します。詳細は，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

DB Connector for Cosminexus RMのコンフィグレーションプロパティの設定内容については，「6.3　DB Connector for Cosminexus RMのコンフィグレーションプロパティの一覧」を参照してください。

(c)　実行時プロパティ

DB Connector for Cosminexus RMの実行時プロパティ（<outbound-resourceadapter> - <connection-definition> - <connector-runtime> - <property>タグ）の設定項目を次に示します。

項目 | 対応するタグ
プロパティ名 | <property-name>
プロパティのデータ型 | <property-type>
プロパティの値 | <property-value>

定義するプロパティの数だけ，上記の設定を繰り返してください。

実行時プロパティ名（<property-name>）およびコネクションプールの動作と注意事項については，マニュアル「Cosminexus アプリケーション設定操作ガイド」のDB Connectorのプロパティ定義に関する内容を参照してください。

なお，DB Connector for Cosminexus RMの場合は，次の実行時プロパティの設定だけが有効となります。

ログを出力するかどうかの選択（LogEnabled）

注意

ユーザ名およびコネクションプールに関する設定値は，Cosminexus RMとDB Connector for Cosminexus RMで同じ値を設定してください。

(3)　DB Connector for Cosminexus RMの種類によるコンフィグレーションプロパティの違い

DB Connector for Cosminexus RMの種類によって，設定するコンフィグレーションプロパティが異なります。DB Connector for Cosminexus RMの種類を次に示します。

DABroker対応のDB Connector for Cosminexus RM

HiRDB Type4 JDBCドライバ対応のDB Connector for Cosminexus RM

Oracle JDBC Thinドライバ対応のDB Connector for Cosminexus RM

(a)　各DB Connector for Cosminexus RM共通のコンフィグレーションプロパティ

DABroker対応のDB Connector for Cosminexus RM，HiRDB Type4 JDBCドライバ対応のDB Connector for Cosminexus RM，Oracle JDBC Thinドライバ対応のDB Connector for Cosminexus RM共通で設定が必要なコンフィグレーションプロパティを次の表に示します。

表3-6　各DB Connector for Cosminexus RM共通のコンフィグレーションプロパティ

プロパティ名 | 設定値
linkedResourceAdapterName | Cosminexus RMの表示名

(b)　DABroker対応のDB Connector for Cosminexus RMのコンフィグレーションプロパティ

DABroker対応のDB Connector for Cosminexus RMを使用する場合，Cosminexus RMとして設定が必要なDB Connector for Cosminexus RMのコンフィグレーションプロパティを次の表に示します。

表3-7　DABroker対応のDB Connector for Cosminexus RMのコンフィグレーションプロパティ

項番 | プロパティ名 | 設定値
1 | description | 接続先DBに必要な接続付加情報
2 | DBHostName | 接続先HiRDBのホスト名
3 | XAOpenString※ | XA_OPEN文字列
4 | databaseName | Cosminexus RMの接続先DB
5 | bufSize | DB Connector for Cosminexus RMがDBから受信したデータを格納するためのバッファサイズ

注※　XATransactionで使用する場合だけ設定が必要です。

(c)　HiRDB Type4 JDBCドライバ対応のDB Connector for Cosminexus RMコンフィグレーションプロパティ

HiRDB Type4 JDBCドライバ対応のDB Connector for Cosminexus RMを使用する場合，Cosminexus RMとして設定が必要なDB Connector for Cosminexus RMのコンフィグレーションプロパティを次の表に示します。

表3-8　HiRDB Type4 JDBCドライバ対応のDB Connector for Cosminexus RMのコンフィグレーションプロパティ

項番 | プロパティ名 | 設定値
1 | description | 接続先DBに必要な接続付加情報
2 | DBHostName | 接続先HiRDBのホスト名
3 | XAOpenString※ | XA_OPEN文字列
4 | SQLWarningLevel | SQL実行時に発生した警告保持レベル
5 | maxBinarySize | JDBC SQLタイプLONGVARBINARY型データ取得時のデータサイズの上限

注※　XATransactionで使用する場合だけ設定が必要です。

(d)　Oracle JDBC Thinドライバ対応のDB Connector for Cosminexus RMのコンフィグレーションプロパティ

Oracle JDBC Thinドライバ対応のDB Connector for Cosminexus RMを使用する場合，Cosminexus RMとして設定が必要なDB Connector for Cosminexus RMのコンフィグレーションプロパティを次の表に示します。

表3-9　Oracle JDBC Thinドライバ対応のDB Connector for Cosminexus RMのコンフィグレーションプロパティ

項番 | プロパティ名 | 設定値
1 | databaseName | Oracleサーバ上の特定のデータベース名（SID）
2 | serverName | Oracleサーバのホスト名またはIPアドレス

(4)　コンフィグレーションプロパティの設定例

次に示す場合のDB Connector for Cosminexus RMのコンフィグレーションプロパティの設定例を示します。

DBConnector_DABJ_CP_Cosminexus_RM.rarで，HiRDBを使用する場合

DBConnector_DABJ_XA_Cosminexus_RM.rarで，HiRDBを使用する場合

DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rarで，HiRDBを使用する場合

DBConnector_HiRDB_Type4_XA_Cosminexus_RM.rarで，HiRDBを使用する場合

DBConnector_Oracle_CP_Cosminexus_RM.rarで，Oracleを使用する場合

DBConnector_Oracle_XA_Cosminexus_RM.rarで，Oracleを使用する場合

コンフィグレーションプロパティの各項目の詳細については，「6.3　DB Connector for Cosminexus RMのコンフィグレーションプロパティの一覧」を参照してください。

(a)　DBConnector_DABJ_CP_Cosminexus_RM.rarで，HiRDBを使用する場合

DBConnector_DABJ_CP_Cosminexus_RM.rarで，HiRDBを使用する場合のコンフィグレーションプロパティの設定例を次の表に示します。

表3-10　データベースとしてHiRDBを使用する場合（DBConnector_DABJ_CP_Cosminexus_RM.rarの場合）

項番 | プロパティ名 | HiRDBの場合の設定例
1 | linkedResourceAdapterName | ＜連携するCosminexus RMのリソースアダプタの表示名＞
2 | networkProtocol | lib
3 | description | ＜HiRDBポート番号＞※
4 | DBHostName | ＜HiRDBホスト名＞
5 | loginTimeout | 0
6 | serverName | －
7 | portNumber | 40179
8 | databaseName | HIRDB
9 | DBEnv | －
10 | encodLang | －
11 | JDBC_IF_TRC | false
12 | SV_EVENT_TRC | false
13 | TRC_NO | 500
14 | uapName | －
15 | bufSize | 64
16 | rowSize | 16
17 | OSAuthorize | false
18 | HiRDBCursorMode | false
19 | blockUpdate | false
20 | executeDirectMode | false
21 | SQLWarningIgnore | false
22 | LONGVARBINARY_Access | REAL
23 | bufferPoolSize | 0
24 | PreparedStatementPoolSize | 10
25 | CallableStatementPoolSize | 10
26 | ConnectionIDUpdate | false
27 | logLevel | ERROR

（凡例）　－：設定は不要です。

注※　HiRDBクライアントの環境変数グループ名（Windowsの場合）または環境変数グループの設定ファイルのパス（UNIXの場合）を指定することもできます。

(b)　DBConnector_DABJ_XA_Cosminexus_RM.rarで，HiRDBを使用する場合

DBConnector_DABJ_XA_Cosminexus_RM.rarで，HiRDBを使用する場合のコンフィグレーションプロパティの設定例を次の表に示します。

表3-11　データベースとしてHiRDBを使用する場合（DBConnector_DABJ_XA_Cosminexus_RM.rarの場合）

項番
プロパティ名
HiRDBの場合の設定例

1
linkedResourceAdapterName
＜連携するCosminexus RMのリソースアダプタの表示名＞

2
networkProtocol
lib

3
description
＜環境変数グループ識別子＞※1

4
DBHostName
＜HiRDBホスト名＞

5
XAOpenString

Windowsの場合

＜環境変数グループ識別子※2＞+＜環境変数グループ名※3＞

UNIXの場合

＜環境変数グループ識別子※2＞+＜環境変数グループの設定ファイルのパス※3＞

6
loginTimeout
0

7
serverName
－

8
portNumber
40179

9
databaseName
HIRDB

10
DBEnv
－

11
encodLang
－

12
JDBC_IF_TRC
false

13
SV_EVENT_TRC
false

14
TRC_NO
500

15
uapName
－

16
bufSize
64

17
rowSize
16

18
OSAuthorize
false

19
HiRDBCursorMode
false

20
blockUpdate
false

21
executeDirectMode
false

22
SQLWarningIgnore
false

23
LONGVARBINARY_Access
REAL

24
bufferPoolSize
0

25
XACloseString
－

26
RMID
1※4

27
XAThreadMode
true

28
XALocalCommitMode
true

29
PreparedStatementPoolSize
10

30
CallableStatementPoolSize
10

31
ConnectionIDUpdate
false

32
logLevel
ERROR

（凡例）　－：設定は不要です。

注※1　J2EEサーバ内でユニークな4バイトの文字列を指定します。

注※2　［Description］フィールドに入力した値を指定します。

注※3　HiRDBの環境変数グループ名（Windowsの場合）または環境変数グループの設定ファイルのパス（UNIXの場合）を指定します。詳細については，マニュアル「Cosminexus システム構築ガイド」を参照してください。

注※4　リソースマネジャの識別子を指定します。J2EEサーバ内でユニークな1～2147483647の数値で指定します。

(c)　DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rarで，HiRDBを使用する場合

DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rarで，HiRDBを使用する場合のコンフィグレーションプロパティの設定例を次の表に示します。

表3-12　データベースとしてHiRDBを使用する場合（DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rarの場合）

項番 | プロパティ名 | HiRDBの場合の設定例
1 | linkedResourceAdapterName | ＜連携するCosminexus RMのリソースアダプタの表示名＞
2 | description | ＜HiRDBポート番号＞※
3 | DBHostName | ＜HiRDBホスト名＞
4 | environmentVariables | ＜HiRDBクライアント環境変数名＞
5 | loginTimeout | 8
6 | encodeLang | －
7 | JDBC_IF_TRC | false
8 | TRC_NO | 500
9 | uapName | －
10 | LONGVARBINARY_Access | REAL
11 | SQLInNum | 300
12 | SQLOutNum | 300
13 | SQLWarningLevel | SQLWARN
14 | SQLWarningIgnore | false
15 | HiRDBCursorMode | false
16 | maxBinarySize | 64000
17 | LONGVARBINARY_AccessSize | 0
18 | PreparedStatementPoolSize | 10
19 | CallableStatementPoolSize | 10
20 | CancelStatement | true
21 | logLevel | ERROR

（凡例）　－：設定は不要です。

注※　HiRDBクライアントの環境変数グループ名（Windowsの場合）または環境変数グループの設定ファイルのパス（UNIXの場合）も指定できます。

(d)　DBConnector_HiRDB_Type4_XA_Cosminexus_RM.rarで，HiRDBを使用する場合

DBConnector_HiRDB_Type4_XA_Cosminexus_RM.rarで，HiRDBを使用する場合のコンフィグレーションプロパティの設定例を次の表に示します。

表3-13　データベースとしてHiRDBを使用する場合（DBConnector_HiRDB_Type4_XA_Cosminexus_RM.rarの場合）

項番
プロパティ名
HiRDBの場合の設定例

1
linkedResourceAdapterName
＜連携するCosminexus RMのリソースアダプタの表示名＞

2
description
＜環境変数グループ識別子＞

3
DBHostName
＜HiRDBホスト名＞

4
environmentVariables
＜HiRDBクライアント環境変数名＞

5
XAOpenString

Windowsの場合

＜環境変数グループ識別子※1＞+＜環境変数グループ名※2＞

UNIXの場合

＜環境変数グループ識別子※1＞+＜環境変数グループの設定ファイルのパス※2＞

6
loginTimeout
8

7
encodeLang
－

8
JDBC_IF_TRC
false

9
TRC_NO
500

10
uapName
－

11
LONGVARBINARY_Access
REAL

12
SQLInNum
300

13
SQLOutNum
300

14
SQLWarningLevel
SQLWARN

15
SQLWarningIgnore
false

16
HiRDBCursorMode
false

17
maxBinarySize
64000

18
LONGVARBINARY_AccessSize
0

19
XACloseString
－

20
XALocalCommitMode
true

21
PreparedStatementPoolSize
10

22
CallableStatementPoolSize
10

23
CancelStatement
true

24
logLevel
ERROR

（凡例）　－：設定は不要です。

注※1　［Description］フィールドに入力した値を指定します。

注※2　HiRDBの環境変数グループ名（Windowsの場合）または環境変数グループの設定ファイルのパス（UNIXの場合）を指定します。詳細については，マニュアル「Cosminexus システム構築ガイド」を参照してください。

(e)　DBConnector_Oracle_CP_Cosminexus_RM.rarで，Oracleを使用する場合

DBConnector_Oracle_CP_Cosminexus_RM.rarで，Oracleを使用する場合のコンフィグレーションプロパティの設定例を次の表に示します。

表3-14　データベースとしてOracleを使用する場合（DBConnector_Oracle_CP_Cosminexus_RM.rarの場合）

項番 | プロパティ名 | Oracleの場合の設定例
1 | linkedResourceAdapterName | ＜連携するCosminexus RMのリソースアダプタの表示名＞
2 | databaseName | ＜Oracle SID＞
3 | serverName | ＜接続先Oracleのホスト名称，またはIPアドレス＞
4 | portNumber | 1521
5 | url | －
6 | loginTimeout | 8000
7 | PreparedStatementPoolSize | 10
8 | CallableStatementPoolSize | 10
9 | ConnectionIDUpdate | false
10 | logLevel | ERROR

（凡例）　－：設定は不要です。

(f)　DBConnector_Oracle_XA_Cosminexus_RM.rarで，Oracleを使用する場合

DBConnector_Oracle_XA_Cosminexus_RM.rarで，Oracleを使用する場合のコンフィグレーションプロパティの設定例を次の表に示します。

表3-15　データベースとしてOracleを使用する場合（DBConnector_Oracle_XA_Cosminexus_RM.rarの場合）

項番 | プロパティ名 | Oracleの場合の設定例
1 | linkedResourceAdapterName | ＜連携するCosminexus RMのリソースアダプタの表示名＞
2 | databaseName | ＜Oracle SID＞
3 | serverName | ＜接続先Oracleのホスト名称，またはIPアドレス＞
4 | portNumber | 1521
5 | url | －
6 | loginTimeout | 8000
7 | sessionTimeout | 300
8 | PreparedStatementPoolSize | 10
9 | CallableStatementPoolSize | 10
10 | ConnectionIDUpdate | false
11 | logLevel | ERROR

（凡例）　－：設定は不要です。

3.4.9　DB Connector for Cosminexus RMとCosminexus RMのインポート

DB Connector for Cosminexus RMおよびCosminexus RMをインポートします。

＜この項の構成＞

(1)　DB Connector for Cosminexus RMのインポート

(2)　Cosminexus RMのインポート

(1)　DB Connector for Cosminexus RMのインポート

次に示すコマンドを実行してDB Connector for Cosminexus RMをインポートします。

cjimportresコマンドの詳細については，マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

実行形式

cjimportres ［＜サーバ名称＞］ ［-nameserver ＜プロバイダURL＞］ -type rar -f ＜ファイルパス＞

実行例

cjimportres MyServer -type rar -f "C:¥Program Files¥Hitachi¥Cosminexus¥CC¥DBConnector¥ReliableMessaging¥DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rar"

＜ファイルパス＞には，「3.4.6　DB Connector for Cosminexus RMの選択」で選択したRARファイル指定してください。RARファイルは，次のディレクトリに格納されています。

Windowsの場合
＜Cosminexusのインストールディレクトリ＞¥CC¥DBConnector¥ReliableMessaging¥

UNIXの場合
/opt/Cosminexus/CC/DBConnector/ReliableMessaging/

(2)　Cosminexus RMのインポート

DB Connector for Cosminexus RMと同様に，cjimportresコマンドを実行して，Cosminexus RMをインポートします。

実行例

cjimportres MyServer -type rar -f "C:¥Program Files¥Hitachi¥Cosminexus¥RM¥lib¥reliablemessaging.rar"

＜ファイルパス＞には，Cosminexus RMのRARファイル（reliablemessaging.rar）を指定してください。RARファイルは，次のディレクトリに格納されています。

%HRMDIR%¥lib

3.4.10　DB Connector for Cosminexus RMとCosminexus RMのプロパティ設定

次に示すコマンドを実行して，DB Connector for Cosminexus RMおよびCosminexus RMのプロパティを設定します。

実行形式

cjsetresprop ［＜サーバ名称＞］ -type rar -resname ＜DB Connector for Cosminexus RMの表示名，またはCosminexus RMの表示名＞ -c ＜Connector属性ファイルパス＞

実行例

cjsetresprop MyServer -type rar -resname Cosminexus_Reliable_Messaging -c rm_prop.xml

注意事項

DB Connector for Cosminexus RMおよびCosminexus RMをデプロイしたあとでプロパティを定義する場合は，cjgetrarpropコマンドとcjsetrarpropコマンドを使用してください。コマンドの詳細については，マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

3.4.11　DB Connector for Cosminexus RMとCosminexus RMのデプロイ

DB Connector for Cosminexus RMおよびCosminexus RMは，デプロイするとJ2EEリソースアダプタとして使用できます。

サーバ管理コマンドでインポートしたDB Connector for Cosminexus RMおよびCosminexus RMをデプロイすると，そのJ2EEサーバ上で動作するすべてのJ2EEアプリケーションから使用できるようになります。なお，デプロイしたあとで，プロパティを定義することもできます。デプロイ後に定義する場合は，該当するDB Connector for Cosminexus RMおよびCosminexus RMを停止した状態で実行してください。プロパティを定義する方法については，「3.4.5　Cosminexus RMのプロパティ定義（永続版リソースアダプタの場合）」および「3.4.8　DB Connector for Cosminexus RMのプロパティ定義」を参照してください。

次に示すコマンドを実行して，DB Connector for Cosminexus RMおよびCosminexus RMをデプロイします。

実行形式

cjdeployrar ［＜サーバ名称＞］ ［-nameserver ＜プロバイダURL＞］ -resname ＜DB Connector for Cosminexus RMの表示名＞ -resname ＜Cosminexus RMの表示名＞

実行例

cjdeployrar MyServer -resname DB_Connector_for_HiRDB_Type4_Cosminexus_RM -resname Cosminexus_Reliable_Messaging

cjdeployrarコマンドの詳細については，マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

3.4.12　Cosminexus RMの運用前の準備（永続版リソースアダプタの場合）

Cosminexus RMの運用前の準備について説明します。

＜この項の構成＞

(1)　DB Connector for Cosminexus RMとCosminexus RMの接続テスト

(2)　DB Connector for Cosminexus RMとCosminexus RMの開始

(3)　キューの作成

(1)　DB Connector for Cosminexus RMとCosminexus RMの接続テスト

DB Connector for Cosminexus RMおよびCosminexus RMに設定した内容が正しいかどうか，接続テストによって検証します。

(a)　接続テストで確認できる項目

接続テストの成功によって，次に示す項目を確認できます。

接続先DBの設定（ホスト名，ポート番号，ユーザ名，パスワードなど）が正しいこと。

接続先DBが正常に開始していること。

RMLinkedDBConnectorNameプロパティが正しく設定されていて，かつ指定したCosminexus RMと連携するDB Connector for Cosminexus RMが開始済みであること。

RMSystemNameプロパティのフォーマットが正しいこと。

(b)　接続テストの手順

DB Connector for Cosminexus RMを開始します。
DB Connector for Cosminexus RMの開始方法については，「(2)　DB Connector for Cosminexus RMとCosminexus RMの開始」を参照してください。

次に示すコマンドを実行してCosminexus RMの接続テストを実施します。

実行形式

cjtestres ［＜サーバ名称＞］ ［-nameserver ＜プロバイダURL＞］ -type rar -resname ＜Cosminexus RMの表示名＞

実行例

cjtestres MyServer -type rar -resname Cosminexus_Reliable_Messaging

なお，接続に失敗した場合には，出力されるメッセージを基にエラーに対処し，再度接続テストを実施してください。

cjtestresコマンドの詳細については，マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

注意事項

一度接続テストをしたDB Connector for Cosminexus RMおよびCosminexus RMは，J2EEサーバを再起動するまで削除できません。DB Connector for Cosminexus RMおよびCosminexus RMを削除する場合は，DB Connector for Cosminexus RMおよびCosminexus RMを停止してから，J2EEサーバを再起動してください。

(c)　接続テストの失敗事例

接続テストに失敗する事例を次に示します。

DBの管理情報テーブルが正常に作成されていない場合
接続テストではDBへのアクセスを試みます。Cosminexus RMが前提とするDBの管理情報テーブルにアクセスするため，DBの管理情報テーブルが正常に作成されていないときは接続テストに失敗します。

Cosminexus Component Container側でエラーを検知した場合
接続テストではCosminexus RMとCosminexus Component Containerの両方でチェックを実行します。そのため，Cosminexus Component Container側でエラーを検知すると接続テストに失敗する場合もあります。

接続テストに成功してもCosminexus RMの起動時に接続に失敗する場合があります。事例を次に示します。

QueueConfigFileNameプロパティを指定した場合のファイルパスが不正のとき，または指定したキュー定義ファイルの内容が不正のとき

ロガーの初期化に失敗したとき，またはコマンドのネーミングサービスの登録に失敗したとき

(2)　DB Connector for Cosminexus RMとCosminexus RMの開始

DB Connector for Cosminexus RMおよびCosminexus RMを開始します。なお，DB Connector for Cosminexus RMおよびCosminexus RMが連携するために，J2EEリソースアダプタは次の順序で開始してください。

DB Connector for Cosminexus RM

Cosminexus RM

この順序で開始しないとエラーになります。

なお，Cosminexus RMの接続テストを実施して，すでにDB Connector for Cosminexus RMが開始している場合は，手順1.は不要です。

次に示すコマンドを実行してDB Connector for Cosminexus RMを開始します。

実行形式

cjstartrar ［＜サーバ名称＞］ ［-nameserver ＜プロバイダURL＞］ -resname ＜DB Connector for Cosminexus RMの表示名＞

実行例

cjstartrar MyServer -resname DB_Connector_for_HiRDB_Type4_Cosminexus_RM

手順1.と同様に，cjstartrarコマンドを実行してCosminexus RMを開始します。

実行形式

cjstartrar ［＜サーバ名称＞］ ［-nameserver ＜プロバイダURL＞］ -resname ＜Cosminexus RMの表示名＞

実行例

cjstartrar MyServer -resname Cosminexus_Reliable_Messaging

cjstartrarコマンドの詳細については，マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

注意事項

J2EEアプリケーション中のJ2EEリソースがDB Connector for Cosminexus RMまたはCosminexus RMを参照している場合は，DB Connector for Cosminexus RMまたはCosminexus RMを開始してから，J2EEアプリケーションを開始してください。

一度開始したリソースアダプタは，J2EEサーバを再起動するまで削除できません。リソースアダプタを削除する場合は，リソースアダプタを停止してから，J2EEサーバを再起動してください。

(3)　キューの作成

DB Connector for Cosminexus RMおよびCosminexus RMを開始すると，Cosminexus RMが管理状態になります。管理状態になったことを確認したら，hrmmkqueコマンドを入力して，キューを作成してください。そのあと，hrmstartコマンドを入力して，Cosminexus RMを実行状態にします。

詳細については，「4.2　キューの運用（永続版リソースアダプタの場合）」を参照してください。

3.4.13　キュー間転送を使用する場合の設定

キュー間転送を使用する場合の設定について説明します。

＜この項の構成＞

(1)　SOAP通信基盤の設定

(2)　キュー間転送を使用する場合のCosminexus RMの設定

(3)　転送データ相互接続用インタフェースを利用する場合の設定

(1)　SOAP通信基盤の設定

キュー間転送をする場合，SOAP通信基盤を使用します。

SOAP通信基盤は，クライアント定義ファイルおよびサーバ定義ファイルに定義された内容に従って送受信処理をします。

(a)　SOAP通信基盤の動作モード

SOAP通信基盤を標準モードで動作するよう設定します。SOAP通信基盤を標準モードで動作する方法および詳細については，マニュアル「Cosminexus SOAPアプリケーション開発ガイド」を参照してください。

(b)　クライアント定義ファイルの使用方法

SOAP通信基盤が出力するメッセージログ，トレースファイルの内容を指定する場合，またはCosminexus RMを複数デプロイする場合は次に示す順序に従ってください。

クライアント定義ファイルを任意のディレクトリにコピーします。

Cosminexus RMのRMTRTransferControlDirプロパティに，コピーしたクライアント定義ファイルが格納されているディレクトリのパスを指定します。

注意

クライアント定義ファイルは削除しないでください。

クライアント定義ファイルのファイル名は変更しないでください。

Cosminexus RMを複数デプロイする場合，RMTRTransferControlDirプロパティには，クライアント定義ファイルが格納されているディレクトリのパスをCosminexus RMごとに指定してください。なお，クライアント定義ファイルで設定する，c4web.logger.log_file_prefixキーはCosminexus RMごとに異なる文字列を設定してください。

uCosminexus Reliable Messaging 01-00からCosminexus RM 01-02にバージョンアップする場合は，J2EEサーバを起動する前にJ2EEサーバ用オプション定義ファイル（usrconf.cfg）をテキストエディタで開き，次に示す行を削除してください。
add.class.path=<uCosminexus Reliable Messaging 01-00のインストールディレクトリ>¥conf

クライアント定義ファイルで設定できるキー名称と値の一覧を次の表に示します。次の表に示したキーだけを設定してください。ほかのキーを設定した場合，動作は保証されません。

表3-16　クライアント定義ファイルで設定できるキー名称と値の一覧

キー名称 | 値
c4web.logger.log_file_prefix | トレースファイル，アプリケーションログのプレフィクス
c4web.common.prf_trace_level | 性能解析トレースの出力オプション
c4web.common.send_max_soap_envelope_size | 送信できるSOAPEnvelopeの最大サイズ
c4web.common.receive_max_soap_envelope_size | 受信できるSOAPEnvelopeの最大サイズ
c4web.attachment.send_max_attachment_count | 送信できる添付データの最大個数
c4web.attachment.receive_max_attachment_count | 受信できる添付データの最大個数
c4web.attachment.send_max_attachment_size | 送信できる添付データの最大サイズ
c4web.attachment.receive_max_attachment_size | 受信できる添付データの最大サイズ

クライアント定義ファイルで設定できるキーの詳細については，マニュアル「Cosminexus SOAPアプリケーション開発ガイド」を参照してください。

(c)　サーバ定義ファイルの設定

キュー間転送をする場合，サーバ定義ファイルは，キュー間転送用Webアプリケーションを対象に設定する必要があります。

サーバ定義ファイルで設定できるキー名称と値の一覧を次の表に示します。次の表に示したキーだけを設定してください。ほかのキーを設定した場合，動作は保証されません。

表3-17　サーバ定義ファイルで設定できるキー名称と値の一覧

キー名称 | 値
c4web.logger.<識別子>.log_file_prefix | トレースファイル，アプリケーションログのプレフィクス
c4web.common.<識別子>.prf_trace_level | 性能解析トレースの出力オプション
c4web.common.<識別子>.send_max_soap_envelope_size | 送信できるSOAPEnvelopeの最大サイズ
c4web.common.<識別子>.receive_max_soap_envelope_size | 受信できるSOAPEnvelopeの最大サイズ
c4web.attachment.<識別子>.send_max_attachment_count | 送信できる添付データの最大個数
c4web.attachment.<識別子>.receive_max_attachment_count | 受信できる添付データの最大個数
c4web.attachment.<識別子>.send_max_attachment_size | 送信できる添付データの最大サイズ
c4web.attachment.<識別子>.receive_max_attachment_size | 受信できる添付データの最大サイズ

キー名称の<識別子>には，キュー間転送用Webアプリケーションのコンテキストルートを指定します。

サーバ定義ファイルで設定できるキーの詳細については，マニュアル「Cosminexus SOAPアプリケーション開発ガイド」を参照してください。

(2)　キュー間転送を使用する場合のCosminexus RMの設定

キュー間転送を使用する場合は，送信側と受信側のCosminexus RMに対して次に示す設定をしてください。

CosminexusのWebサーバ連携機能またはインプロセスHTTPサーバ機能を有効に設定
Webサーバ連携機能およびインプロセスHTTPサーバ機能については，「Cosminexus 機能解説」および「Cosminexus システム構築ガイド」を参照してください。

SOAP通信基盤を標準モードで動作するように設定
SOAP通信基盤については，マニュアル「Cosminexus SOAPアプリケーション開発ガイド」を参照してください。

コンフィグレーションプロパティのRMTRConnectFlagにtrueを指定

サーバ管理コマンドでCosminexus RMのearファイル（キュー間転送用Webアプリケーション）をインポート

サーバ管理コマンドでCosminexus RMのキュー間転送用WebアプリケーションとCosminexus RMのリソースアダプタを関連づけ

hrmstartコマンドを入力してCosminexus RMを実行状態に移行

(3)　転送データ相互接続用インタフェースを利用する場合の設定

転送データ相互接続用インタフェースを利用したアプリケーションを作成する場合，転送データ相互接続用インタフェースのライブラリを開発環境のクラスパスに含める必要があります。詳細は「7.5　転送データ相互接続用インタフェースの一覧」を参照してください。

3.5　Cosminexus RMのシステム構築（非永続版リソースアダプタの場合）

非永続版リソースアダプタの場合のCosminexus RMのシステム構築について説明します。

＜この節の構成＞

3.5.1　キュー作成ファイルの作成

3.5.2　キュー定義ファイルの作成（非永続版リソースアダプタの場合）

3.5.3　Cosminexus RMのプロパティ定義（非永続版リソースアダプタの場合）

3.5.4　Cosminexus RMのインポート

3.5.5　Cosminexus RMのプロパティ設定

3.5.6　Cosminexus RMのデプロイ

3.5.7　Cosminexus RMの運用前の準備（非永続版リソースアダプタの場合）

3.5.1　キュー作成ファイルの作成

非永続版リソースアダプタを使用する場合，キュー作成ファイルに記述したキュー定義文を基にキューを作成します。キュー作成ファイルはテキストファイルで作成して，任意のディレクトリに格納してください。キュー作成ファイルのフルパスをQueueMakeFileNameプロパティに指定すると，キュー作成ファイルに指定されたキュー定義文を基に，Cosminexus RM開始時に非永続キュー属性のローカルキューが作成されます。

＜この項の構成＞

(1)　キュー作成ファイルの記述形式

(2)　キュー作成ファイルの記述例

(3)　キュー作成ファイルの作成規則

(4)　キュー作成ファイルの作成時の注意事項

(1)　キュー作成ファイルの記述形式

記述形式

hrmmkque 〔-d {serial｜parallel}〕
        〔-n 最大メッセージ数〕〔-x 表示名〕
        〔-e メッセージ有効期間〕
        キュー名

オプション

-d {serial｜parallel}　～《parallel》

作成するキューのメッセージ取り出しモードを指定します。

serial：シリアル取り出し属性

parallel：パラレル取り出し属性

各属性を指定したときのメッセージの処理については，「2.3.2　メッセージ取り出しモード」のメッセージ取り出しモードの説明を参照してください。

-n 最大メッセージ数　～＜数字＞((1～65535))《1024》

キューに格納するメッセージの最大数を指定します。

-e メッセージ有効期間　～＜数字＞((0～2592000))《0》

キューに格納するメッセージの有効期間を秒単位で指定します。

0を指定する場合，メッセージの有効期間は無限です。

有効期間を指定するときのメッセージの処理については，「2.3.5　メッセージの有効期間」を参照してください。有効期間に達すると，そのメッセージは破棄されます。

-x 表示名　～＜1～64文字の英数字および_（アンダースコア）＞

キューの表示名を指定します。表示名とは，アプリケーションがJNDIネーミングサービスからキューを取得するときの，キューの論理名のことです。

指定を省略した場合はキュー名と同じ名称を指定したものと見なされます。

指定した表示名と同じ名称を持つキューがすでに存在している場合，エラーとなります。

オプションを指定するときの注意事項を次に示します。

オプションは，キュー名より前に指定してください。

オプションは順序不同です。

"hrmmkque"，オプション，およびキュー名の間は一つ以上の半角スペース，タブ，または改行のどれかを入力してください。

同じオプションフラグを2回以上指定すると最後に指定したものが有効となります。例えば，次のように「-n 1」のあとに「-n 2」を指定すると，「-n 2」が有効になります。
hrmmkque -n 1 -n 2

引数
キュー名　～＜1～20文字の識別子＞
作成するキューの名前を指定します。
指定できる文字は，先頭文字が英数字で，2文字目以降が英数字または_（アンダスコア）となります。
キュー作成ファイルに対して同一のキュー名称を指定した場合は，後ろに記述された同一のキュー名称を含むキュー定義文が無視され，処理が続行されます。

(2)　キュー作成ファイルの記述例

記述例1

hrmmkque queue1;

記述例2

hrmmkque -e 1000    # 有効期限は1000秒（約16分）を指定
-n 65535            # 最大メッセージ数は-nオプションの最大値を指定
queue2;

(3)　キュー作成ファイルの作成規則

定義の先頭には，hrmmkqueを入力してください。行の先頭でも途中でも差し支えありません。

定義の終端には，セミコロン（;）を指定してください。

hrmmkqueからセミコロン（;）までが定義と解釈されます。

定義の中で改行やコメントを挿入できます。ただし，文字列の途中で改行はできません。

シャープ（#）で始まる行はコメントと見なされます。行の途中にシャープ（#）がある場合は，シャープ（#）以降から行の最後までがコメントと見なされます。

コメントに相当しない位置で，かつキュー定義文に含まれない位置で入力された，"hrmmkque"，シャープ（#），半角スペース，タブ，および改行以外の文字は，すべて不正と見なされます。

参考

キューを削除する場合，削除するキューのキュー定義文を削除するか，または先頭にシャープ（#）を付けてコメントにします。

(4)　キュー作成ファイルの作成時の注意事項

次の場合は，Cosminexus RMが閉塞します。

キュー作成ファイルの読み込みに失敗した場合

指定されたパスにキュー作成ファイルがない場合

キュー作成ファイル読み込み時にメモリ不足が発生した場合

キュー作成ファイルに不正なキュー定義文がある場合

キュー作成ファイルに"hrmmkque"と対になるセミコロンがない場合

キュー作成ファイルに有効なキュー定義文が存在しない場合

キュー作成ファイルの読み込み処理中に何らかの入出力例外が発生した場合

オプションフラグ，フラグ引数，またはキュー名に不正がある場合，該当の定義文を無視して処理が続行されます。

-xオプションで指定したキューの表示名は，キュー定義ファイルを使用しない場合に，指定した表示名でJNDIネーミングサービスに登録されます。キュー定義ファイルを使用する場合は，指定した表示名でJNDIネーミングサービスに登録されません。

3.5.2　キュー定義ファイルの作成（非永続版リソースアダプタの場合）

キュー定義ファイルは，JNDIネーミングサービスに登録するキュー表示名と実際のキュー名を関連づけるファイルです。テキストファイルで作成して，任意のディレクトリに格納してください。キュー定義ファイルのフルパスをQueueConfigFileNameプロパティに指定すると，Cosminexus RMの開始時に，定義されたキュー表示名がJNDIネーミングサービスに登録されます。

なお，キュー作成時の表示名を利用する場合，キュー定義ファイルの作成は不要です。

＜この項の構成＞

(1)　キュー定義ファイルの記述形式

(2)　キュー定義ファイルの記述例

(3)　キュー定義ファイルの作成規則

(1)　キュー定義ファイルの記述形式

キュー定義ファイルの記述形式について，次に示します。

記述形式

QueueImplClass = jp.co.Hitachi.soft.reliablemessaging_np.ra.jms.QueueImpl※1
Queue.通番※2.DisplayName = キュー表示名※3
Queue.通番.QueueName = キュー名※4

注※1

ユーザの環境に依存しない固定の値です。

永続版リソースアダプタの場合と指定値が異なるので注意してください。

注※2

通番には1～20480の範囲の値を指定してください。

注※3

キュー表示名として任意の名称を指定します。

キュー表示名はJNDIネーミングサービスに"<Cosminexus RMの表示名>__<キュー表示名>__que"の形式で登録されます。なお，"<Cosminexus RMの表示名>__<キュー表示名>__que"の形式の文字列の長さが256文字を超えないようにしてください。

Cosminexus RMの表示名は，Connector属性ファイルの<display-name>タグの指定値をサニタイズ（半角英数字以外をアンダスコア（_）に変更）した値です。<display-name>タグの初期値は"Cosminexus_Reliable_Messaging"です。Connector属性ファイルについては，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

<キュー表示名>には，アンダスコア二つ（__）を指定しないでください。

注※4

キュー名はキュー作成ファイルのhrmmkque定義の引数指定値を指定します。

(2)　キュー定義ファイルの記述例

QueueImplClass = jp.co.Hitachi.soft.reliablemessaging_np.ra.jms.QueueImpl
Queue.1.DisplayName = Q1
Queue.1.QueueName = Queue1
Queue.2.DisplayName = Q2
Queue.2.QueueName = Queue2

(3)　キュー定義ファイルの作成規則

java.util.Properties.load()メソッドで読み取りできる形式にしてください。コメントや継続行の扱いも同様です。

QueueImplClassの指定がない場合および値が指定されていない場合はデプロイ時にエラーが発生します。

一つのキューについてDisplayNameおよびQueueNameの両方を指定してください。

同一のプロパティを複数記述した場合は，どの値が有効になるか保証しません。

通番は1から指定してください。通番1のキュー定義がない場合はデプロイ時にエラーが発生します。

Queue.n.DisplayNameの指定がない場合および値が指定されていない場合，通番がn-1番目のキューまでが有効になります。通番n以降のキュー定義は無視されます。

QueueNameの指定がない，または値が指定されていないキューは無視されます。

キュー定義が一つもない場合はフォーマット不正によってデプロイ時にエラーが発生します。

表示名が重複した場合，通番の大きい方が有効になります。

通番の最大値より大きい値のキュー定義は無視されます。

DisplayNameに指定できる文字は，半角英字（A～Z，a～z）半角数字（0～9）および半角のアンダスコア（_）です。これら以外の文字を指定したキューは無視されます。

QueueNameに指定する値は，大文字と小文字をhrmmkque定義の引数指定値と一致させてください。

3.5.3　Cosminexus RMのプロパティ定義（非永続版リソースアダプタの場合）

Cosminexus RMのプロパティを定義します。Cosminexus RMをデプロイしたあとでも実行できます。なお，設定済みのCosminexus RMのプロパティを変更する場合は，該当するCosminexus RMを停止した状態で実行してください。

＜この項の構成＞

(1)　編集する属性ファイル

(2)　編集する属性設定項目

(3)　コンフィグレーションプロパティの設定例

(1)　編集する属性ファイル

Cosminexus RMで提供するConnector属性ファイルのテンプレートを任意のディレクトリにコピーして，コピーしたファイルを編集します。

Connector属性ファイルのテンプレートは，次のディレクトリに格納されています。

%HRMDIR%¥conf¥rmnp_prop.xml

なお，cjgetrespropコマンドによって取得したConnector属性ファイルを使用することもできます。

注意

テンプレートからコピーしたConnector属性ファイルにASCII文字以外を使用する場合は，次のどちらかの対処が必要です。

UTF-8形式で保存する。

編集したファイルの文字エンコーディング形式に従って，ファイルの先頭行に次に示すencoding宣言を追加する。
<?xml version="1.0" encoding="＜文字エンコーディング＞"?>

(2)　編集する属性設定項目

Cosminexus RMのプロパティ設定項目を次に示します。

リソースアダプタの一般情報

コンフィグレーションプロパティ

実行時プロパティ

(a)　リソースアダプタの一般情報

設定できるCosminexus RMの一般情報属性（<outbound-resourceadapter>タグ）の設定項目を次に示します。

項目 | 必須 | 対応するタグ
トランザクションサポートのレベル | ○ | <transaction-support>
再認証のサポート有無※ | ○ | <reauthentication-support>

（凡例）　○：必須

注※　必ずfalseを指定してください。

プロパティの設定項目の説明については，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

(b)　コンフィグレーションプロパティ

Cosminexus RMのコンフィグレーションプロパティ（<outbound-resourceadapter> - <connection-definition> - <config-property>タグ）の設定項目を次に示します。

項目 | 対応するタグ
コンフィグレーションプロパティ名 | <config-property-name>
コンフィグレーションプロパティのデータ型 | <config-property-type>
コンフィグレーションプロパティの値 | <config-property-value>※

注※　コンフィグレーションプロパティの値をクリアする場合

<config-property-value>タグだけを指定して，値を指定しないでください。

<config-property-value>タグ自体が指定されていない場合は，そのプロパティの値は変更されないで，すでに設定されている値がそのまま有効になります。

定義するコンフィグレーションプロパティの数だけ上記の設定を繰り返してください。

Cosminexus RMのコンフィグレーションプロパティの設定内容については，「6.　コンフィグレーションプロパティ」を参照してください。

(c)　実行時プロパティ

Cosminexus RMの実行時プロパティ（<outbound-resourceadapter> - <connection-definition> - <connector-runtime> - <property>タグ）の設定項目を次に示します。

項目 | 対応するタグ
プロパティ名 | <property-name>
プロパティのデータ型 | <property-type>
プロパティの値 | <property-value>

定義するプロパティの数だけ，上記の設定を繰り返してください。

実行時プロパティ名（<property-name>）およびコネクションプールの動作と注意事項については，マニュアル「Cosminexus アプリケーション設定操作ガイド」のDB Connectorのプロパティ定義に関する内容を参照してください。

(3)　コンフィグレーションプロパティの設定例

Cosminexus RMのコンフィグレーションプロパティの設定例を示します。コンフィグレーションプロパティの各項目の詳細については，「6.2　Cosminexus RMのコンフィグレーションプロパティの詳細説明」を参照してください。

表3-18　Cosminexus RMのコンフィグレーションプロパティの設定例（非永続版リソースアダプタの場合）

項番 | プロパティ名 | 設定例
1 | RMSystemName | ＜システム名＞
2 | QueueMakeFileName | ＜キュー作成ファイルの場所＞
3 | QueueConfigFileName | 指定しない
4 | RMSweepTimerInterval | 600
5 | RMPassByReference | false
6 | RMMaxDeliveryNum | 10
7 | RMMethodTraceLevel | 1
8 | RMLogTraceFileNum | 2
9 | RMLogTraceFileSize | 2097152

3.5.4　Cosminexus RMのインポート

次に示すコマンドを実行してCosminexus RMをインポートします。

cjimportresコマンドの詳細については，マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

実行形式

cjimportres ［＜サーバ名称＞］ ［-nameserver ＜プロバイダURL＞］ -type rar -f ＜ファイルパス＞

実行例

cjimportres MyServer -type rar -f "C:¥Program Files¥Hitachi¥Cosminexus¥RM¥lib¥reliablemessagingNP.rar"

＜ファイルパス＞には，Cosminexus RMのRARファイル（reliablemessagingNP.rar）を指定してください。RARファイルは，次のディレクトリに格納されています。

%HRMDIR%¥lib

3.5.5　Cosminexus RMのプロパティ設定

次に示すコマンドを実行して，Cosminexus RMのプロパティを設定します。

実行形式

cjsetresprop ［＜サーバ名称＞］ -type rar -resname ＜Cosminexus RMの表示名＞ -c ＜Connector属性ファイルパス＞

実行例

cjsetresprop MyServer -type rar -resname Cosminexus_Reliable_Messaging -c rmnp_prop.xml

注意事項

Cosminexus RMをデプロイしたあとでプロパティを定義する場合は，cjgetrarpropコマンドとcjsetrarpropコマンドを使用してください。コマンドの詳細については，マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

3.5.6　Cosminexus RMのデプロイ

Cosminexus RMは，デプロイするとJ2EEリソースアダプタとして使用できます。

サーバ管理コマンドでインポートしたCosminexus RMをデプロイすると，そのJ2EEサーバ上で動作するすべてのJ2EEアプリケーションから使用できるようになります。なお，デプロイしたあとで，プロパティを定義することもできます。デプロイ後に定義する場合は，該当するCosminexus RMを停止した状態で実行してください。プロパティを定義する方法については，「3.5.3　Cosminexus RMのプロパティ定義（非永続版リソースアダプタの場合）」を参照してください。

次に示すコマンドを実行して，Cosminexus RMをデプロイします。

実行形式

cjdeployrar ［＜サーバ名称＞］ ［-nameserver ＜プロバイダURL＞］ -resname ＜Cosminexus RMの表示名＞

実行例

cjdeployrar MyServer -resname Cosminexus_Reliable_Messaging

cjdeployrarコマンドの詳細については，マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

3.5.7　Cosminexus RMの運用前の準備（非永続版リソースアダプタの場合）

Cosminexus RMの運用前の準備について説明します。

＜この項の構成＞

(1)　Cosminexus RMの接続テスト

(2)　Cosminexus RMの開始

(1)　Cosminexus RMの接続テスト

Cosminexus RMに設定した内容が正しいかどうか，接続テストによって検証します。

(a)　接続テストで確認できる項目

接続テストの成功によって，次に示す項目を確認できます。

RMSystemNameプロパティのフォーマットが正しいこと。

(b)　接続テストの手順

次に示すコマンドを実行してCosminexus RMの接続テストを実施します。

実行形式

cjtestres ［＜サーバ名称＞］ ［-nameserver ＜プロバイダURL＞］ -type rar -resname ＜Cosminexus RMの表示名＞

実行例

cjtestres MyServer -type rar -resname Cosminexus_Reliable_Messaging

なお，接続に失敗した場合には，出力されるメッセージを基にエラーに対処し，再度接続テストを実施してください。

cjtestresコマンドの詳細については，マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

注意事項

一度接続テストをしたCosminexus RMは，J2EEサーバを再起動するまで削除できません。Cosminexus RMを削除する場合は，Cosminexus RMを停止してから，J2EEサーバを再起動してください。

(c)　接続テストの失敗事例

接続テストに失敗する事例を次に示します。

Cosminexus Component Container側でエラーを検知した場合
接続テストではCosminexus RMとCosminexus Component Containerの両方でチェックを実行します。そのため，Cosminexus Component Container側でエラーを検知すると接続テストに失敗する場合もあります。

接続テストに成功してもCosminexus RMの起動時に接続に失敗する場合があります。事例を次に示します。

QueueConfigFileNameプロパティやQueueMakeFileNameプロパティに指定したファイルパスが不正のとき，または指定したファイルの内容が不正のとき

ロガーの初期化に失敗したとき，またはコマンドのネーミングサービスの登録に失敗したとき

(2)　Cosminexus RMの開始

cjstartrarコマンドを実行して，Cosminexus RMを開始します。

実行形式

cjstartrar ［＜サーバ名称＞］ ［-nameserver ＜プロバイダURL＞］ -resname ＜Cosminexus RMの表示名＞

実行例

cjstartrar MyServer -resname Cosminexus_Reliable_Messaging

cjstartrarコマンドの詳細については，マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

注意事項

J2EEアプリケーション中のJ2EEリソースがCosminexus RMを参照している場合は，Cosminexus RMを開始してから，J2EEアプリケーションを開始してください。

一度開始したリソースアダプタは，J2EEサーバを再起動するまで削除できません。リソースアダプタを削除する場合は，リソースアダプタを停止してから，J2EEサーバを再起動してください。

3.6　システム構築時の注意事項

システム構築時の注意事項について説明します。

＜この節の構成＞

3.6.1　DBMSの設定をする場合

3.6.2　複数デプロイをする場合

3.6.3　ObjectMessageのペイロードにユーザが定義したクラスのオブジェクトを格納する場合

3.6.4　同一サーバ上でCosminexus RMを複数デプロイする場合

3.6.5　PRFトレースファイルを利用する場合

3.6.1　DBMSの設定をする場合

DBMSの初期設定時の注意事項について説明します。

共用キューを使用して複数システム間でのアプリケーション連携をする場合には，同一スキーマ定義内に送信側システムの管理情報テーブルと受信側システムの管理情報テーブルを定義する必要があります。
共用キューを使用して複数システム間でのアプリケーション連携をする場合の管理情報テーブルについて，次の図に示します。

図3-2　共用キューを使用して複数システム間でのアプリケーション連携をする場合の管理情報テーブル

共用キューの場合，送信側（または受信側）システムの管理情報テーブルを定義したあとで受信側（または送信側）システムの管理情報テーブルを定義するときは，DBMSの初期設定は不要です。受信側（または送信側）システムでは，送信側（または受信側）システムと同じ接続ユーザ名を使用します。

各DBで使用する言語モードは，Cosminexus DABroker LibraryやDB Connector for Cosminexus RMなどの上位のソフトウェアの言語モードと合わせてください。

3.6.2　複数デプロイをする場合

Cosminexus RMはリソース使用量が多いため，複数デプロイは推奨しません。複数デプロイをする場合の注意事項を次に示します。

複数のCosminexus RM間でDB上の管理情報テーブルを共有しないようにしてください。

アプリケーションがネーミングサービスからlookupメソッドでオブジェクトを取得するときのオブジェクト名称によって，稼働するCosminexus RMを切り替えます。J2EE環境での複数デプロイの例を次の図に示します。

図3-3　J2EE環境での複数デプロイの例

Cosminexus RMを複数デプロイした場合，Cosminexus RMごとに別々のクライアント定義ファイルを指定してください。クライアント定義ファイルの詳細については，「3.4.13(1)　SOAP通信基盤の設定」を参照して確認してください。

Cosminexus RMを複数デプロイする場合，キュー間転送用Webアプリケーションのコンテキストルートを一意にするように設定してください。

キュー間転送用Webアプリケーションとリソースアダプタの関連づけは，1対1にしてください。つまり，複数のキュー間転送用Webアプリケーションを一つのリソースアダプタに関連づけることはできません。
Cosminexus Component Containerでは，キュー間転送用Webアプリケーションのカスタマイズ時に，関連するリソースアダプタの表示名を指定することで関連づけます。J2EE環境でのキュー間転送用Webアプリケーションとリソースアダプタの関連づけについて，次の図に示します。

図3-4　J2EE環境でのキュー間転送用Webアプリケーションとリソースアダプタの関連づけ

J2EEサーバ内に異なるバージョンのCosminexus RMを同時にインポートすることはできません。異なるバージョンを同時にインポートした場合，不正な動作をする可能性があります。

3.6.3　ObjectMessageのペイロードにユーザが定義したクラスのオブジェクトを格納する場合

ObjectMessageのペイロードにユーザが定義したクラスのオブジェクトを格納する場合，アプリケーションにユーザが定義したクラスを含める必要があります。アプリケーションにユーザ定義クラスを含めない場合，CosminexusのJ2EEサーバ用オプション定義ファイルにユーザが定義したクラスのクラスパスを指定する必要があります。「2.5.1(3)　JMSメッセージのペイロード」を参照してください。

3.6.4　同一サーバ上でCosminexus RMを複数デプロイする場合

同一サーバ上でCosminexus RMを複数デプロイする場合，またはキュー間転送の通信設定を変更する場合は，Cosminexus RMごとに別々のクライアント定義ファイルを指定する必要があります。詳細については，「3.4.13(1)(b)　クライアント定義ファイルの使用方法」を参照してください。

3.6.5　PRFトレースファイルを利用する場合

PRFトレースファイルを利用するに場合に必要な設定については，永続版リソースアダプタの場合は「4.4　PRFトレースファイルの運用（永続版リソースアダプタの場合）」を，非永続版リソースアダプタの場合は「5.3　PRFトレースファイルの運用（非永続版リソースアダプタの場合）」を参照してください。

4.　Cosminexus RM（永続版リソースアダプタ）の運用

Cosminexus RMのアプリケーションを開始するには，あらかじめCosminexus RMを開始しておく必要があります。Cosminexus RMを停止するには，あらかじめアプリケーションを停止しておく必要があります。

この章では，永続版リソースアダプタを使用する場合の，Cosminexus RMおよびアプリケーションの開始と停止，管理情報テーブルを保存したDBの運用などについて説明します。

＜この章の構成＞

4.1　Cosminexus RMとアプリケーションの開始と停止（永続版リソースアダプタの場合）

4.2　キューの運用（永続版リソースアダプタの場合）

4.3　DBの運用

4.4　PRFトレースファイルの運用（永続版リソースアダプタの場合）

4.5　Cosminexus RM運用時の注意事項（永続版リソースアダプタの場合）

4.1　Cosminexus RMとアプリケーションの開始と停止（永続版リソースアダプタの場合）

永続版リソースアダプタを使用する場合の，Cosminexus RMとアプリケーションの開始手順および停止手順について説明します。

＜この節の構成＞

4.1.1　Cosminexus RMの開始（永続版リソースアダプタの場合）

4.1.2　アプリケーションの開始（永続版リソースアダプタの場合）

4.1.3　Cosminexus RMの停止（永続版リソースアダプタの場合）

4.1.4　Cosminexus RMの状態遷移（永続版リソースアダプタの場合）

4.1.1　Cosminexus RMの開始（永続版リソースアダプタの場合）

Cosminexus RMを開始するには，あらかじめプロパティのカスタマイズとデプロイを完了させている必要があります。詳細については，「3.4.5　Cosminexus RMのプロパティ定義（永続版リソースアダプタの場合）」を参照してください。また，Cosminexus RMの開始時に使用するサーバ管理コマンドついては，マニュアル「Cosminexus アプリケーション設定操作ガイド」を参照してください。

Cosminexus RMを開始する手順を次に示します。

DBMSの開始
HiRDBまたはOracleを開始します。

J2EEサーバの開始
CosminexusをJ2EEサーバモードの1.4モードで開始します。また，アプリケーションの要件に合わせて，必要なCosminexusのサービスを開始してください。

DB Connector for Cosminexus RMの開始
サーバ管理コマンドを使用して，リソースアダプタとしてDB Connector for Cosminexus RMを開始します。

Cosminexus RMの開始
サーバ管理コマンドを使用して，リソースアダプタとしてCosminexus RMを開始します。

注意

サーバ管理コマンドでCosminexus RMが開始状態になっても，実際には開始中状態のことがあります。このときにアプリケーションを開始するとCosminexus RMがコネクションを取得する契機でエラーが発生します。ただし，Message-driven Beanの場合は，Cosminexus RMが開始するまでアプリケーションの開始処理が完了しません。開始処理が完了しKFRM01009-I（メッセージログの出力レベルに関係なく出力します）が出力されるのを待ってからアプリケーションを開始してください。開始中状態の詳細については，「4.1.4　Cosminexus RMの状態遷移（永続版リソースアダプタの場合）」を参照してください。

Connector属性ファイルの<transaction-support>タグにLocalTransactionまたはNoTransactionを指定した場合，サーバ管理コマンドでCosminexus RMが開始状態になっても，実際には開始処理に失敗していることがあります。このときにアプリケーションを開始するとCosminexus RMがコネクションを取得する契機でエラーが発生します。

Cosminexus RMの開始中は，Cosminexus RMが使用しているキュー定義ファイルを削除したり，読み込みができなくなるようなアクセス権限の変更は行わないでください。Cosminexus RMの再開始時にキュー定義ファイルが読み込めない状態であった場合，データベースに未決着のトランザクションが滞留してしまい，Cosminexus RMが正常に開始できなくなります。

4.1.2　アプリケーションの開始（永続版リソースアダプタの場合）

アプリケーションを開始するには，あらかじめCosminexus RMが開始されている必要があります。各手順で使用するサーバ管理コマンドおよび各属性ファイルの詳細については，マニュアル「Cosminexus アプリケーション設定操作ガイド」およびマニュアル「Cosminexus リファレンス 定義編」を参照してください。

アプリケーションを開始する手順を次に示します。

キューの作成
アプリケーションで使用するキューを作成していない場合は，hrmmkqueコマンドを使用してキューを作成します。
キューの作成の詳細については，「4.2　キューの運用（永続版リソースアダプタの場合）」を参照してください。

アプリケーションのインポート
サーバ管理コマンドを使用して，Cosminexus RMのアプリケーションをインポートします。

J2EEアプリケーションのプロパティ設定
テキストエディタを使って，Session Bean属性ファイル，Entity Bean属性ファイル，WAR属性ファイル，またはMessageDrivenBean属性ファイルを編集して，リソースアダプタのリファレンス定義，リソース環境のリファレンス定義およびメッセージ参照の設定項目を設定します。

実行状態への移行
次に示す場合は，hrmstartコマンドを入力してCosminexus RMを管理状態から実行状態に移行してください。

初めてCosminexus RMを開始した場合

前回のオンラインで管理状態のときにCosminexus RMを停止した場合

Cosminexus RMの状態については，hrmlsstatコマンドによって確認できます。状態遷移については，「4.1.4　Cosminexus RMの状態遷移（永続版リソースアダプタの場合）」を参照してください。

アプリケーションの開始
サーバ管理コマンドを使用して，アプリケーションを開始します。

4.1.3　Cosminexus RMの停止（永続版リソースアダプタの場合）

サーバ管理コマンドを使用して，アプリケーションを停止させてから，Cosminexus RMを停止させます。サーバ管理コマンドについては，マニュアル「Cosminexus アプリケーション設定操作ガイド」を参照してください。

Cosminexus RMを停止する手順を次に示します。

アプリケーションの停止
サーバ管理コマンドを使用して，アプリケーションを停止します。一つのCosminexus RMを利用する複数のアプリケーションがある場合はすべて停止します。キュー間転送用Webアプリケーションも含みます。

Cosminexus RMの停止
サーバ管理コマンドを使用して，Cosminexus RMを停止します。

DB Connector for Cosminexus RMの停止
サーバ管理コマンドを使用して，DB Connector for Cosminexus RMを停止します。

J2EEサーバの停止
Cosminexusシステムを使用しない場合は，J2EEサーバとCosminexusのサービスを停止します。

DBMSの終了
DBMSを使用しない場合は，HiRDBまたはOracleを終了します。

4.1.4　Cosminexus RMの状態遷移（永続版リソースアダプタの場合）

Cosminexusシステムにとって，Cosminexus RMには未デプロイ状態，デプロイ済み状態，およびリソースアダプタ開始状態の三つの状態があります。また，リソースアダプタ開始状態のCosminexus RMの内部状態として，実行状態，管理状態，閉塞状態および開始中状態があります。

Cosminexus RMの状態について次に説明します。

実行状態

アプリケーションにサービスを提供する状態です。管理状態からhrmstartコマンドの入力によって移行します。

管理状態

Cosminexus RMが提供するコマンドを入力して，キューを作成したり，メッセージを削除したりするためのシステム管理用の状態です。実行状態からhrmstopコマンドの入力によって移行します。

閉塞状態

Cosminexus RM内部のメモリ状態不正などによって，処理の続行ができなくなった状態です。実行状態，管理状態，または開始中状態から移行します。この状態では，アプリケーションにサービスは提供されません。

開始中状態

リソースアダプタを開始して，前回の状態によって管理状態または実行状態に移行するまでの一時的な状態です。この状態では，DB上に格納されているキューやメッセージ情報をメモリ上に復元します。復元に掛かる時間は，DBに格納されているメッセージの数に比例します。

＜この項の構成＞

(1)　状態遷移

(2)　管理状態への移行処理

(3)　キュー間転送用Webアプリケーションの状態遷移

(1)　状態遷移

Cosminexus RMの状態遷移について，次の図に示します。

図4-1　Cosminexus RMの状態遷移

リソースアダプタを開始した直後は，前回のオンラインでCosminexus RMを停止したときの内部状態に移行します。また，コマンドによっては特定の内部状態のときだけに入力できます。詳細については，「8.2　コマンドの一覧」を参照してください。

(2)　管理状態への移行処理

管理状態に移行するときは，あらかじめアプリケーションを停止させてください。

hrmstopコマンドを入力すると，Cosminexus RMは実行状態から管理状態へ移行します。移行時には，仕掛かり中のメッセージ処理に影響を与えないように，次に示す処理が実行されます。

新しいメッセージ受信を停止し，仕掛かり中のメッセージ受信処理が完了するまで待ちます。

新しいメッセージ送信を停止し，仕掛かり中のメッセージ送信処理が完了するまで待ちます。

キュー間転送での新しいSOAPメッセージの受信を停止し，仕掛かり中のSOAPメッセージの受信処理が完了するまで待ちます。

キュー間転送での新しいSOAPメッセージの送信を停止し，仕掛かり中のSOAPメッセージの送信処理で応答が返されるのを待ちます。

共用キュー連携時は新しいイベントの受信を停止し，仕掛かり中のメッセージ受信処理が完了するまで待ちます。

アプリケーションからの新しいAPI呼び出しに対して例外を返し，仕掛かり中のAPI処理が完了するまで待ちます。なお，仕掛かり中のトランザクションがあっても，Cosminexus RMはトランザクションをロールバックしません。

(3)　キュー間転送用Webアプリケーションの状態遷移

Cosminexus RMのキュー間転送用WebアプリケーションをJ2EEアプリケーションとしてデプロイします。J2EEコンテナから見たキュー間転送用Webアプリケーションの状態として，未デプロイ状態，デプロイ状態，および開始状態の三つの状態があります。また，開始状態のキュー間転送用Webアプリケーションの内部状態として，実行状態があります。

キュー間転送用Webアプリケーションが開始状態に遷移できるのは，Cosminexus RMがリソースアダプタ開始状態であることが前提となります。

キュー間転送用Webアプリケーションの状態遷移について，次の図に示します。

図4-2　キュー間転送用Webアプリケーションの状態遷移

4.2　キューの運用（永続版リソースアダプタの場合）

ローカルキュー，共用キュー，転送キュー，およびデッドメッセージキューの運用方法について説明します。

＜この節の構成＞

4.2.1　ローカルキューによるシステム内アプリケーション間連携

4.2.2　共用キューによるシステム間連携

4.2.3　キュー間転送によるシステム間連携

4.2.4　デッドメッセージキューによるデッドメッセージの再登録

4.2.5　キューの状態遷移（永続版リソースアダプタの場合）

4.2.1　ローカルキューによるシステム内アプリケーション間連携

自システム内のアプリケーション間で，ローカルキューを介してメッセージを送受信する手順を次に説明します。

Cosminexus RMのリソースアダプタの開始

管理状態への移行
Cosminexus RMを管理状態にします。hrmlsstatコマンドでCosminexus RMの状態を確認してください。実行状態の場合はhrmstopコマンドを入力すると管理状態に移行します。

ローカルキューの作成
hrmmkqueコマンドの-tオプションにlocalを指定して，メッセージを受信するためのローカルキューを作成します。hrmmkqueコマンドについては，「8.3.17　hrmmkque（ローカルキューの作成）」を参照してください。

実行状態への移行
hrmstartコマンドを入力して，Cosminexus RMを実行状態にします。

4.2.2　共用キューによるシステム間連携

＜この項の構成＞

(1)　共用キューによるシステム間連携の手順

(2)　Cosminexus RMのバージョンと共用キューのバージョン

(1)　共用キューによるシステム間連携の手順

共用キューによるシステム間連携の手順を次に説明します。共用キューを使用する場合，共用キューのバージョンについてあらかじめ確認してください。共用キューのバージョンについては，「(2)　Cosminexus RMのバージョンと共用キューのバージョン」を参照してください。

受信側システムの手順

Cosminexus RMのリソースアダプタの開始

管理状態への移行
Cosminexus RMを管理状態にします。hrmlsstatコマンドでCosminexus RMの状態を確認してください。実行状態の場合はhrmstopコマンドを入力すると管理状態に移行します。

受信用共用キューの作成
hrmmkqueコマンドの-tオプションにshr_receiveを指定して，メッセージを受信するための受信用共用キューを作成します。hrmmkqueコマンドについては，「8.3.18　hrmmkque（受信用共用キューの作成）」を参照してください。

実行状態への移行
hrmstartコマンドを入力して，Cosminexus RMを実行状態にします。

送信側システムの手順

Cosminexus RMのリソースアダプタの開始

管理状態への移行
Cosminexus RMを管理状態にします。hrmlsstatコマンドでCosminexus RMの状態を確認してください。実行状態の場合はhrmstopコマンドを入力すると管理状態に移行します。

送信用共用キューの作成
hrmmkqueコマンドの-tオプションにshr_sendを指定して，送信用共用キューを作成します。hrmmkqueコマンドについては，「8.3.19　hrmmkque（送信用共用キューの作成）」を参照してください。

実行状態への移行
hrmstartコマンドを入力して，Cosminexus RMを実行状態にします。

ユーザアプリケーションの開始
ユーザアプリケーションを開始して，共用キューによるシステム間連携を行います。

(2)　Cosminexus RMのバージョンと共用キューのバージョン

Cosminexus RMのバージョンによって共用キューに格納する情報が異なるため，Cosminexus RMのバージョンに対応して共用キューにもバージョンが存在します。

また，Cosminexus RMのバージョンによって使用できる共用キューのバージョンが決められています。したがって，共用キューを使用する場合は，送信側システムと受信側システムのCosminexus RMのバージョンを統一し，必要に応じて共用キューをバージョンアップする必要があります。

Cosminexus RMのバージョンと，それに対応する共用キューのバージョンを次の表に示します。

表4-1　Cosminexus RMのバージョンと共用キューのバージョン

Cosminexus RMのバージョン | 共用キューのバージョン
01-00 | 0100
01-01 | 0200
01-02
01-03

なお，共用キューのバージョン0200を使用してTP1/EEとシステム間連携する場合は，TP1/EEのDBキュー機能オプションはTYPE1に指定してください。共用キューのバージョン0100を使用する場合は，TP1/EEのDBキュー機能オプションはTYPE0に指定してください。

4.2.3　キュー間転送によるシステム間連携

キュー間転送を行う場合は，事前に受信側システムのあて先アドレスを確認しておいてください。

キュー間転送の手順を次に説明します。

受信側システムの手順

Cosminexus RMのリソースアダプタの開始
このとき，キュー間転送用Webアプリケーションは停止しておきます。

管理状態への移行
Cosminexus RMを管理状態にします。hrmlsstatコマンドでCosminexus RMの状態を確認してください。実行状態の場合はhrmstopコマンドを入力すると管理状態に移行します。

ローカルキューの作成
hrmmkqueコマンドの-tオプションにlocalを指定して，メッセージを受信するためのローカルキューを作成します。hrmmkqueコマンドについては，「8.3.17　hrmmkque（ローカルキューの作成）」を参照してください。

実行状態への移行
hrmstartコマンドを入力して，Cosminexus RMを実行状態にします。

キュー間転送用Webアプリケーションの開始

送信側システムの手順

Cosminexus RMのリソースアダプタの開始
このとき，キュー間転送用Webアプリケーションは停止しておきます。

管理状態への移行
Cosminexus RMを管理状態にします。hrmlsstatコマンドでCosminexus RMの状態を確認してください。実行状態の場合はhrmstopコマンドを入力すると管理状態に移行します。

受信側システムのあて先アドレスの登録
hrmmkaddrコマンドを入力して，受信側システムのあて先アドレスをあて先情報テーブルに登録します。

転送キューの作成
hrmmkqueコマンドの-tオプションにtransmitを指定して，転送キューを作成します。受信側システムのCosminexus RMのバージョンが01-02以前の場合は，hrmmkqueコマンドの-iオプションにcompatibleを指定して，転送キューを作成します。hrmmkqueコマンドについては，「8.3.20　hrmmkque（転送キューの作成）」を参照してください。

実行状態への移行
hrmstartコマンドを入力して，Cosminexus RMを実行状態にします。

キュー間転送用Webアプリケーションの開始

ユーザアプリケーションの開始
ユーザアプリケーションを開始して，キュー間転送を行います。

4.2.4　デッドメッセージキューによるデッドメッセージの再登録

デッドメッセージキューを作成する方法は，ローカルキューと同じです。ただし，RMDeadMessageQueueNameプロパティにキュー名を指定する必要があります。ローカルキューの作成方法については，「4.2.1　ローカルキューによるシステム内アプリケーション間連携」を参照してください。

ここでは，デッドメッセージを再登録する場合の手順について説明します。有効期限切れ，配信回数超過，通信失敗などで，デッドメッセージキューに移動したメッセージを，移動前のキュー（ローカルキュー，受信用共用キュー，または転送キュー）に新しいメッセージとして再登録できます。デッドメッセージを再登録する場合の手順を次の図に示します。

図4-3　デッドメッセージの再登録

デッドメッセージキュー移動時にログファイルに出力されるデッドメッセージID（DMID）を参照します。
ログファイルは，Cosminexus用メッセージログに出力されます。また，DMIDについては，「4.2.4(1)　DMID」を参照してください。

DMIDを基に，hrmlsdmsgコマンドでデッドメッセージキューに移動したデッドメッセージの内容（JMSヘッダ，プロパティ，ペイロード，デッドメッセージ固有の属性情報など）を確認します。
hrmlsdmsgコマンドについては，「8.3.10　hrmlsdmsg（デッドメッセージの参照）」を参照してください。

該当メッセージをデッドメッセージキューに移動する前のキューに再登録したい場合は，hrmregdmsgコマンドを使用します。
該当メッセージはデッドメッセージキューから削除され，デッドメッセージキューに移動する前のキューに再登録されます。このとき，新しいメッセージとして登録されます。※hrmregdmsgコマンドについては，「8.3.21　hrmregdmsg（デッドメッセージの再登録）」を参照してください。

注※

デッドメッセージ移動前のキューに再登録する場合，ユーザが指定したメッセージの情報は引き継がれます。ただし，メッセージIDやメッセージ有効期限などのCosminexus RMがメッセージ登録時に設定する情報は再設定されます。また，デッドメッセージ固有の属性情報（DMID，移動前キュー名，デッドメッセージキュー移動原因，デッドメッセージキュー移動時刻）は失われます。

＜この項の構成＞

(1)　DMID

(2)　サーバ間転送での注意事項

(1)　DMID

デッドメッセージID（DMID）とは，デッドメッセージを識別するために設定される一意のIDです。hrmlsdmsgコマンドでデッドメッセージを参照したり，hrmregdmsgコマンドでデッドメッセージを再登録したりするときの引数として使用します。

DMIDは，デッドメッセージキュー移動時のログメッセージに出力されます。また，JMSメッセージのCosminexus RM固有のプロパティやhrmlsdmsgコマンドの実行結果として参照できます。

(2)　サーバ間転送での注意事項

サーバ間転送時の送信側システムのデッドメッセージキューには，受信側システムに到達しているメッセージや受信側デッドメッセージキューに格納されているメッセージが存在する場合があります。

この場合，送信側システムの転送キューからデッドメッセージキュー移動したデッドメッセージを転送キューに再登録する前に，メッセージIDなどで受信側システムのメッセージ到達状態を確認して，受信側システムに到達済みのメッセージを再登録しないようにしてください。送信側システムで転送キューに再登録したメッセージは，最初に転送キューに登録したメッセージとは別のメッセージとして転送されます。そのため，送信側システムで再登録すると，受信側システムで同じ内容のメッセージが重複して受信されることになります。

受信側システムのメッセージ到達状態を確認するには，送信側システムで該当するデッドメッセージのデッドメッセージキュー移動時のメッセージログ（KFRM40012-I）に出力されるDMID，グループID，グループ内シーケンス番号と，受信側システムで回線トレースに出力されるグループID，グループ内シーケンス番号とを照合してください。回線トレースについては，「9.1.5　回線トレース」を参照してください。

送信側・受信側システム両方のデッドメッセージキューに，同じメッセージが格納される場合を次の図に示します。

図4-4　送信側・受信側システムのデッドメッセージキューに，同じメッセージが格納される場合

転送キューからローカルキューへの送信は成功します。

受信システムからの受信成功通知に失敗します。

ローカルキューに格納されたメッセージは有効期限に到達するなどして，受信側システムのデッドメッセージキューに格納されます。

転送キューからメッセージが再送されますが，有効期限に到達して，失敗通知が送信側システムに通知されます。これによって，送信側システムのデッドメッセージキューに同じメッセージが格納されます。

4.2.5　キューの状態遷移（永続版リソースアダプタの場合）

キューには，通常状態，抑止状態（一部抑止状態および完全抑止状態），閉塞状態があります。キューの抑止状態は，システムを管理状態に移行して，すべてのキューに対してメッセージの送受信を抑止するのではなく，特定のキューに対してメッセージの送受信を抑止する場合などに利用します。

キューの状態について次に説明します。

通常状態

正常に使用できる状態です。

一部抑止状態

メッセージの送受信が一部抑止されている状態です。指定するキューの種類によって，抑止される形態が異なります。キューの種類と抑止される形態については，「8.3.27(3)　オプション」を参照してください。

完全抑止状態

メッセージの送受信が完全に抑止されている状態です。指定するキューの種類に応じて，抑止できる形態をすべて抑止します。

閉塞状態

キューに障害が発生した状態です。hrmlsqueコマンドおよびhrmdelqueコマンドだけを受け付け，それ以外のコマンドおよびメッセージの送受信を実行できません。

キューの状態遷移を，キューの種類別に次の図に示します。

図4-5　キューの状態遷移

注

送信用共用キューは抑止および抑止解除状態はありません。

注1

デッドメッセージキューは，抑止形態が一つであるため一部抑止および一部抑止解除状態がありません。

注2

デッドメッセージキューが閉塞状態に移行すると，システムが閉塞します。

図中で使用されるイベントの意味は次のとおりです。

一部抑止

hrmstopqueコマンドの-yオプションにap_send，ap_receive，trs_send，trs_receive，またはap_allを指定して，実行します。

完全抑止

hrmstopqueコマンドの-yオプションにallを指定して，実行します。

一部抑止解除

hrmstartqueコマンドの-yオプションにap_send，ap_receive，trs_send，trs_receive，またはap_allを指定して，実行します。

完全抑止解除

hrmstartqueコマンドの-yオプションにallを指定して，実行します。

障害検知

Cosminexus RMがキューに関連する障害を検知したことを示します。

4.3　DBの運用

Cosminexus RMは，メッセージを格納するキューや管理情報をDB上の管理情報テーブルに保存します。テーブルの移行手順や接続ユーザ名の変更手順などについて説明します。

DBMSとしてHiRDBまたはOracleを使用できます。それぞれのDBMSで必要な設定について説明します。ここで説明していない設定内容や手順については，HiRDBまたはOracleのマニュアルを参照してください。

＜この節の構成＞

4.3.1　管理情報テーブルの移行

4.3.2　管理情報テーブルの削除

4.3.3　接続ユーザ名の変更

4.3.4　DBのバックアップ

4.3.5　RDエリアの容量の確保

4.3.6　管理情報テーブルの一覧

4.3.7　アプリケーション認証によるDBアクセス設定

4.3.1　管理情報テーブルの移行

DBMSの動作マシンの入れ替えなどによって，管理情報テーブルを異なるDBに移行するときの手順について，次に示します。

＜この項の構成＞

(1)　管理情報を格納するDBがHiRDBの場合

(2)　管理情報を格納するDBがOracleの場合

(1)　管理情報を格納するDBがHiRDBの場合

Cosminexus RMの停止
Cosminexus RMを停止します。詳細については，「4.1.3　Cosminexus RMの停止（永続版リソースアダプタの場合）」を参照してください。

テーブルの移行
HiRDBのディクショナリ搬出入ユティリティ（pdexpコマンド）とデータベース再編成ユティリティ（pdrorgコマンド）を使用して管理情報テーブルを移行します。詳細については，マニュアル「HiRDB システム運用ガイド」および「HiRDB コマンドリファレンス」を参照してください。

環境設定の変更
次のどちらかの方法で環境設定を変更します。

HiRDBクライアント環境変数登録ツールを使用して，移行先マシンに合わせて環境変数を変更します（Windowsの場合）。または，HiRDBのクライアント環境変数グループの設定ファイルに記載している環境変数を，移行先マシンに合わせて変更します（UNIXの場合）。該当する環境変数については，「3.4.1(2)(b)　HiRDBの環境変数グループの登録」を参照してください。

HiRDBクライアント環境変数登録ツールを使用して，新しい環境変数グループを登録し，DB Connector for Cosminexus RMのコンフィグレーションプロパティを変更します（Windowsの場合）。または，HiRDBのクライアント環境変数グループの設定ファイルを新しく作成し，DB Connector for Cosminexus RMのコンフィグレーションプロパティを変更します（UNIXの場合）。詳細については，「6.3　DB Connector for Cosminexus RMのコンフィグレーションプロパティの一覧」を参照してください。

(2)　管理情報を格納するDBがOracleの場合

Cosminexus RMの停止
Cosminexus RMを停止します。詳細については，「4.1.3　Cosminexus RMの停止（永続版リソースアダプタの場合）」を参照してください。

テーブルの移行
エクスポート・ユーティリティおよびインポート・ユーティリティを使用して管理情報テーブルを移行します。詳細については，Oracleのマニュアルを参照してください。

環境設定の変更
次のどちらかの方法で環境設定を変更します。

DBクライアントの環境設定時に作成したネット・サービスのネットワーク情報を，移行先のマシンに合わせて変更します。DBクライアントの環境設定については，「3.4.2(2)　DBクライアントの設定」を参照してください。

Oracle Clientの環境設定時に作成したネット・サービスのネットワーク情報に従って新たにネット・サービス名を作成し，DB Connector for Cosminexus RMのコンフィグレーションプロパティを変更します。詳細については，「6.3　DB Connector for Cosminexus RMのコンフィグレーションプロパティの一覧」を参照してください。

4.3.2　管理情報テーブルの削除

DBMSの動作マシンの入れ替えやCosminexus RMのアンインストールなどによって，管理情報テーブルをDBから削除するときの手順について，次に示します。

アプリケーションの停止
Cosminexus RMを使用しているアプリケーションをすべて停止します。詳細については，「4.1.3　Cosminexus RMの停止（永続版リソースアダプタの場合）」を参照してください。

管理状態への移行
hrmstopコマンドを使用してCosminexus RMを管理状態に移行します。

Cosminexus RMの再開始
コネクションプーリングで使用中のDBのコネクションや未決着のトランザクションが残らないようにCosminexus RMを一度停止したあと，再度開始します。

全キューの削除
hrmdelqueコマンドを使用して，作成済みのキューをすべて削除します。

Cosminexus RMの停止
Cosminexus RMを停止します。詳細については，「4.1.3　Cosminexus RMの停止（永続版リソースアダプタの場合）」を参照してください。

テーブルの削除
SQLファイルを使用して，Cosminexus RMの管理情報テーブルを削除します。管理情報テーブルの削除方法を「(1)　テーブル削除用SQLファイルの使用」で説明します。

なお，キューが削除されている場合も，手順1.～手順3.，手順5.を実行してから手順6.を実行してください。

＜この項の構成＞

(1)　テーブル削除用SQLファイルの使用

(1)　テーブル削除用SQLファイルの使用

(a)　HiRDBの場合

DBMSとしてHiRDBを使用する場合，次に示す手順で管理情報テーブルを削除します。HiRDB SQL Executerの使用方法については，HiRDB SQL Executerのドキュメントを参照してください。

SQLファイルの編集
テーブル削除用SQLファイル（%HRMDIR%¥sql¥deletetableshirdb.sql）を任意の場所にコピーしたあと，"<RMSystemName>"の部分を「3.3.1　Cosminexus RMのシステム名の決定」で決定した値に変更します。

SQLファイルの実行

Windowsの場合

次に示すコマンドでHiRDB SQL Executerを開始します。

pdsqlw -u <接続ユーザ名>/<パスワード>※
      -h <HiRDBサーバのホスト名またはIPアドレス>
      -n <HiRDBサーバのポート番号>

HiRDB SQL Executerの［ファイル］メニューから［ファイルから実行］を選択し，手順1.で編集したSQLファイルを指定して実行します。

UNIXの場合

環境変数PDUSER※，PDHOST，PDNAMEPORTを設定したあと，次に示すコマンドでHiRDB SQL ExecuterからSQLファイルを実行します。

pdsql  <  <手順1.で編集したSQLファイルのパス>

注※

接続ユーザ名には，権限を付与した接続ユーザ名を指定します。詳細については，「3.4.1(1)(b)　HiRDBのユーザ権限の付与」を参照してください。

(b)　Oracleの場合

DBMSとしてOracleを使用する場合，次に示す手順で管理情報テーブルを削除します。SQL*Plusの使用方法については，Oracleのマニュアルを参照してください。

SQLファイルの編集
テーブル削除用SQLファイル（%HRMDIR%¥sql¥deletetablesoracle.sql）を任意の場所にコピーしたあと，"<RMSystemName>"の部分を「3.3.1　Cosminexus RMのシステム名の決定」で決定した値に変更します。

GUI版SQL*Plusまたはコマンドライン版sqlplusの起動
システム構築時のユーザ名を使用してデータベースに接続します。

コマンドの実行
次の形式で実行してください。

start <手順1.で任意の場所にコピーしたあと編集したSQLファイルの絶対パス>

4.3.3　接続ユーザ名の変更

DBMSの接続ユーザ名を変更する場合は，管理情報テーブルを作り直す必要があります。作り直しの対象となるテーブルについては，「4.3.6　管理情報テーブルの一覧」を参照してください。テーブルを移行したあと，環境設定を変更します。

＜この項の構成＞

(1)　テーブルの移行

(2)　環境設定の変更

(1)　テーブルの移行

(a)　HiRDBの場合

Cosminexus RMを停止したあと，次に示す手順でテーブルを作り直します。各手順の詳細については，マニュアル「HiRDB システム運用ガイド」および「HiRDB コマンドリファレンス」を参照してください。

定義系SQLの作成
変更前ユーザが所有するテーブルの定義系SQLをHiRDBのpddefrevコマンドによって生成したあと，生成した定義系SQLファイルからCREATE TABLE文の認可識別子の指定を削除します。

RDエリアの閉塞
移行対象のデータを格納しているRDエリアをHiRDBのpdholdコマンドによって閉塞します。

テーブルデータのアンロード
変更前ユーザが所有するテーブルのテーブルデータをHiRDBのデータベース再編成ユティリティ（pdrorg）によってアンロードします。

RDエリアの閉塞解除
手順2.で閉塞したRDエリアをHiRDBのpdrelsコマンドによって解除します。

変更後ユーザの作成とスキーマ定義
変更後ユーザにユーザ権限を付与し，管理情報テーブル用のスキーマを定義します。詳細については，「3.4.1(1)(b)　HiRDBのユーザ権限の付与」および「3.4.1(1)(c)　HiRDBのスキーマの定義」を参照してください。

バックアップの取得
データベース移行中の障害発生に備えてHiRDBのpdcopyコマンドによってバックアップを取得します。バックアップを取得するRDエリアを次に示します。

マスタディレクトリ用RDエリア

データディレクトリ用RDエリア

データディクショナリ用RDエリア

移行するテーブルを格納するユーザ用RDエリア

テーブルの定義

Windowsの場合

次に示すコマンドでHiRDB SQL Executerを開始します。

pdsqlw -u <変更後ユーザの接続ユーザ名>/<パスワード>
      -h <HiRDBサーバのホスト名またはIPアドレス>
      -n <HiRDBサーバのポート番号>

HiRDB SQL Executerの［ファイル］メニューから［ファイルから実行］を選択し，手順1.で編集した定義系SQLファイルを指定して実行します。

UNIXの場合

変更後ユーザに合わせて環境変数PDUSER，PDHOST，PDNAMEPORTを設定したあと，HiRDB SQL Executerから手順1.で編集した定義系SQLファイルを実行します。

pdsql  <　<手順1.で編集した定義系SQLファイルのパス>

RDエリアの閉塞
変更後ユーザが所有するテーブルを格納しているRDエリアをHiRDBのpdholdコマンドによって閉塞します。

テーブルデータのリロード
変更後ユーザが所有するテーブルにテーブルデータをHiRDBのデータベース再編成ユティリティ（pdrorg）によってリロードします。

RDエリアの閉塞解除
手順8.で閉塞したRDエリアをHiRDBのpdrelsコマンドによって解除します。

テーブルの削除

Windowsの場合

次に示すコマンドでHiRDB SQL Executerを開始します。

pdsqlw -u <変更前ユーザの接続ユーザ名>/<パスワード>
      -h <HiRDBサーバのホスト名またはIPアドレス>
      -n <HiRDBサーバのポート番号>

DROP TABLE文によって変更前ユーザが所有するテーブルを削除します。

UNIXの場合

変更前ユーザに合わせて環境変数PDUSER, PDHOST, PDNAMEPORTを設定したあと，HiRDB SQL Executerを起動させて，DROP TABLE文により変更前ユーザが所有する表を削除します。

バックアップの取得
データベース移行後のバックアップをHiRDBのpdcopyコマンドによって取得します。バックアップを取得するRDエリアを次に示します。

マスタディレクトリ用RDエリア

データディレクトリ用RDエリア

データディクショナリ用RDエリア

移行したテーブルを格納するユーザ用RDエリア

(b)　Oracleの場合

各手順の詳細については，Oracleのマニュアルを参照してください。

Cosminexus RMの停止
Cosminexus RMを停止します。詳細については，「4.1.3　Cosminexus RMの停止（永続版リソースアダプタの場合）」を参照してください。

テーブルの移行
エクスポート・ユーティリティおよびインポート・ユーティリティを使用して管理情報テーブルを移行します。詳細については，Oracleのマニュアルを参照してください。

(2)　環境設定の変更

(a)　HiRDBの場合

変更後ユーザに合わせて環境変数を変更します。変更する環境変数については，「3.4.1(2)(b)　HiRDBの環境変数グループの登録」を参照してください。

または，新しい環境変数グループ名を登録してから，DB Connector for Cosminexus RMのコンフィグレーションプロパティの指定値を変更します。詳細については，「6.3　DB Connector for Cosminexus RMのコンフィグレーションプロパティの一覧」を参照してください。

(b)　Oracleの場合

DB Connector for Cosminexus RMのコンフィグレーションプロパティの指定値を変更します。詳細については，「6.3　DB Connector for Cosminexus RMのコンフィグレーションプロパティの一覧」を参照してください。

4.3.4　DBのバックアップ

管理情報テーブルを保存するDBをバックアップする場合は，DBMSが提供するバックアップ取得機能を使用して実行します。バックアップの対象となるテーブルについては，「4.3.6　管理情報テーブルの一覧」を参照してください。

DBMSとしてHiRDBを使用する場合は，マニュアル「HiRDB システム運用ガイド」を参照してください。DBMSとしてOracleを使用する場合は，Oracleのマニュアルを参照してください。

4.3.5　RDエリアの容量の確保

HiRDBを使用する場合，メッセージの送受信を長時間繰り返すと，HiRDBで使用できるRDエリアの容量が徐々に減少します。RDエリアの容量が減少した場合は，再編成や使用中空きページの解放を行ない，容量を確保してください。再編成や使用中空きページの解放の方法については，マニュアル「HiRDB システム運用ガイド」を参照してください。

4.3.6　管理情報テーブルの一覧

Cosminexus RMの管理情報テーブルは，メッセージを格納するキューを保存するテーブルと管理情報を保存するテーブルによって構成されます。

管理情報テーブルを使用するのに必要な，構成情報（テーブルの個数，列数，行数，名称規則，可変長文字列数，データ長，データ型，キー名，キー長）について次の表に示します。

表4-2　管理情報テーブルの一覧（テーブルの個数，列数，行数，名称規則）

項番
種類
個数
列数※
行数
名称規則

1
システム管理情報テーブル
1
10
1
次に示す文字列を順に連結した名称です。

<RMSystemNameプロパティ指定値>

"_SYSTEMINFORMATION"

2
キュー情報テーブル
1
23
最大キュー数
次に示す文字列を順に連結した名称です。

<RMSystemNameプロパティ指定値>

"_QUEUEINFORMATION"

3
FIFO情報テーブル
1
21
最大キュー数と最大通信用グループ数の総数
次に示す文字列を順に連結した名称です。

<RMSystemNameプロパティ指定値>

"_FIFOINFORMATION"

4
あて先情報テーブル
1
7
最大あて先数
次に示す文字列を順に連結した名称です。

<RMSystemNameプロパティ指定値>

"_ADDRESS_MAPPING"

5
メッセージ情報テーブル
永続キュー属性のローカルキューまたは永続キュー属性の転送キューの最大キュー数
21
永続キュー属性のローカルキューの最大メッセージ数とスイーパ実行間隔内で登録される最大メッセージ数または永続キュー属性の転送キューの最大メッセージ数の総数
次に示す文字列を順に連結した名称です。

<RMSystemNameプロパティ指定値>

"_MSG_"

<キュー名>

6
共用キュー受信用メッセージ情報テーブル
受信用共用キューの最大キュー数
3
受信用共用キューの最大メッセージ数
次に示す文字列を順に連結した名称です。

<RMSystemNameプロパティ指定値>

"_SHR_"

<キュー名>

"MG"

7
共用キュー受信用ライト管理テーブル
受信用共用キューの最大キュー数
4
1
次に示す文字列を順に連結した名称です。

<RMSystemNameプロパティ指定値>

"_SHR_"

<キュー名>

"WT"

8
共用キュー受信用リード管理テーブル
受信用共用キューの最大キュー数
4
1
次に示す文字列を順に連結した名称です。

<RMSystemNameプロパティ指定値>

"_SHR_"

<キュー名>

"RD"

注※

列数の詳細については，表4-4を参照してください。

表4-3　管理情報テーブルの一覧（テーブルの可変長文字列数，データ長，データ型，キー名，キー長）

項番
種類
可変長文字列数※1
（VARCHAR≧256）
データ長（バイト）
データ型※2
キー名※3
キー長
（バイト）

1
システム管理情報テーブル
5
1024
既定義型
－
－

2
キュー情報テーブル
3
1024
QUEUE_NAME
32

3
FIFO情報テーブル
1または3
256または1024
FIFO_ID
256

4
あて先情報テーブル
3
1024
LOGICAL_ADDRESS
32

5
メッセージ情報テーブル
2または5
256または1024
FIFO_ID
256

SEQUENCE_NO
20

GROUP_NAME
256

GROUP_MESSAGE_NUMBER
20

6
共用キュー受信用メッセージ情報テーブル
0
0
MSG#
4

7
共用キュー受信用ライト管理テーブル
0
0
－
－

8
共用キュー受信用リード管理テーブル
0
0
－
－

（凡例）

－：該当しません。

注※1

HiRDBではVARCHAR型，OracleではVARCHAR2型となります。

注※2

データ型の詳細については，表4-4を参照してください。

注※3

キー名は一意にしてください。

データ型および列数の詳細を次に示します。

表4-4　管理情報テーブルの一覧（データ型および列数の詳細）

項番 | テーブル | HiRDBでのデータ型 | Oracleでのデータ型 | 列数
1 | システム管理情報テーブル | TIMESTAMP | DATE | 2
INTEGER | NUMBER(10) | 2
VARCHAR(128) | VARCHAR2(128) | 1
VARCHAR(1024) | VARCHAR2(1024) | 5
2 | キュー情報テーブル | TIMESTAMP | DATE | 2
INTEGER | NUMBER(10) | 6
VARCHAR(20) | VARCHAR2(20) | 6
VARCHAR(32) | VARCHAR2(32) | 4
VARCHAR(64) | VARCHAR2(64) | 1
VARCHAR(128) | VARCHAR2(128) | 1
VARCHAR(1024) | VARCHAR2(1024) | 3
3 | FIFO情報テーブル | TIMESTAMP | DATE | 2
INTEGER | NUMBER(10) | 4
VARCHAR(20) | VARCHAR2(20) | 8
VARCHAR(32) | VARCHAR2(32) | 1
VARCHAR(256) | VARCHAR2(256) | 1
VARCHAR(1024) | VARCHAR2(1024) | 3
BINARY(10000000) | BLOB | 2
4 | あて先情報テーブル | VARCHAR(16) | VARCHAR2(16) | 2
VARCHAR(32) | VARCHAR2(32) | 1
VARCHAR(512) | VARCHAR2(512) | 1
VARCHAR(1024) | VARCHAR2(1024) | 3
5 | メッセージ情報テーブル | INTEGER | NUMBER(10) | 4
VARCHAR(20) | VARCHAR2(20) | 8
VARCHAR(128) | VARCHAR2(128) | 1
VARCHAR(256) | VARCHAR2(256) | 2
VARCHAR(1024) | VARCHAR2(1024) | 5
BINARY(2147483647) | LONG RAW | 1
6 | 共用キュー受信用メッセージ情報テーブル | INTEGER | － | 1
BINARY(n)※ | － | 1
BINARY(512) | － | 1
7 | 共用キュー受信用ライト管理テーブル | INTEGER | － | 2
SMALLINT | － | 1
BINARY(256) | － | 1
8 | 共用キュー受信用リード管理テーブル | INTEGER | － | 1
SMALLINT | － | 1
BINARY(256) | － | 2

（凡例）

－：該当しません。

注※

nは，ユーザが受信用共用キュー作成時に指定したメッセージ長です。

＜この項の構成＞

(1)　管理情報テーブルの作成方法

(2)　管理情報テーブルの削除方法

(1)　管理情報テーブルの作成方法

管理情報テーブルを作成するには，SQLファイルまたはコマンドを実行します。管理情報テーブルの作成方法について，次の表に示します。

表4-5　管理情報テーブルの作成方法

項番 | 種類 | 作成方法
1 | システム管理情報テーブル | テーブル作成用SQLファイルを実行して作成します。管理情報テーブルの作成については，HiRDBの場合は「3.4.1(3)　Cosminexus RMの管理情報テーブルの作成」を，Oracleの場合は「3.4.2(3)　Cosminexus RMの管理情報テーブルの作成」を参照してください。
2 | キュー情報テーブル
3 | FIFO情報テーブル
4 | あて先情報テーブル
5 | メッセージ情報テーブル | hrmmkqueコマンド（-tオプションにlocalまたはtransmitを指定し，かつ-mオプションでpersistentを指定する場合）を実行して作成します。hrmmkqueコマンドについては，「8.3.17　hrmmkque（ローカルキューの作成）」および「8.3.20　hrmmkque（転送キューの作成）」を参照してください。
6 | 共用キュー受信用メッセージ情報テーブル | hrmmkqueコマンド（-tオプションにshr_receiveを指定する場合）を実行して作成します。hrmmkqueコマンドについては，「8.3.18　hrmmkque（受信用共用キューの作成）」を参照してください。
7 | 共用キュー受信用ライト管理テーブル
8 | 共用キュー受信用リード管理テーブル

(2)　管理情報テーブルの削除方法

管理情報テーブルを削除するには，SQLファイルまたはコマンドを実行します。管理情報テーブルの削除方法について，次の表に示します。

表4-6　管理情報テーブルの削除方法

項番 | 種類 | 削除方法
1 | システム管理情報テーブル | テーブル削除用SQLファイルを実行して削除します。管理情報テーブルの削除については，「4.3.2(1)　テーブル削除用SQLファイルの使用」を参照してください。
2 | キュー情報テーブル
3 | FIFO情報テーブル
4 | あて先情報テーブル
5 | メッセージ情報テーブル | hrmdelqueコマンドを実行して削除します。hrmdelqueコマンドについては，「8.3.8　hrmdelque（キューの削除）」を参照してください。
6 | 共用キュー受信用メッセージ情報テーブル
7 | 共用キュー受信用ライト管理テーブル
8 | 共用キュー受信用リード管理テーブル

4.3.7　アプリケーション認証によるDBアクセス設定

アプリケーション認証を使うと，Cosminexus RMの初期設定を行ったDBA権限を持つユーザ（DBAユーザ）以外のユーザ（一般ユーザ）も，Cosminexus RMにアクセスできるようになります。

アプリケーション認証を利用するには，DBに格納したCosminexus RMの管理情報テーブルごとに，一般ユーザに適切なアクセス権限を与える必要があります。

ユーザに与えるアクセス権限の種類を次の表に示します。

表4-7　アクセス権限の種類

項番 | アクセス権限の種類 | 説明
1 | SELECT権限 | テーブルの行を参照できる
2 | INSERT権限 | テーブルに行を追加できる
3 | DELETE権限 | テーブルから行を削除できる
4 | UPDATE権限 | テーブルの行を更新できる

(a)　HiRDBの場合

DBAユーザ権限を持つユーザ（DBAユーザ）が，アプリケーション認証によってCosminexus RMのテーブルにアクセスするユーザ（一般ユーザ）に権限を与えるには，次のSQL文を実行します。

GRANT CONNECT TO <一般ユーザ> IDENTIFIED BY <一般ユーザのパスワード>;
GRANT SELECT,INSERT,DELETE,UPDATE
ON <DBAユーザ>.<管理情報テーブル名> TO <一般ユーザ>;

ユーザ権限の設定に関する詳細は，マニュアル「HiRDB システム運用ガイド」を参照してください。

(b)　Oracleの場合

DBAユーザ権限を持つユーザ（DBAユーザ）が，アプリケーション認証によってCosminexus RMのテーブルにアクセスするユーザ（一般ユーザ）に権限を与えるには，次のSQL文を実行します。

CREATE USER <一般ユーザ> IDENTIFIED BY <一般ユーザのパスワード>;
GRANT SELECT,INSERT,DELETE,UPDATE
ON <DBAユーザ>.<管理情報テーブル名> TO <一般ユーザ>;

ユーザ権限の設定に関する詳細は，Oracleのマニュアルを参照してください。

4.4　PRFトレースファイルの運用（永続版リソースアダプタの場合）

CosminexusのPRFトレースファイルを利用して，Cosminexus RMの性能を解析できます。

PRFトレースファイルの運用方法，取得レベル，および編集について説明します。

＜この節の構成＞

4.4.1　PRFトレースファイルの運用方法

4.4.2　PRFトレースファイルの取得レベル

4.4.3　PRFトレースファイルの編集

4.4.1　PRFトレースファイルの運用方法

PRFトレースを取得するには，Cosminexus Performance Tracer（以降，パフォーマンストレーサと呼びます）をインストールしておく必要があります。パフォーマンストレーサは，J2EEサーバの起動に合わせて起動するため，Cosminexus運用管理ドメインやJ2EEサーバでの設定が必要となります。これらの設定はCosminexus Management Serverを利用して実施します。Cosminexus Management Serverでの設定手順を次に示します。なお，設定方法の詳細については，マニュアル「Cosminexus 運用管理操作ガイド」を参照してください。

パフォーマンストレーサの追加
Cosminexus運用管理ドメインで，パフォーマンストレーサを追加します。

パフォーマンストレーサの設定
論理サーバの環境設定で，パフォーマンストレーサの設定をします。

J2EEサーバで利用するパフォーマンストレーサの設定
論理サーバの環境設定で，J2EEサーバで利用するパフォーマンストレーサを選択します。

4.4.2　PRFトレースファイルの取得レベル

PRFトレースファイルの取得レベルには標準レベルと詳細レベルがあり，パフォーマンストレーサにPRFトレース取得レベルを設定できます。Cosminexus RMでは，標準レベルの場合，主にアプリケーションインタフェースでのトレース情報を取得し，詳細レベルの場合，さらに内部インタフェースのトレース情報を取得します。

PRFトレース取得レベルは，パフォーマンストレーサの起動中に任意のタイミングで変更できます。PRFトレース取得レベルの変更方法については，マニュアル「Cosminexus システム運用ガイド」を参照してください。

4.4.3　PRFトレースファイルの編集

PRFトレースはバイナリ形式で出力されるため，cprfedコマンドで編集する必要があります。cprfedコマンドの詳細については，マニュアル「Cosminexus リファレンス コマンド編」を参照してください。また，PRFトレースの出力については，「9.1.6　PRFトレース」を参照してください。

4.5　Cosminexus RM運用時の注意事項（永続版リソースアダプタの場合）

永続版リソースアダプタを使用する場合の，Cosminexus RMの運用時の注意事項について説明します。

＜この節の構成＞

4.5.1　Windows Vista使用時の注意事項

4.5.2　永続版リソースアダプタと非永続版リソースアダプタを切り替える場合の注意事項

4.5.3　Cosminexus RMが動作するマシンの時刻設定の注意事項

4.5.1　Windows Vista使用時の注意事項

Windows Vistaで，Cosminexus RMのシステムを構築，運用する場合の注意事項について説明します。

＜この項の構成＞

(1)　Cosminexus RMが提供するコマンド使用時の注意事項

(2)　JIS X0213:2004に含まれるUnicodeの補助文字を使用する場合の注意事項

(1)　Cosminexus RMが提供するコマンド使用時の注意事項

Cosminexus RMが提供するコマンドは，管理者特権で実行する必要があります。Cosminexus RMが提供するコマンドは，「管理者：コマンドプロンプト」で実行してください。

「管理者：コマンドプロンプト」は，Windows Vistaで提供されている機能を使用して起動してください。起動方法の例を次に示します。

［スタート］ボタンをクリックします。

［プログラム］－［アクセサリ］を選択します。

［コマンド プロンプト］を右クリックして，［管理者として実行］をクリックします。
管理者のパスワードまたは確認を求められた場合は，画面の指示に従って，パスワードを入力するか，または確認情報を提供してください。

(2)　JIS X0213:2004に含まれるUnicodeの補助文字を使用する場合の注意事項

Windows VistaでサポートされたJIS X0213:2004の第三水準および第四水準の文字の一部には，Unicodeの補助文字が含まれます。Unicodeの補助文字とは，基本多言語面以外の文字（UnicodeのコードポイントがU+10000～U+10FFFFの範囲の文字）のことです。UTF-16エンコーディングでは，サロゲートペアとして表されます。

Unicodeの補助文字を使用する場合の注意事項を次に示します。

(a)　リクエストで使用する場合の注意事項

Cosminexus RMに対して，Internet Explorer 7などのクライアントからUnicodeの補助文字を含むリクエストを送信した場合，Unicodeの補助文字は，ログやPRFトレースに正しく出力されません。ただし，その場合も，Unicodeの補助文字以外の文字は，ログやPRFトレースに正しく出力されます。

また，リクエストにUnicodeの補助文字が含まれる場合も，アプリケーションは正しく動作します。

リクエストでのUnicodeの補助文字の使用を制限したい場合には，アプリケーションでの対応などを検討してください。

(b)　環境構築／運用時の注意事項

Cosminexus RMのシステムを構築，運用する場合，およびアプリケーションやリソースをデプロイする場合に使用する定義に，Unicodeの補助文字は使用できません。

Unicodeの補助文字を使用できない定義の例を示します。

EAR，WAR，JAR，EJB-JAR，サーブレット，JSP，クラス，メソッド，引数，または変数の名称

DD内の各種定義

システムのインストール先の指定値

そのほか，各種定義ファイルの設定値

4.5.2　永続版リソースアダプタと非永続版リソースアダプタを切り替える場合の注意事項

永続版リソースアダプタから非永続版リソースアダプタに切り替える場合，または非永続版リソースアダプタから永続版リソースアダプタに切り替える場合，Cosminexusの提供するリソースアダプタバージョンアップコマンドによる更新はできません。永続版リソースアダプタと非永続版リソースアダプタを切り替えるには，切り替え前のリソースアダプタのアンデプロイ（cjundeployrar）とリソース削除（cjdeleteres）を実行し，新しく切り替え後のリソースアダプタのインポート（cjimportres）とデプロイ（cjdeployrar）を実行してください。

切り替え前のリソースアダプタで作成したキューや定義情報は，切り替え後のリソースアダプタで使用できません。切り替え後のリソースアダプタの仕様に従って再定義する必要があります。リソースアダプタの属性ファイル（Connector属性ファイル）は，切り替え後のリソースアダプタをJ2EEサーバにインポート（またはデプロイ）したあと，Cosminexusの属性ファイル取得／設定コマンドcjgetresprop／cjsetresprop（またはcjgetrarprop／cjsetrarprop）で設定し直してください。

Cosminexus RM 01-03より古い永続版リソースアダプタからCosminexus RM 01-03の非永続版リソースアダプタに切り替える場合，またはCosminexus RM 01-03より古い非永続版リソースアダプタからCosminexus RM 01-03の永続版リソースアダプタに切り替える場合，環境変数で設定しているHRMDIRのパスをCosminexus RM 01-03のインストールディレクトリに変更してください。また，環境変数のPATHに切り替え前の古いリソースアダプタのコマンド格納ディレクトリを指定している場合は，切り替え後の新しいインストールディレクトリのコマンド格納ディレクトリ（<Cosminexus RM 01-03インストールディレクトリ>¥bin）に変更してください。

4.5.3　Cosminexus RMが動作するマシンの時刻設定の注意事項

Cosminexus RMが動作するマシンの時刻を，NTPソフトなどを使用して進めたり戻したりしないでください。時刻を操作した場合の動作は保証されません。

5.　Cosminexus RM（非永続版リソースアダプタ）の運用

Cosminexus RMのアプリケーションを開始するには，あらかじめCosminexus RMを開始しておく必要があります。Cosminexus RMを停止するには，あらかじめアプリケーションを停止しておく必要があります。

この章では，非永続版リソースアダプタを使用する場合の，Cosminexus RMおよびアプリケーションの開始と停止，ローカルキューの運用などについて説明します。

＜この章の構成＞

5.1　Cosminexus RMとアプリケーションの開始と停止（非永続版リソースアダプタの場合）

5.2　ローカルキューの運用（非永続版リソースアダプタの場合）

5.3　PRFトレースファイルの運用（非永続版リソースアダプタの場合）

5.4　Cosminexus RM運用時の注意事項（非永続版リソースアダプタの場合）

5.1　Cosminexus RMとアプリケーションの開始と停止（非永続版リソースアダプタの場合）

非永続版リソースアダプタを使用する場合の，Cosminexus RMとアプリケーションの開始手順および停止手順について説明します。

＜この節の構成＞

5.1.1　Cosminexus RMの開始（非永続版リソースアダプタの場合）

5.1.2　アプリケーションの開始（非永続版リソースアダプタの場合）

5.1.3　Cosminexus RMの停止（非永続版リソースアダプタの場合）

5.1.4　Cosminexus RMの状態遷移（非永続版リソースアダプタの場合）

5.1.1　Cosminexus RMの開始（非永続版リソースアダプタの場合）

Cosminexus RMを開始するには，あらかじめプロパティのカスタマイズとデプロイを完了させている必要があります。詳細については，「3.5.3　Cosminexus RMのプロパティ定義（非永続版リソースアダプタの場合）」を参照してください。また，Cosminexus RMの開始時に使用するサーバ管理コマンドついては，マニュアル「Cosminexus アプリケーション設定操作ガイド」を参照してください。

Cosminexus RMを開始する手順を次に示します。

J2EEサーバの開始
CosminexusをJ2EEサーバモードの1.4モードで開始します。また，アプリケーションの要件に合わせて，必要なCosminexusのサービスを開始してください。

Cosminexus RMの開始
サーバ管理コマンドを使用して，リソースアダプタとしてCosminexus RMを開始します。

注意

非永続版リソースアダプタの場合，Cosminexus RMが正常に開始すると，実行状態になります。

非永続版リソースアダプタの場合，起動時にキュー作成ファイルの読み込みや解析で続行できないエラーが発生すると，閉塞状態で起動します。

Connector属性ファイルの<transaction-support>タグにLocalTransactionまたはNoTransactionを指定した場合，Cosminexus RMが開始状態になっても，実際には開始処理に失敗していることがあります。このときにアプリケーションを開始するとCosminexus RMがコネクションを取得する契機でエラーとなります。このため，Cosminexus RMが正常に開始していることをCosminexusのログメッセージで確認してください。Cosminexus RMが正常に開始している場合，ログメッセージとしてKFRM01009-Iが表示されます。

Cosminexus RMの開始中は，Cosminexus RMが使用しているキュー定義ファイルおよびキュー作成ファイルを削除したり，読み込みができなくなったりするようなアクセス権限の変更は行わないでください。

5.1.2　アプリケーションの開始（非永続版リソースアダプタの場合）

アプリケーションを開始するには，あらかじめCosminexus RMが開始されている必要があります。各手順で使用するサーバ管理コマンドおよび各属性ファイルの詳細については，マニュアル「Cosminexus アプリケーション設定操作ガイド」およびマニュアル「Cosminexus リファレンス 定義編」を参照してください。

アプリケーションを開始する手順を次に示します。

アプリケーションのインポート
サーバ管理コマンドを使用して，Cosminexus RMのアプリケーションをインポートします。

J2EEアプリケーションのプロパティ設定
テキストエディタを使って，Session Bean属性ファイル，Entity Bean属性ファイル，WAR属性ファイル，またはMessageDrivenBean属性ファイルを編集して，リソースアダプタのリファレンス定義，リソース環境のリファレンス定義およびメッセージ参照の設定項目を設定します。

アプリケーションの開始
サーバ管理コマンドを使用して，アプリケーションを開始します。

5.1.3　Cosminexus RMの停止（非永続版リソースアダプタの場合）

サーバ管理コマンドを使用して，アプリケーションを停止させてから，Cosminexus RMを停止させます。サーバ管理コマンドについては，マニュアル「Cosminexus アプリケーション設定操作ガイド」を参照してください。

Cosminexus RMを停止する手順を次に示します。

アプリケーションの停止
サーバ管理コマンドを使用して，アプリケーションを停止します。一つのCosminexus RMを利用する複数のアプリケーションがある場合はすべて停止します。

Cosminexus RMの停止
サーバ管理コマンドを使用して，Cosminexus RMを停止します。

J2EEサーバの停止
Cosminexusシステムを使用しない場合は，J2EEサーバとCosminexusのサービスを停止します。

5.1.4　Cosminexus RMの状態遷移（非永続版リソースアダプタの場合）

Cosminexusシステムにとって，Cosminexus RMには未デプロイ状態，デプロイ済み状態，およびリソースアダプタ開始状態の三つの状態があります。また，非永続版リソースアダプタを使用する場合，リソースアダプタ開始状態のCosminexus RMの内部状態として，実行状態，閉塞状態および開始中状態があります。なお，非永続版リソースアダプタには，管理状態はありません。

Cosminexus RMの状態について次に説明します。

実行状態

アプリケーションにサービスを提供する状態です。

閉塞状態

Cosminexus RM内部のメモリ状態不正などによって，処理の続行ができなくなった状態です。アプリケーションにサービスは提供されなくなります。

開始中状態

リソースアダプタを開始して，実行状態に移行するまでの一時的な状態です。

＜この項の構成＞

(1)　状態遷移

(1)　状態遷移

非永続版リソースアダプタを使用する場合のCosminexus RMの状態遷移について，次の図に示します。

図5-1　非永続版リソースアダプタを使用する場合のCosminexus RMの状態遷移

5.2　ローカルキューの運用（非永続版リソースアダプタの場合）

＜この節の構成＞

5.2.1　ローカルキューの操作方法

5.2.2　ローカルキューの状態遷移（非永続版リソースアダプタの場合）

5.2.1　ローカルキューの操作方法

Cosminexus RMの非永続版リソースアダプタを開始すると，キュー作成ファイルを基にローカルキューが作成されます。Cosminexus RMが実行状態に移行すると，メッセージの送受信ができます。

非永続版リソースアダプタを使用する場合のローカルキューの操作について次に説明します。

キューの追加，削除，および属性変更をする場合
キュー作成ファイルを編集し，Cosminexus RMを再起動してください。非永続版リソースアダプタでは非永続キューだけを提供するため，Cosminexus RMを再起動するとすべてのメッセージがなくなります。キュー作成ファイルの詳細については，「3.5.1　キュー作成ファイルの作成」を参照してください。

キュー情報の表示，メッセージの表示，メッセージの削除をする場合
次に示すコマンドを実行してください。コマンドの詳細については，「8.　コマンドリファレンス」を参照してください。

hrmlsque（キュー情報の表示）

hrmlsmsg（メッセージの表示）

hrmdelmsg（メッセージの削除）

5.2.2　ローカルキューの状態遷移（非永続版リソースアダプタの場合）

キューには，通常状態，抑止状態（一部抑止状態および完全抑止状態）があります。キューの抑止状態は，特定のキューに対してメッセージの送受信を抑止する場合などに利用します。

キューの状態について次に説明します。

通常状態

正常に使用できる状態です。

一部抑止状態

メッセージの送受信が一部抑止されている状態です。指定するキューの種類によって，抑止される形態が異なります。キューの種類と抑止される形態については，「8.3.27(3)　オプション」を参照してください。

完全抑止状態

メッセージの送受信が完全に抑止されている状態です。指定するキューの種類に応じて，抑止できる形態をすべて抑止します。

キューの状態遷移を次の図に示します。

図5-2　キューの状態遷移

5.3　PRFトレースファイルの運用（非永続版リソースアダプタの場合）

CosminexusのPRFトレースファイルを利用して，Cosminexus RMの性能を解析できます。

PRFトレースを取得するには，Cosminexus Performance Tracer（以降，パフォーマンストレーサと呼びます）をインストールしておく必要があります。パフォーマンストレーサは，J2EEサーバの起動に合わせて起動するため，Cosminexus運用管理ドメインやJ2EEサーバでの設定が必要となります。これらの設定はCosminexus Management Serverを利用して実施します。設定手順，および設定内容の詳細については，「4.4　PRFトレースファイルの運用（永続版リソースアダプタの場合）」を参照してください。

5.4　Cosminexus RM運用時の注意事項（非永続版リソースアダプタの場合）

非永続版リソースアダプタを使用する場合の，Cosminexus RMの運用時の注意事項について説明します。

＜この節の構成＞

5.4.1　Windows Vista使用時の注意事項

5.4.2　永続版リソースアダプタと非永続版リソースアダプタを切り替える場合の注意事項

5.4.3　Cosminexus RMが動作するマシンの時刻設定の注意事項

5.4.1　Windows Vista使用時の注意事項

Windows Vistaで，Cosminexus RMのシステムを構築，運用する場合の注意事項について説明します。

＜この項の構成＞

(1)　Cosminexus RMが提供するコマンド使用時の注意事項

(2)　JIS X0213:2004に含まれるUnicodeの補助文字を使用する場合の注意事項

(1)　Cosminexus RMが提供するコマンド使用時の注意事項

Cosminexus RMが提供するコマンドは，管理者特権で実行する必要があります。Cosminexus RMが提供するコマンドは，「管理者：コマンドプロンプト」で実行してください。

「管理者：コマンドプロンプト」は，Windows Vistaで提供されている機能を使用して起動してください。起動方法の例を次に示します。

［スタート］ボタンをクリックします。

［プログラム］－［アクセサリ］を選択します。

［コマンド プロンプト］を右クリックして，［管理者として実行］をクリックします。
管理者のパスワードまたは確認を求められた場合は，画面の指示に従って，パスワードを入力するか，または確認情報を提供してください。

(2)　JIS X0213:2004に含まれるUnicodeの補助文字を使用する場合の注意事項

Windows VistaでサポートされたJIS X0213:2004の第三水準および第四水準の文字の一部には，Unicodeの補助文字が含まれます。Unicodeの補助文字とは，基本多言語面以外の文字（UnicodeのコードポイントがU+10000～U+10FFFFの範囲の文字）のことです。UTF-16エンコーディングでは，サロゲートペアとして表されます。

Unicodeの補助文字を使用する場合の注意事項を次に示します。

(a)　リクエストで使用する場合の注意事項

Cosminexus RMに対して，Internet Explorer 7などのクライアントからUnicodeの補助文字を含むリクエストを送信した場合，Unicodeの補助文字は，ログやPRFトレースに正しく出力されません。ただし，その場合も，Unicodeの補助文字以外の文字は，ログやPRFトレースに正しく出力されます。

また，リクエストにUnicodeの補助文字が含まれる場合も，アプリケーションは正しく動作します。

リクエストでのUnicodeの補助文字の使用を制限したい場合には，アプリケーションでの対応などを検討してください。

(b)　環境構築／運用時の注意事項

Cosminexus RMのシステムを構築，運用する場合，およびアプリケーションやリソースをデプロイする場合に使用する定義に，Unicodeの補助文字は使用できません。

Unicodeの補助文字を使用できない定義の例を示します。

EAR，WAR，JAR，EJB-JAR，サーブレット，JSP，クラス，メソッド，引数，または変数の名称

DD内の各種定義

システムのインストール先の指定値

そのほか，各種定義ファイルの設定値

5.4.2　永続版リソースアダプタと非永続版リソースアダプタを切り替える場合の注意事項

永続版リソースアダプタから非永続版リソースアダプタに切り替える場合，または非永続版リソースアダプタから永続版リソースアダプタに切り替える場合，Cosminexusの提供するリソースアダプタバージョンアップコマンドによる更新はできません。永続版リソースアダプタと非永続版リソースアダプタを切り替えるには，切り替え前のリソースアダプタのアンデプロイ（cjundeployrar）とリソース削除（cjdeleteres）を実行し，新しく切り替え後のリソースアダプタのインポート（cjimportres）とデプロイ（cjdeployrar）を実行してください。

切り替え前のリソースアダプタで作成したキューや定義情報は，切り替え後のリソースアダプタで使用できません。切り替え後のリソースアダプタの仕様に従って再定義する必要があります。リソースアダプタの属性ファイル（Connector属性ファイル）は，切り替え後のリソースアダプタをJ2EEサーバにインポート（またはデプロイ）したあと，Cosminexusの属性ファイル取得／設定コマンドcjgetresprop／cjsetresprop（またはcjgetrarprop／cjsetrarprop）で設定し直してください。

Cosminexus RM 01-03より古い永続版リソースアダプタからCosminexus RM 01-03の非永続版リソースアダプタに切り替える場合，またはCosminexus RM 01-03より古い非永続版リソースアダプタからCosminexus RM 01-03の永続版リソースアダプタに切り替える場合，環境変数で設定しているHRMDIRのパスをCosminexus RM 01-03のインストールディレクトリに変更してください。また，環境変数のPATHに切り替え前の古いリソースアダプタのコマンド格納ディレクトリを指定している場合は，切り替え後の新しいインストールディレクトリのコマンド格納ディレクトリ（<Cosminexus RM 01-03インストールディレクトリ>¥bin）に変更してください。

5.4.3　Cosminexus RMが動作するマシンの時刻設定の注意事項

Cosminexus RMが動作するマシンの時刻を，NTPソフトなどを使用して進めたり戻したりしないでください。時刻を操作した場合の動作は保証されません。

6.　コンフィグレーションプロパティ

Cosminexus RMおよびDB Connector for Cosminexus RMを開始するには，ユーザの環境に合わせてコンフィグレーションプロパティを設定する必要があります。

この章では，Cosminexus RMおよびDB Connector for Cosminexus RMのコンフィグレーションプロパティの詳細について説明します。

＜この章の構成＞

6.1　Cosminexus RMのコンフィグレーションプロパティの一覧

6.2　Cosminexus RMのコンフィグレーションプロパティの詳細説明

6.3　DB Connector for Cosminexus RMのコンフィグレーションプロパティの一覧

6.1　Cosminexus RMのコンフィグレーションプロパティの一覧

コンフィグレーションプロパティはCosminexus RMの動作内容を指定するプロパティです。プロパティを定義したら，サーバ管理コマンドを使用して，Cosminexus RMをインポートします。そのあと，プロパティを設定します。プロパティ定義の詳細については，永続版リソースアダプタの場合は「3.4.5　Cosminexus RMのプロパティ定義（永続版リソースアダプタの場合）」を，非永続版リソースアダプタの場合は「3.5.3　Cosminexus RMのプロパティ定義（非永続版リソースアダプタの場合）」を参照してください。

Cosminexus RMが提供するコンフィグレーションプロパティの一覧について，次の表に示します。

表6-1　Cosminexus RMのコンフィグレーションプロパティの一覧

項番 | プロパティ名 | 設定内容 | 永続版リソースアダプタでの指定 | 非永続版リソースアダプタでの指定
1 | RMSystemName | システム名 | ◎ | ◎
2 | RMLinkedDBConnectorName | 連携するDB Connectorの表示名 | ◎ | ×
3 | QueueMakeFileName | キュー作成ファイルの場所 | × | ◎
4 | QueueConfigFileName | キュー定義ファイルの場所 | ○※1 | ○※1
5 | RMDeadMessageQueueName | デッドメッセージキュー名 | ○ | ×
6 | RMWaitRestoration | キュー定義ファイル未使用時のCosminexus RM開始時の復元完了待ち合わせの有無 | ○※2 | ×
7 | RMStartTimeout | Cosminexus RM開始処理のタイムアウト時間（無限待ちの回避） | ○※3 | ×
8 | RMAssociateJDBCFlag | DB Connectorとのコネクション共有の利用有無 | ○ | ×
9 | RMSweepTimerInterval | メッセージ削除処理の実行間隔 | ○ | ○
10 | RMDeleteMessageImmediately | メッセージ即時削除の利用有無 | ○ | ×
11 | RMPassByReference | メッセージ送受信時の参照渡し方式の利用の有無 | ○ | ○
12 | RMMaxDeliveryNum | 配送回数の最大値 | ○ | ○
13 | RMMethodTraceLevel | メソッドトレースの出力レベル | ○ | ○
14 | RMLineTraceLevel | 回線トレースの出力レベル | ○ | ×
15 | RMLogTraceFileNum | トレースファイルの最大面数 | ○ | ○
16 | RMLogTraceFileSize | トレースファイルのファイルサイズ | ○ | ○
17 | RMSHConnectFlag | 共用キューを使用して複数システム間でのアプリケーション連携をする場合の受信用共用キューの有無 | ○ | ×
18 | RMSHPort | 共用キューを使用して複数システム間でのアプリケーション連携をする場合のイベント受信用ポート番号 | ○※4 | ×
19 | RMSHRecoveryTimerInterval | 共用キューを使用して複数システム間でのアプリケーション連携をする場合のリカバリスレッド監視間隔 | ○※4 | ×
20 | RMTRConnectFlag | キュー間転送の使用有無 | ○ | ×
21 | RMTRSendThreadNum | 送信スレッドの起動数 | ○※5 | ×
22 | RMTRResendInterval1Num | 再送間隔1での再送回数 | ○※5 | ×
23 | RMTRResendInterval1 | 再送間隔1 | ○※5 | ×
24 | RMTRResendInterval2 | 再送間隔2 | ○※5 | ×
25 | RMTRResendTimerInterval | 再送タイマ監視間隔 | ○※5 | ×
26 | RMTRPendingNotifyInterval | 滞留メッセージの監視時間 | ○※5 | ×
27 | RMTRTransferControlDir | クライアント定義ファイルが格納されているディレクトリのパス | ○※5 | ×
28 | RMAutoDeleteMessage | デッドメッセージキュー未使用時の無効メッセージ自動削除の有無 | ○ | ×

（凡例）

◎：必ず指定します。

○：必要に応じて指定します。

×：指定不要です。

注※1

キュー定義ファイルを使用する場合，QueueConfigFileNameプロパティは必須です。キュー定義ファイルを使用しない場合は，QueueConfigFileNameプロパティを省略するか，プロパティの値を空にしてください。

注※2

キュー定義ファイルを使用する場合，RMWaitRestorationプロパティは無視されます。

注※3

キュー定義ファイルを使用する場合，またはRMWaitRestorationプロパティにfalseを指定する場合，RMStartTimeoutプロパティは無視されます。

注※4

RMSHConnectFlagプロパティにfalseを指定する場合，これらのプロパティは無視されます。

注※5

RMTRConnectFlagプロパティにfalseを指定する場合，これらのプロパティは無視されます。

6.2　Cosminexus RMのコンフィグレーションプロパティの詳細説明

各コンフィグレーションプロパティの詳細について説明します。

＜この節の構成＞

(1)　RMSystemName ＝ システム名

(2)　RMLinkedDBConnectorName = 連携するDB Connectorの表示名

(3)　QueueMakeFileName = キュー作成ファイルの場所

(4)　QueueConfigFileName = キュー定義ファイルの場所

(5)　RMDeadMessageQueueName ＝ デッドメッセージキュー名

(6)　RMWaitRestoration = Cosminexus RM開始時の復元完了待ち合わせの有無

(7)　RMStartTimeout = Cosminexus RM開始処理のタイムアウト時間

(8)　RMAssociateJDBCFlag=DB Connectorとのコネクション共有機能の使用有無

(9)　RMSweepTimerInterval ＝ メッセージ削除処理の実行間隔

(10)　RMDeleteMessageImmediately = メッセージ即時削除の利用有無

(11)　RMPassByReference = メッセージ送受信時の参照渡し方式の利用の有無

(12)　RMMaxDeliveryNum = 配送回数の最大値

(13)　RMMethodTraceLevel = メソッドトレースの出力レベル

(14)　RMLineTraceLevel = 回線トレースの出力レベル

(15)　RMLogTraceFileNum = トレースファイルの最大面数

(16)　RMLogTraceFileSize = トレースファイルのファイルサイズ

(17)　RMSHConnectFlag = 共用キューを使用して複数システム間でのアプリケーション連携をする場合の受信用共用キューの有無

(18)　RMSHPort = 共用キューを使用して複数システム間でのアプリケーション連携をする場合のイベント受信用ポート番号

(19)　RMSHRecoveryTimerInterval = 共用キューを使用して複数システム間でのアプリケーション連携をする場合のリカバリスレッド監視間隔

(20)　RMTRConnectFlag=キュー間転送の使用有無

(21)　RMTRSendThreadNum=送信スレッドの起動数

(22)　RMTRResendInterval1Num=再送間隔1での再送回数

(23)　RMTRResendInterval1=再送間隔1

(24)　RMTRResendInterval2 = 再送間隔2

(25)　RMTRResendTimerInterval = 再送タイマ監視間隔

(26)　RMTRPendingNotifyInterval = 滞留メッセージの監視時間

(27)　RMTRTransferControlDir = クライアント定義ファイルが格納されているディレクトリのパス

(28)　RMAutoDeleteMessage = デッドメッセージキュー未使用時の無効メッセージ自動削除の有無

(1)　RMSystemName ＝ システム名

　～＜先頭が英字の1～3文字の大文字英字または数字：java.lang.String＞

Cosminexus RMが連携するシステム全体で一意なシステム名を指定します。このプロパティは必須です。

このプロパティの指定がない場合や空白を指定している場合，Cosminexus RMの開始時にエラーが発生します。

(2)　RMLinkedDBConnectorName = 連携するDB Connectorの表示名

　～＜文字列：java.lang.String＞((1～128))

連携するDB Connectorの表示名を指定します。このプロパティは必須です。

プロパティが省略された場合や，プロパティに指定した表示名のDB Connectorが起動していない場合，起動に失敗します。

(3)　QueueMakeFileName = キュー作成ファイルの場所

　～＜文字列：java.lang.String＞

キュー作成ファイル名を絶対パスで指定します。非永続版リソースアダプタではこのプロパティは必須です。永続版リソースアダプタではこのプロパティは指定不要です。

非永続版リソースアダプタでこのプロパティの指定がない場合，または指定したキュー作成ファイルの読み取りに失敗した場合，Cosminexus RMの開始時にエラーが発生します。

キュー作成ファイルの詳細については，「3.5.1　キュー作成ファイルの作成」を参照してください。

(4)　QueueConfigFileName = キュー定義ファイルの場所

　～＜文字列：java.lang.String＞

キュー定義ファイル名を絶対パスで指定します。

このプロパティは，キュー定義ファイルを使用する場合は必須です。キュー定義ファイルを使用しない場合はこのプロパティを省略するか，プロパティの値を空にしてください。

キュー定義ファイルを使用しない場合，キュー作成時に指定した表示名に従って生成されたキューの識別名がJNDIネーミングサービスに登録されます。

指定したキュー定義ファイルの読み取りに失敗した場合，Cosminexus RMの開始時にエラーが発生します。

キュー定義ファイルの詳細については，永続版リソースアダプタの場合，「3.4.4　キュー定義ファイルの作成（永続版リソースアダプタの場合）」を参照してください。非永続版リソースアダプタの場合，「3.5.2　キュー定義ファイルの作成（非永続版リソースアダプタの場合）」を参照してください。

(5)　RMDeadMessageQueueName ＝ デッドメッセージキュー名

　～＜1～20文字の識別子：java.lang.String＞

デッドメッセージキューを使用する場合に，デッドメッセージキューとして使用するローカルキュー名を指定します。ローカルキュー以外のキュー名を指定する場合，Cosminexus RMの開始時にエラーが発生します。このプロパティの指定がない場合，または存在しないキュー名を指定した場合，デッドメッセージキューを使用できません。デッドメッセージキューとして使用するキューは，ユーザがhrmmkqueコマンドでローカルキューとして作成してください。

なお，このプロパティを変更して別のローカルキューをデッドメッセージキューにする場合，変更前のデッドメッセージキューに格納されているメッセージをすべて削除してください。

キュー間転送では，転送できなかったメッセージは転送キューに蓄積されます。転送キュー内のメッセージが格納できる最大メッセージ数に達すると，転送キュー内のメッセージが減らないかぎり，新たにメッセージを転送キューに格納し送信できなくなります。

デッドメッセージキューを使用すると，転送できなかったメッセージを削除処理のタイミングで転送キューからデッドメッセージキューに移動できます。これによって，転送キューがいっぱいになるのを防止できます。

(6)　RMWaitRestoration = Cosminexus RM開始時の復元完了待ち合わせの有無

　～＜java.lang.Boolean＞((true｜false))《true》

キュー定義ファイルを使用しない場合に，Cosminexus RMを開始するときに非同期に実行する復元処理（DBに格納されているキュー情報を読み込みキューを復元すること）が完了するまで，Cosminexus RMの開始を待ち合わせるかどうかを指定します。

キュー定義ファイルを使用する場合，このプロパティは無視されます。

非永続版リソースアダプタの場合，Cosminexus RMの開始処理と復元処理を同期で実行しているためこのプロパティは使用しません。

このプロパティにtrueを指定した場合，復元処理の完了を待ち合わせてCosminexus RMを開始します。falseを指定した場合，復元処理の完了を待ち合わせないでCosminexus RMを開始します。

このプロパティにtrueを指定した場合，Cosminexus RMの開始を待ち合わせることにより，次のような影響があります。

Cosminexus RMとアプリケーションが開始している状態でCosminexusを再起動したときに，DBからの復元処理に時間が掛かるとアプリケーションの開始処理の完了が遅くなります。

Cosminexusが開始している状態で，Cosminexus RMを開始するときに，Cosminexus RMの復元処理に時間が掛かると，リソースアダプタの開始コマンドがタイムアウトすることがあります。

DBほか関連リソースにアクセスできないなど，Cosminexus RMが正常に開始完了（非閉塞状態で開始し，KFRM01009-Iメッセージが出力される）できない環境でCosminexus RMを開始すると，次のような現象が発生します。

表6-2　Cosminexus RMを正常に開始完了できない環境で発生する現象

トランザクションサポートレベル
Cosminexus RMの開始時の環境

Cosminexus再起動の延長の場合
Cosminexus起動状態の場合

XATransaction
関連リソースに正常アクセスできるまで，またはRMStartTimeoutで指定した値に到達し開始処理のリトライがタイムアウトするまで，Cosminexus の開始処理が完了しません。
Cosminexus RMの開始処理が失敗します。

LocalTransaction,
NoTransaction
関連リソースに正常アクセスできるまで，またはRMStartTimeoutで指定した値に到達し開始処理のリトライがタイムアウトするまで，Cosminexusの開始処理が完了しません。
関連リソースに正常アクセスできるまで，またはRMStartTimeoutで指定した値に到達し開始処理のリトライがタイムアウトするまで，Cosminexus RMの開始処理が完了しません。

CosminexusまたはCosminexus RMの開始を待っている状態で，開始処理を中断する場合は，cjstopsvコマンドに-fオプションを指定してJ2EEサーバを強制停止してください。cjstopsvコマンドについては，マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

このプロパティにfalseを指定した場合，タイミングによって次の現象が発生します。

Cosminexus RMを利用するアプリケーションがJNDIネーミングサービスからキューをルックアップするときに，ルックアップに失敗します（ただし，Message-driven Bean（MDB）を除きます）。なお，次の二つの条件を満たしている場合，アプリケーション開始時にキューのルックアップを実行します。

Stateless Session Beanでインスタンスプールの最小値が1以上である

ejbCreate()メソッド内でキューのルックアップ処理を実装，またはEJBのアノテーション機能によってキューを定義している

これらの条件を満たしている場合にキューのルックアップに失敗したときは，アプリケーションの開始が失敗しますので注意してください。
ルックアップについては，マニュアル「Cosminexus 機能解説」のJNDI名前空間とルックアップについての記述を参照してください。
Stateless Session Beanについては，マニュアル「Cosminexus 機能解説」を参照してください。
アノテーション機能については，マニュアル「Cosminexus 機能解説」を参照してください。

Cosminexus RMを利用するアプリケーションを開始するときに，表示名に対応したキュー名を正しく取得できずにエラーとなり，アプリケーションの開始に失敗します。

このプロパティは省略できます。

(7)　RMStartTimeout = Cosminexus RM開始処理のタイムアウト時間

　～＜数字：java.lang.Integer＞((0～600))《60》（単位：秒）

このプロパティを設定することで，Cosminexus RMの開始処理を待ち合わせる場合，タイムアウトが発生するまで待つことを避けることができます。

非永続版リソースアダプタの場合，開始処理でリトライするエラー要因がないため，このプロパティは使用しません。

Cosminexus RMの開始時に非同期に実行する復元処理（DBに格納されているキュー情報を読み込みキューを復元すること）が完了するまでCosminexus RMの開始を待ち合わせる場合，開始処理失敗時のリトライをタイムアウトする時間を指定します。このプロパティは，RMWaitRestorationプロパティがtrueで，かつキュー定義ファイルを使用しないときにだけ有効となります。それ以外のとき，このプロパティの設定値は無視されタイムアウトしません。

このプロパティの値は，Cosminexus RMやCosminexus RMを利用するアプリケーションを開始する場合，実行するコマンドなどがタイムアウトする時間よりも小さい値を指定することをお勧めします。値に0を指定したとき，Cosminexus RMの開始処理はタイムアウトしないため，開始処理が正常に完了する（非閉塞状態で開始し，KFRM01009-Iメッセージが出力される）まで待ち合わせます。

なお，実際にタイムアウトする時間は，指定した値よりも数秒遅れることがあります。

タイムアウト後，Cosminexus RMは開始処理のリトライを中止し，システム閉塞状態で開始するため，Cosminexus RM開始の待ち合わせは解除されます。この場合，CosminexusまたはCosminexus RMを停止し，正しい設定・環境で再度Cosminexus RMを開始してください。

Cosminexus RMが開始処理に失敗しリトライするエラー要因を次の表に示します。

表6-3　Cosminexus RMが開始処理に失敗しリトライするエラー要因

トランザクションサポートレベル
Cosminexus RMの開始時の環境

Cosminexus再起動の延長の場合
Cosminexus起動状態の場合

XATransaction

DB停止しているなど一時的な障害

Cosminexus再起動前と再起動後で接続先DBのIPアドレスが変更されるような場合

リトライするエラー要因はありません

LocalTransaction,
NoTransaction

DB停止しているなど一時的な障害

DB接続に関する設定の誤り（ユーザ名・パスワードの不正など）

DB停止しているなど一時的な障害

DB接続に関する設定の誤り（ユーザ名・パスワードの不正など）

このプロパティは省略できます。

(8)　RMAssociateJDBCFlag=DB Connectorとのコネクション共有機能の使用有無

　～＜java.lang.Boolean＞((true｜false))《true》

DB Connectorとのコネクション共有機能を使用するかどうかを指定します。

DB Connectorとのコネクション共有機能を使用する場合はtrue，使用しない場合はfalseを指定します。このプロパティがtrueの場合，非永続キューだけを利用していても，DBに対してトランザクション命令を発行します。非永続キューだけを利用する場合はfalseを指定します。ただし，このプロパティをfalseに設定すると，連携するDB Connectorのコネクションは取得できないため，注意してください。

また，このプロパティをfalseに設定してHiRDBをXATransactionモードで利用する場合は，DB Connectorのステートメントプールを利用しないでください。

(9)　RMSweepTimerInterval ＝ メッセージ削除処理の実行間隔

　～＜数字：java.lang.Integer＞((60～86400))《600》（単位：秒）

メッセージの削除処理を実行する間隔を指定します。

キューに登録されたメッセージをアプリケーションが読み出したときや，キュー上のメッセージが有効期間に達したとき，その時点ではメッセージは削除されません。RMSweepTimerIntervalプロパティ指定値の間隔で実行されるメッセージ削除処理によって削除されます。

永続版リソースアダプタの場合
指定値が大き過ぎるとメモリ使用量やDBのエリア使用量が増加し，小さ過ぎるとDBアクセスが増加するので注意してください。また，転送キューを利用する場合，転送に成功したメッセージはメッセージ削除処理によって削除されるまでキューに格納されたままなので，指定値を大きくし過ぎないように注意してください。

非永続版リソースアダプタの場合
指定値が大き過ぎるとメモリ使用量が増加し，小さ過ぎるとDBアクセス頻度に関係なくCPUに負荷の掛かる頻度が高くなります。

このプロパティは省略できます。

(10)　RMDeleteMessageImmediately = メッセージ即時削除の利用有無

　～＜java.lang.Boolean＞((true｜false))《false》

メッセージの取り出しで，キュー内のメッセージを配信済みの状態にしないで，すぐに削除するかどうかを指定します。

非永続版リソースアダプタの場合，即時削除だけを使用できます。遅延削除は使用できないためこのプロパティは使用しません。

メッセージをすぐに削除する場合はtrueを指定します。RMSweepTimerIntervalプロパティで指定した間隔で定期的に削除する場合はfalseを指定します。

このプロパティがtrueの場合，取り出し時にメッセージを削除するため，永続キューのスループットが低下するおそれがありますが，一時的なメモリ使用量を削減できます。なお，有効期限切れのメッセージはRMSweepTimerIntervalプロパティで指定した間隔で定期的に削除されます。

次のメッセージがこのプロパティの対象になります。

アプリケーションからローカルキューに登録されたメッセージ

デッドメッセージキューに登録されたメッセージ

即時削除・遅延削除の詳細については，「2.3.4　メッセージの削除」を参照してください。

(11)　RMPassByReference = メッセージ送受信時の参照渡し方式の利用の有無

　～＜java.lang.Boolean＞((true｜false))《false》

メッセージの送受信時に，参照渡し方式を利用するかどうかを設定します。

メッセージの参照渡し方式を利用する場合はtrueを指定します。利用しない場合はfalseを指定します。このプロパティがtrueの場合，アプリケーションがCosminexus RMと同じメッセージのインスタンスを参照するため，高速にメッセージを送受信できます。

ただし，このプロパティをtrueに指定するとき，アプリケーション側でメッセージ送受信後にメッセージオブジェクトに対する変更や再利用はできません。これらの動作を行った場合，メッセージオブジェクトに対するメソッドの処理結果は保証できないため，注意してください。詳細は「2.6.7(10)　参照渡し方式利用時のJMSメッセージの再利用」を参照してください。

(12)　RMMaxDeliveryNum = 配送回数の最大値

　～＜数字：java.lang.Integer＞((0～512))《10》

Cosminexus RMから受信側アプリケーションへのメッセージの配送回数の最大値を指定します。0を指定したときメッセージは無制限に再配送されます。

メッセージ配送中にQueueSession.recover()メソッドが発行されるかトランザクションがロールバックされると，このプロパティの回数内でメッセージは再配送の対象となります。

永続版リソースアダプタの場合
配送回数の最大値に達したとき，デッドメッセージキューがあればメッセージはデッドメッセージキューに移動されます。ただし，次に示すとき，メッセージは元のキューに戻されます。

デッドメッセージキューがないとき

デッドメッセージキューの最大メッセージ数を超えるとき

なお，メッセージの配送回数はDBによって永続化されないため，Cosminexus RMを再度開始したときには0に戻ります。

非永続版リソースアダプタの場合
配送回数の最大値を超えて配送されたメッセージは，デッドメッセージキューに移動されないで削除されます。

(13)　RMMethodTraceLevel = メソッドトレースの出力レベル

　～＜数字：java.lang.Integer＞((1～5))《1》

Cosminexus RMが出力するメソッドトレースの出力レベルを指定します。範囲外の値を指定した場合はデフォルト値が設定されます。

各レベルの出力情報については，「9.1.3　メソッドトレース」を参照してください。

(14)　RMLineTraceLevel = 回線トレースの出力レベル

　～＜数字：java.lang.Integer＞((1～5))《3》

Cosminexus RMが出力する回線トレースのトレースの出力レベルを指定します。範囲外の値を指定した場合はデフォルト値が設定されます。

各レベルの出力情報については，「9.1.5　回線トレース」を参照してください。

(15)　RMLogTraceFileNum = トレースファイルの最大面数

　～＜数字：java.lang.Integer＞((2～16))《2》

Cosminexus RMが出力するトレースファイル共通の出力ファイルの最大面数を指定します。範囲外の値を指定した場合はデフォルト値が設定されます。

(16)　RMLogTraceFileSize = トレースファイルのファイルサイズ

　～＜数字：java.lang.Integer＞((4096～2147483647))《2097152》（単位：バイト）

Cosminexus RMが出力するトレースファイル共通のファイル1面当たりの最大のファイルサイズを指定します。範囲外の値を指定した場合はデフォルト値が設定されます。

(17)　RMSHConnectFlag = 共用キューを使用して複数システム間でのアプリケーション連携をする場合の受信用共用キューの有無

　～＜java.lang.Boolean＞((true｜false))《false》

共用キューを使用して複数システム間でのアプリケーション連携をする場合の受信用共用キューの有無を指定します。

共用キューを使用して複数システム間でのアプリケーション連携をする場合に自システムで受信用共用キューを使用するときはtrue，使用しないときはfalseを指定します。

Cosminexus RMが接続するDBの種別がOracleの場合にtrueを指定すると，開始処理に失敗します。

このプロパティにfalseを設定した場合，次に示す機能は使用できません。

イベント受信機能

リカバリスレッド機能

受信用共用キューに対するメッセージの登録および取り出し

受信用共用キューに対するメッセージの参照および削除

受信用共用キューからデッドメッセージキューに移動したメッセージの再登録

(18)　RMSHPort = 共用キューを使用して複数システム間でのアプリケーション連携をする場合のイベント受信用ポート番号

　～＜数字：java.lang.Integer＞((1024～65535))《20351》

共用キューを使用して複数システム間でのアプリケーション連携をする場合のイベント受信用のポート番号を指定します。

(19)　RMSHRecoveryTimerInterval = 共用キューを使用して複数システム間でのアプリケーション連携をする場合のリカバリスレッド監視間隔

　～＜数字：java.lang.Integer＞((5～300))《60》（単位：秒）

共用キューを使用して複数システム間でのアプリケーション連携をする場合に動作する，リカバリスレッドの監視間隔を指定します。リカバリスレッドについては，「2.6.4　共用キューでのメッセージ受信時の処理の流れ」を参照してください。

このプロパティの指定値が大き過ぎると未処理のメッセージが滞留することがあり，小さ過ぎるとDBアクセスが増加するので注意してください。

(20)　RMTRConnectFlag=キュー間転送の使用有無

　～＜java.lang.Boolean＞((true｜false))《false》

キュー間転送を使用するかどうかを指定します。キュー間転送を使用する場合はtrueを，使用しない場合はfalseを指定します。キュー間転送を使用したメッセージの送受信を行う場合，trueを指定してください。

このプロパティをtrueに設定してHiRDBをXATransactionモードで利用する場合は，DB Connectorのステートメントプールを利用しないでください。また，このプロパティにtrueを設定してCosminexus RMを動作させる場合は，SOAP通信基盤を標準モードで動作させてください。

このプロパティにfalseを設定した場合，次に示す内容は実行できません。

キュー間転送およびキュー間転送によるメッセージの受信

転送キューへのメッセージの登録

このプロパティがtrueのときに転送キューから受信したメッセージの削除

転送キューからデッドメッセージキューに移動したメッセージの再登録

次に示すコマンドの実行（引数に転送キューを指定）

hrmmkque（キューの作成）

hrmdelque（キューの削除）

hrmlsque（キュー情報の表示）

hrmchgque（キューの属性変更）

hrmlsmsg（メッセージの表示）

hrmdelmsg（メッセージの削除）

hrmstopque（キューの抑止）

hrmstoptrs（送受信抑止）

次に示すコマンドの実行

hrmmkaddr（あて先登録）

hrmdeladdr（あて先削除）

hrmlsaddr（あて先表示）

hrmskipmsg（受信待ちメッセージのスキップ）

hrmlstrs（通信状態表示）

(21)　RMTRSendThreadNum=送信スレッドの起動数

　～＜数字：java.lang.Integer＞((1～128))《1》（単位：個）

キュー間転送で，メッセージの送信を行うために利用するスレッドの最大起動数を指定します。このプロパティを省略した場合，何も指定しなかった場合，および範囲外の値を指定した場合は，1が指定されたものとして動作します。

一つのメッセージを送信する処理を一つのスレッドで行うため，このプロパティの値を増やすことで同時に送信できるメッセージ数を増やすことができます。しかし，マシンへの負荷が増加しスループットが低下する場合があります。

(22)　RMTRResendInterval1Num=再送間隔1での再送回数

　～＜数字：java.lang.Integer＞((1～100))《6》（単位：送信回数）

キュー間転送で，再送間隔1で再送する回数を指定します。メッセージの再送間隔をこのプロパティで切り替えることができます。切り替える前の再送間隔を再送間隔1に指定し，切り替えたあとの再送間隔を再送間隔2に指定します。

このプロパティを省略した場合や，何も指定しなかった場合，範囲外の値を指定した場合は，デフォルト値を指定したものとして動作します。

(23)　RMTRResendInterval1=再送間隔1

　～＜数字：java.lang.Integer＞((1～86400))《10》（単位：秒）

キュー間転送で，転送先からの応答が返ってこないメッセージを再び送信するまでの時間を指定します。このプロパティはRMTRResendInterval1Numによって切り替える前の再送間隔です。このプロパティを省略した場合や範囲外の値を指定した場合は，デフォルト値が指定されたものとして動作します。

(24)　RMTRResendInterval2 = 再送間隔2

　～＜数字：java.lang.Integer＞((1～86400))《600》（単位：秒）

キュー間転送で，転送先からの応答が返ってこないメッセージを再び送信するまでの時間を指定します。このプロパティはRMTRResendInterval1Numによって切り替えたあとの再送間隔です。このプロパティを省略した場合や範囲外の値を指定した場合は，デフォルト値が指定されたものとして動作します。

(25)　RMTRResendTimerInterval = 再送タイマ監視間隔

　～＜数字：java.lang.Integer＞((1～3600))《10》（単位：秒）

再送タイマ監視間隔を指定します。再送タイマ監視間隔とは，あるメッセージの前回の送信時から経過した時間が，再送間隔を超えているかどうか監視を行う間隔です。

このプロパティを省略した場合や範囲外の値を指定した場合は，デフォルト値が指定されたものとして動作します。

(26)　RMTRPendingNotifyInterval = 滞留メッセージの監視時間

　～＜数字：java.lang.Integer＞((1～86400))《600》（単位：秒）

滞留メッセージを監視する時間を指定します。滞留メッセージを監視するタイミングは，メッセージ削除処理と同じです。メッセージの監視中に，このプロパティに指定した時間より長く滞留しているメッセージが存在する場合は，メッセージの滞留を通知するKFRM13011-W（メッセージログの出力レベルに関係なく出力します）が出力されます。

このプロパティを省略した場合や範囲外の値を指定した場合は，デフォルト値が指定されたものとして動作します。

(27)　RMTRTransferControlDir = クライアント定義ファイルが格納されているディレクトリのパス

　～＜文字列：java.lang.String＞

キュー間転送の動作制御内容を定義する，クライアント定義ファイルが格納されているディレクトリのパスを指定します。

同じサーバ上でCosminexus RMを複数デプロイする場合は，このプロパティに，コピーしたクライアント定義ファイルが格納されているディレクトリのパスを指定してください。クライアント定義ファイルの詳細については，「3.4.13(1)　SOAP通信基盤の設定」を参照してください。

このプロパティを省略した場合や空文字を指定した場合は，デフォルトのクライアント定義ファイルのあるディレクトリのパス（%HRMDIR%¥conf）が指定されたものとして動作します。

(28)　RMAutoDeleteMessage = デッドメッセージキュー未使用時の無効メッセージ自動削除の有無

　～＜java.lang.Boolean＞((true｜false))《false》

キュー間転送でデッドメッセージキューを使用しない場合，次の条件を満たすメッセージを自動的に削除するかどうかを指定します。

電文不正などによって転送できなかったメッセージ

順序保証のグループが閉鎖した時点で，対象グループに属していた滞留メッセージ

trueを指定すると1.，2.のメッセージとも自動的に削除します。falseを指定すると，1.のメッセージはキュー内に残るため，削除する場合は手作業でhrmdelmsg（メッセージの削除）コマンドを起動します。2.のメッセージは滞留メッセージとして残り，通信層のメッセージ有効期限切れになった時点で削除されます。

このプロパティの指定がない場合はfalseが指定されたものとして動作します。また，デッドメッセージキューを使用する場合，このプロパティの指定は無視されます。

自動削除を行うと，転送できなかったメッセージは削除処理のタイミングで削除されます。

自動削除を行わない場合は，メッセージの削除コマンドを手作業で実行し，転送できなかったメッセージを削除してください。転送できなかったメッセージを削除しなかったときは，転送キューに蓄積されます。転送キュー内のメッセージが格納できる最大数に達すると，キュー間転送が行えなくなります。

このプロパティは省略できます。

6.3　DB Connector for Cosminexus RMのコンフィグレーションプロパティの一覧

DB Connector for Cosminexus RMのコンフィグレーションプロパティは，リソースアダプタの属性を取得・編集するときに指定するプロパティです。プロパティを定義したら，サーバ管理コマンドを使用して，DB Connector for Cosminexus RMをインポートします。そのあと，プロパティを設定します。プロパティ定義の詳細については，「3.4.8　DB Connector for Cosminexus RMのプロパティ定義」を参照してください。

DB Connector for Cosminexus RMが提供するコンフィグレーションプロパティの一覧について，データベースへの接続方法ごとに説明します。

＜この節の構成＞

(1)　Cosminexus DABroker Libraryを使用してOracleまたはHiRDBに接続する場合

(2)　HiRDB Type4 JDBC Driverを使用してHiRDBに接続する場合

(3)　Oracle JDBC Thin Driverを使用してOracleに接続する場合

(1)　Cosminexus DABroker Libraryを使用してOracleまたはHiRDBに接続する場合

DBConnector_DABJ_CP_Cosminexus_RM.rar
トランザクション管理をしない場合，またはローカルトランザクションを使用する場合に使用します。
指定できるプロパティについては，表6-4を参照してください。

DBConnector_DABJ_XA_Cosminexus_RM.rar
グローバルトランザクションを使用する場合に使用します。
指定できるプロパティについては，表6-5を参照してください。

なお，Cosminexus DABroker Libraryで使用するAPIについては，マニュアル「Cosminexus リファレンス API編」を参照してください。

表6-4　DBConnector_DABJ_CP_Cosminexus_RM.rarを使用する場合に指定できるプロパティ

プロパティ名（config-property-name）
データ型（config-property-type）
プロパティの値（config-property-value）

linkedResourceAdapterName
java.lang.String
連携するCosminexus RMリソースアダプタの表示名を指定します。
DBConnector_DABJ_CP_Cosminexus_RM.rarを使用する場合に指定できます。

networkProtocol
java.lang.String
Cosminexus DABroker Libraryとの接続種別を設定します。設定された値は，Cosminexus DABroker LibraryのsetNetworkProtocolメソッドに渡されます。

"lib"

description
java.lang.String
接続するデータベースに必要な接続付加情報を設定します。設定された値は，Cosminexus DABroker LibraryのsetDescriptionメソッドに渡されます。

HIRDBの場合
HiRDBシステムのポート番号，またはHiRDBクライアントの環境変数グループ名を指定します。

ORACLEの場合
SQL*Netの接続文字列を指定します。

DBHostName
java.lang.String
接続するHiRDBのホスト名を設定します。設定された値は，Cosminexus DABroker LibraryのsetDBHostNameメソッドに渡されます。

loginTimeout
java.lang.Integer
データベースへの接続試行中に，データソースが待機する最長時間（単位：秒）を設定します。デフォルト値は0です。

serverName
java.lang.String
接続するCosminexus DABroker Libraryのホスト名またはIPアドレスを設定します。設定された値は，Cosminexus DABroker LibraryのsetServerNameメソッドに渡されます。

portNumber
java.lang.Integer
接続するCosminexus DABroker Libraryのポート番号を設定します。設定された値は，Cosminexus DABroker LibraryのsetPortNumberメソッドに渡されます。デフォルト値は40179です。

databaseName
java.lang.String
接続するデータベースの種別を設定します。設定された値は，Cosminexus DABroker LibraryのsetDatabaseNameメソッドに渡されます。

HIRDB
HiRDBおよびXDM/RD E2に接続する場合に指定します。

ORACLE，ORACLE8I
Oracleに接続する場合に指定します。

DBConnector_DABJ_CP_Cosminexus_RM.rarの場合，デフォルト値はHIRDBです。

DBEnv
java.lang.String
Cosminexus DABroker Libraryの接続先データベース定義情報を設定します。設定された値は，Cosminexus DABroker LibraryのsetDBEnvメソッドに渡されます。

encodLang
java.lang.String
エンコード文字形態を設定します。設定された値は，Cosminexus DABroker LibraryのsetEncodLangメソッドに渡されます。

JDBC_IF_TRC
java.lang.Boolean
JDBCインタフェースメソッドトレースの取得の有無を設定します。設定された値は，Cosminexus DABroker LibraryのsetJDBC_IF_TRCメソッドに渡されます。

trueを指定した場合
トレースを取得します。

falseを指定した場合
トレースを取得しません。

なお，trueを指定した場合，Cosminexus Driverが出力するトレースは，Cosminexus Component ContainerからセットされるPrintWriterと，ユーザがコネクションファクトリ（javax.sql.DataSourceクラス）のsetLogWriter()メソッドで指定したPrintWriterに出力します。デフォルト値はfalseです。

SV_EVENT_TRC
java.lang.Boolean
Cosminexus DABroker Libraryとのイベントトレースの取得の有無を設定します。設定された値は，Cosminexus DABroker LibraryのsetSV_EVENT_TRCメソッドに渡されます。

trueを指定した場合
トレースを取得します。

falseを指定した場合
トレースを取得しません。

なお，trueを指定した場合，Cosminexus Driverが出力するトレースは，Cosminexus Component ContainerからセットされるPrintWriterと，ユーザがコネクションファクトリ（javax.sql.DataSourceクラス）のsetLogWriter()メソッドで指定したPrintWriterに出力します。デフォルト値はfalseです。

TRC_NO
java.lang.Integer
トレースのエントリ数を，10～1000の範囲で設定します。設定された値は，Cosminexus DABroker LibraryのsetTRC_NOメソッドに渡されます。デフォルト値は500です。

uapName
java.lang.String
アプリケーション名称を設定します。設定された値は，Cosminexus DABroker LibraryのsetUapNameメソッドに渡されます。

bufSize
java.lang.Integer
Cosminexus DABroker Libraryからの受信データのバッファ長を，1～16000の範囲（単位：キロバイト）で設定します。設定された値は，Cosminexus DABroker LibraryのsetBufSizeメソッドに渡されます。デフォルト値は64です。

rowSize
java.lang.Integer
Cosminexus DABroker LibraryがJDBCで取り扱うバッファ長を，16～512の範囲（単位：メガバイト）で設定します。設定された値は，Cosminexus DABroker LibraryのsetRowSizeメソッドに渡されます。デフォルト値は16です。

OSAuthorize
java.lang.Boolean
OS認証機能を使用してデータベースに接続するかどうかを設定します。設定された値は，Cosminexus DABroker LibraryのsetOSAuthorizeメソッドに渡されます。

trueを指定した場合
OS認証機能を使用します。

falseを指定した場合
OS認証機能を使用しません。

デフォルト値はfalseです。

HiRDBCursorMode
java.lang.Boolean
HiRDBで検索時にカーソルがCommit，またはRollbackにわたって有効かどうかを設定します。設定された値は，Cosminexus DABroker LibraryのsetHiRDBCursorModeメソッドに渡されます。

trueを指定した場合
カーソルは保持されます。アプリケーションは続けてFetchすることができます。

falseを指定した場合
カーソルはクローズされますが，ステートメントは有効です。アプリケーションは，Prepareしないで，再度Executeできます。

デフォルト値はfalseです。

blockUpdate
java.lang.Boolean
接続データベースがHiRDBの場合，？パラメタを使用したデータベースの更新で，複数のパラメタセットを一度に処理するかどうかを設定します。設定された値は，Cosminexus DABroker LibraryのsetBlockUpdateメソッドに渡されます。

trueを指定した場合
複数のパラメタセットを一度に処理します。

falseを指定した場合
複数のパラメタセットを一つずつ分割して処理します。

デフォルト値はfalseです。

executeDirectMode
java.lang.Boolean
接続データベースがHiRDBの場合，Statementクラスを使用したINSERT， UPDATE， DELETEなどのデータベースの更新で，HiRDBのEXECUTE DIRECT機能を使用するかどうかを設定します。設定された値は，Cosminexus DABroker LibraryのsetExecuteDirectModeメソッドに渡されます。

trueを指定した場合
Execute Direct機能を使用します。

falseを指定した場合
Execute Direct機能を使用しません。

デフォルト値はfalseです。

SQLWarningIgnore
java.lang.Boolean
データベースから返される警告をConnectionクラスで保持するかどうかを設定します。設定された値は，Cosminexus DABroker LibraryのsetSQLWarningIgnoreメソッドに渡されます。

trueを指定した場合
警告を保持しません。

falseを指定した場合
警告を保持します。

デフォルト値はfalseです。

LONGVARBINARY_Access
java.lang.String
LONGVARBINARY（列属性BLOB，列属性BINARY）のデータベースアクセス方法を設定します。設定された値は，Cosminexus DABroker LibraryのsetLONGVARBINARY_Accessメソッドに渡されます。

REAL

LOCATOR

デフォルト値はREALです。

bufferPoolSize
java.lang.Integer
受信データのバッファをプールする最大数を設定します。設定された値は，Cosminexus DABroker LibraryのsetBufferPoolSizeメソッドに渡されます。
デフォルト値は0です。

PreparedStatementPoolSize
java.lang.Integer
コネクションプールに割り当てられるコネクションごとのPreparedStatementのプールサイズを設定します。0～1024の整数で指定します。デフォルト値は10です。また，PreparedStatementPoolSizeとCallableStatementPoolSizeの合計値は，1024以下に設定してください。有効範囲外の値を指定した場合は，デフォルト値が設定されます。

CallableStatementPoolSize
java.lang.Integer
コネクションプールに割り当てられるコネクションごとのCallableStatementのプールサイズを設定します。0～1024の整数で指定します。デフォルト値は10です。また，PreparedStatementPoolSizeとCallableStatementPoolSizeの合計値は，1024以下に設定してください。有効範囲外の値を指定した場合は，デフォルト値が設定されます。

CancelStatement
java.lang.Boolean
トランザクションタイムアウトや業務アプリケーション強制停止時に，Statementクラス，CallableStatementクラスおよびPreparedStatementクラスで実行中のSQLをキャンセルするかどうかを指定します。

trueを指定した場合
実行中のSQLをキャンセルします。

falseを指定した場合
実行中のSQLをキャンセルしません。

デフォルト値はtrueです。
Oracleに接続する場合で，データベースのサーバまたはクライアントのどちらかがWindowsプラットフォームで，専用サーバ接続をする場合，falseを設定してください。
XDM/RDに接続する場合，falseを設定してください。
DBConnector_DABJ_CP.rarを使用する場合に指定できます。

ConnectionIDUpdate
java.lang.Boolean
コネクションIDをDataSource#getConnectionメソッドごとに更新するかどうかを指定します。

trueを指定した場合
DataSource#getConnectionメソッドのたびにコネクションIDを生成します。

falseを指定した場合
最初のDataSource#getConnectionメソッドでコネクションIDを生成し，そのあとは更新しません。

デフォルト値はfalseです。
このプロパティは，接続するデータベースがOracleの場合に指定できます。

logLevel
java.lang.String
DB Connectorが出力するログ・トレースのレベルを指定します。
次の値が指定できます。

0またはERROR

10またはWARNING

20またはINFORMATION

デフォルトは，0またはERRORです。

表6-5　DBConnector_DABJ_XA_Cosminexus_RM.rarを使用する場合に指定できるプロパティ

プロパティ名（config-property-name）
データ型（config-property-type）
プロパティの値（config-property-value）

linkedResourceAdapterName
java.lang.String
連携するCosminexus RMリソースアダプタの表示名を指定します。
DBConnector_DABJ_XA_Cosminexus_RM.rarを使用する場合に指定できます。

networkProtocol
java.lang.String
Cosminexus DABroker Libraryとの接続種別を設定します。設定された値は，Cosminexus DABroker LibraryのsetNetworkProtocolメソッドに渡されます。

"lib"

description
java.lang.String
接続するデータベースに必要な接続付加情報を設定します。設定された値は，Cosminexus DABroker LibraryのsetDescriptionメソッドに渡されます。

HIRDBの場合
HiRDBクライアントの環境変数グループ名を指定します。

ORACLEの場合
SQL*Netの接続文字列を指定します。

DBHostName
java.lang.String
接続するHiRDBのホスト名を設定します。設定された値は，Cosminexus DABroker LibraryのsetDBHostNameメソッドに渡されます。

XAOpenString
java.lang.String
XA_OPEN文字列を設定します。設定された値は，Cosminexus DABroker LibraryのsetXAOpenStringメソッドに渡されます。

loginTimeout
java.lang.Integer
データベースへの接続試行中に，データソースが待機する最長時間（単位：秒）を設定します。デフォルト値は0です。

serverName
java.lang.String
接続するCosminexus DABroker Libraryのホスト名を設定します。設定された値は，Cosminexus DABroker LibraryのsetServerNameメソッドに渡されます。

portNumber
java.lang.Integer
接続するCosminexus DABroker Libraryのポート番号を設定します。設定された値は，Cosminexus DABroker LibraryのsetPortNumberメソッドに渡されます。デフォルト値は40179です。

databaseName
java.lang.String
接続するデータベースの種別を設定します。設定された値は，Cosminexus DABroker LibraryのsetDatabaseNameメソッドに渡されます。
次の値が指定できます。

HIRDB
HiRDBに接続する場合に指定します。

ORACLE，ORACLE8I
Oracleに接続する場合に指定します。

DBConnector_DABJ_XA_Cosminexus_RM.rarの場合，デフォルト値はHIRDBです。

DBEnv
java.lang.String
Cosminexus DABroker Libraryの接続先データベース定義情報を設定します。設定された値は，Cosminexus DABroker LibraryのsetDBEnvメソッドに渡されます。

encodLang
java.lang.String
エンコード文字形態を設定します。設定された値は，Cosminexus DABroker LibraryのsetEncodLangメソッドに渡されます。

JDBC_IF_TRC
java.lang.Boolean
JDBCインタフェースメソッドトレースの取得の有無を設定します。設定された値は，Cosminexus DABroker LibraryのsetJDBC_IF_TRCメソッドに渡されます。

trueを指定した場合
トレースを取得します。

falseを指定した場合
トレースを取得しません。

なお，trueを指定した場合，Cosminexus Driverが出力するトレースは，Cosminexus Component ContainerからセットされるPrintWriterと，ユーザがコネクションファクトリ（javax.sql.DataSourceクラス）のsetLogWriter()メソッドで指定したPrintWriterに出力します。デフォルト値はfalseです。

SV_EVENT_TRC
java.lang.Boolean
Cosminexus DABroker Libraryとのイベントトレースの取得の有無を設定します。設定された値は，Cosminexus DABroker LibraryのsetSV_EVENT_TRCメソッドに渡されます。

trueを指定した場合
トレースを取得します。

falseを指定した場合
トレースを取得しません。

なお，trueを指定した場合，Cosminexus Driverが出力するトレースは，Cosminexus Component ContainerからセットされるPrintWriterと，ユーザがコネクションファクトリ（javax.sql.DataSourceクラス）のsetLogWriter()メソッドで指定したPrintWriterに出力します。デフォルト値はfalseです。

TRC_NO
java.lang.Integer
トレースのエントリ数を設定します。設定された値は，Cosminexus DABroker LibraryのsetTRC_NOメソッドに渡されます。デフォルト値は500です。

uapName
java.lang.String
アプリケーション名称を設定します。設定された値は，Cosminexus DABroker LibraryのsetUapNameメソッドに渡されます。

bufSize※
java.lang.Integer
Cosminexus DABroker Libraryからの受信データのバッファ長を，1～16000の範囲（単位：キロバイト）で設定します。設定された値は，Cosminexus DABroker LibraryのsetBufSizeメソッドに渡されます。デフォルト値は64です。

rowSize
java.lang.Integer
Cosminexus DABroker LibraryがJDBCで取り扱うバッファ長を，16～512の範囲（単位：メガバイト）で設定します。設定された値は，Cosminexus DABroker LibraryのsetRowSizeメソッドに渡されます。デフォルト値は16です。

OSAuthorize
java.lang.Boolean
OS認証機能を使用してデータベースに接続するかどうかを設定します。設定された値は，Cosminexus DABroker LibraryのsetOSAuthorizeメソッドに渡されます。

trueを指定した場合
OS認証機能を使用します。

falseを指定した場合
OS認証機能を使用しません。

デフォルト値はfalseです。

HiRDBCursorMode
java.lang.Boolean
HiRDBで検索時にカーソルがCommit，またはRollbackにわたって有効かどうかを設定します。設定された値は，Cosminexus DABroker LibraryのsetHiRDBCursorModeメソッドに渡されます。

trueを指定した場合
カーソルは保持されます。アプリケーションは続けてFetchすることができます。

falseを指定した場合
カーソルはクローズされますが，ステートメントは有効です。アプリケーションは，Prepareしないで，再度Executeできます。

デフォルト値はfalseです。

blockUpdate
java.lang.Boolean
接続データベースがHiRDBの場合，？パラメタを使用したデータベースの更新で，複数のパラメタセットを一度に処理するかどうかを設定します。設定された値は，Cosminexus DABroker LibraryのsetBlockUpdateメソッドに渡されます。

trueを指定した場合
複数のパラメタセットを一度に処理します。

falseを指定した場合
複数のパラメタセットを一つずつ分割して処理します。

デフォルト値はfalseです。

executeDirectMode
java.lang.Boolean
接続データベースがHiRDBの場合，Statementクラスを使用したINSERT， UPDATE， DELETEなどのデータベースの更新で，HiRDBのEXECUTE DIRECT機能を使用するかどうかを設定します。設定された値は，Cosminexus DABroker LibraryのsetExecuteDirectModeメソッドに渡されます。

trueを指定した場合
Execute Direct機能を使用します。

falseを指定した場合
Execute Direct機能を使用しません。

デフォルト値はfalseです。

SQLWarningIgnore
java.lang.Boolean
データベースから返される警告をConnectionクラスで保持するかどうかを設定します。設定された値は，Cosminexus DABroker LibraryのsetSQLWarningIgnoreメソッドに渡されます。

trueを指定した場合
警告を保持しません。

falseを指定した場合
警告を保持します。

デフォルト値はfalseです。

LONGVARBINARY_Access
java.lang.String
LONGVARBINARY（列属性BLOB，列属性BINARY）のデータベースアクセス方法を設定します。設定された値は，Cosminexus DABroker LibraryのsetLONGVARBINARY_Accessメソッドに渡されます。

REAL

LOCATOR

デフォルト値はREALです。

bufferPoolSize
java.lang.Integer
受信データのバッファをプールする最大数を設定します。設定された値は，Cosminexus DABroker LibraryのsetBufferPoolSizeメソッドに渡されます。
デフォルト値は0です。

XACloseString
java.lang.String
XA_CLOSE文字列を設定します。設定された値は，Cosminexus DABroker LibraryのsetXACloseStringメソッドに渡されます。

RMID
java.lang.Integer
リソースマネジャの識別子を，1以上の正の整数で設定します。設定された値は，Cosminexus DABroker LibraryのsetRMIDメソッドに渡されます。デフォルト値は1です。

XAThreadMode
java.lang.Boolean
XA使用時のスレッドモードを設定します。設定された値は，Cosminexus DABroker LibraryのsetXAThreadModeメソッドに渡されます。

trueを指定した場合
マルチスレッドモード

falseを指定した場合
シングルスレッドモード

デフォルト値はtrueです。

XALocalCommitMode
java.lang.Boolean
XA使用時，トランザクションが分散トランザクションでないとき，データベースのオートコミットモードを有効にするかどうかを設定します。設定された値はCosminexus DABroker LibraryのsetXALocalCommitModeメソッドに渡されます。

trueを指定した場合
データベースのオートコミットを有効にします。

falseを指定した場合
データベースのオートコミットを無効にします。

デフォルト値はtrueです。

PreparedStatementPoolSize
java.lang.Integer
コネクションプールに割り当てられるコネクションごとのPreparedStatementのプールサイズを設定します。0～1024の整数で指定します。デフォルト値は10です。また，PreparedStatementPoolSizeとCallableStatementPoolSizeの合計値は，1024以下に設定してください。有効範囲外の値を指定した場合は，デフォルト値が設定されます。

CallableStatementPoolSize
java.lang.Integer
コネクションプールに割り当てられるコネクションごとのCallableStatementのプールサイズを設定します。0～1024の整数で指定します。デフォルト値は10です。また，PreparedStatementPoolSizeとCallableStatementPoolSizeの合計値は，1024以下に設定してください。有効範囲外の値を指定した場合は，デフォルト値が設定されます。

CancelStatement
java.lang.Boolean
トランザクションタイムアウトや業務アプリケーション強制停止時に，Statementクラス，CallableStatementクラスおよびPreparedStatementクラスで実行中のSQLをキャンセルするかどうかを指定します。

trueを指定した場合
実行中のSQLをキャンセルします。

falseを指定した場合
実行中のSQLをキャンセルしません。

HiRDBに接続する場合は，falseを指定してください。
Oracleに接続する場合で，データベースのサーバまたはクライアントのどちらかがWindowsプラットフォームで，専用サーバ接続をする場合，falseを設定してください。
DBConnector_DABJ_XA.rarを使用する場合に指定できます。

ConnectionIDUpdate
java.lang.Boolean
コネクションIDをDataSource#getConnectionメソッドごとに更新するかどうかを指定します。

trueを指定した場合
DataSource#getConnectionメソッドのたびにコネクションIDを生成します。

falseを指定した場合
最初のDataSource#getConnectionメソッドでコネクションIDを生成し，そのあとは更新しません。

デフォルト値はfalseです。
このプロパティは，接続するデータベースがOracleの場合に指定できます。

logLevel
java.lang.String
DB Connectorが出力するログ・トレースのレベルを指定します。
次の値が指定できます。

0またはERROR

10またはWARNING

20またはINFORMATION

デフォルト値は，0またはERRORです。

注※

bufSizeプロパティに設定するバッファサイズを見積もるための計算式は次のとおりです。

ローカルキューまたは転送キューを使用する場合

（5000＋N＋M＋L＋S）/1024（小数点以下切り上げ）（単位：キロバイト）

N＝ユーザが設定できるJMSヘッダの設定サイズ
設定するヘッダによって次の値を加算します。
JMSReplyTo：シリアライズしたオブジェクトのサイズ
JMSCorrelationID：半角文字数＋全角文字数×3
JMSType：半角文字数＋全角文字数×3

M＝JMS定義プロパティの設定サイズ
設定するプロパティによって次の値を加算します。
JMSXGroupID：半角文字数＋全角文字数×3
JMSXGroupSeq：100

L＝l＋m
l：ユーザ定義プロパティ名のサイズ（（半角文字数＋全角文字数×3）×プロパティ数）
m：ユーザ定義プロパティ値のサイズ
プロパティの型によって次の値を加算します。
java.lang.String：（半角文字数＋全角文字数×3）×プロパティ数
java.lang.String以外：100×プロパティ数

S＝JMSメッセージのペイロード設定サイズ
メッセージのインタフェースによって次の値を加算します。
TextMessage：半角文字数＋全角文字数×3
BytesMessage：半角文字数＋全角文字数×2
ObjectMessage：シリアライズしたオブジェクトのサイズ

共用キューを使用する場合

（1000＋S）/1024（小数点以下切り上げ）（単位：キロバイト）

S＝JMSメッセージのペイロード設定サイズ
メッセージのインタフェースによって次の値を加算します。
TextMessage：半角文字数＋全角文字数×3
BytesMessage：半角文字数＋全角文字数×2
ObjectMessage：シリアライズしたオブジェクトのサイズ

HiRDBを使用する場合で，サイズの大きいメッセージを送受信するときには，連携先のDB ConnectorのbufSizeプロパティをメッセージのサイズより十分大きく設定してください。bufSizeプロパティの値が小さいと，メッセージの受信に失敗する場合があります。

(2)　HiRDB Type4 JDBC Driverを使用してHiRDBに接続する場合

DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rar
トランザクション管理をしない場合，またはローカルトランザクションを使用する場合に使用します。
指定できるプロパティについては，表6-6を参照してください。

DBConnector_HiRDB_Type4_XA_Cosminexus_RM.rar
グローバルトランザクションを使用する場合に使用します。
指定できるプロパティについては，表6-7を参照してください。

表6-6　DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rarを使用する場合に指定できるプロパティ

プロパティ名（config-property-name）
データ型（config-property-type）
プロパティの値（config-property-value）

linkedResourceAdapterName
java.lang.String
連携するCosminexus RMリソースアダプタの表示名を指定します。
DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rarを使用する場合に指定できます。

description
java.lang.String
データベースへの接続に必要な接続付加情報を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetDescriptionメソッドに渡されます。

DBHostName
java.lang.String
接続するHiRDBのホスト名を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetDBHostNameメソッドに渡されます。

environmentVariables
java.lang.String
HiRDBクライアント環境変数を指定します。設定された値は，HiRDB Type4 JDBC DriverのsetEnvironmentVariablesメソッドに渡されます。

loginTimeout
java.lang.Integer
getConnectionメソッドでConnectionオブジェクトを取得する際の，HiRDBサーバとの物理接続確立の最大待ち時間（秒）を指定します。
デフォルト値は8です。

encodeLang
java.lang.String
データ変換時の文字セット名称を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetEncodeLangメソッドに渡されます。

JDBC_IF_TRC
java.lang.Boolean
JDBCインタフェースメソッドトレースの取得の有無を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetJDBC_IF_TRACEメソッドに渡されます。
デフォルト値はfalseです。

TRC_NO
java.lang.Integer
JDBCインタフェースメソッドトレースのエントリ数を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetTRC_NOメソッドに渡されます。
デフォルト値は500です。

uapName
java.lang.String
アプリケーション名称を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetUapNameメソッドに渡されます。

LONGVARBINARY_Access
java.lang.String
JDBC SQL タイプLONGVARBINARY（HiRDBデータ型である列属性BLOB，列属性BINARY）のデータベースアクセス方法を指定します。設定された値は，HiRDB Type4 JDBC DriverのsetLONGVARBINARY_Accessメソッドに渡されます。
デフォルト値はREALです。

SQLInNum
java.lang.Integer
実行するSQLの入力パラメタの最大数を指定します。設定された値は，HiRDB Type4 JDBC DriverのsetSQLInNumメソッドに渡されます。
デフォルト値は300です。

SQLOutNum
java.lang.Integer
実行するSQLの検索項目の最大数を指定します。設定された値は，HiRDB Type4 JDBC DriverのsetSQLOutNumメソッドに渡されます。
デフォルト値は300です。

SQLWarningLevel
java.lang.String
SQL実行時に発生した警告保持レベルを指定します。設定された値は，HiRDB Type4 JDBC DriverのsetSQLWarningLevelメソッドに渡されます。
デフォルト値はSQLWARNです。
DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rarを使用する場合，IGNOREは指定しないでください。指定した場合，Cosminexus RMのキューから取り出すメッセージが破損するおそれがあります。

SQLWarningIgnore
java.lang.Boolean
データベースから返される警告をConnectionクラスで保持しないかどうかの情報を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetSQLWarningIgnoreメソッドに渡されます。
デフォルト値はfalseです。

HiRDBCursorMode
java.lang.Boolean
HiRDBがコミットを行った場合にResultSetクラスのオブジェクトを有効とするかを指定します。設定された値は，HiRDB Type4 JDBC DriverのsetHiRDBCursorModeメソッドに渡されます。
デフォルト値はfalseです。

maxBinarySize※
java.lang.Integer
JDBC SQLタイプLONGVARBINARY型データ取得時のデータサイズの上限を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetMaxBinarySizeメソッドに渡されます。DBConnector_HiRDB_Type4_CP.rarを使用する場合，デフォルト値は0です。
DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rarを使用する場合，デフォルト値は64000です。
DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rarを使用する場合，0は指定しないでください。

LONGVARBINARY_AccessSize
java.lang.Integer
HiRDBサーバに対して一度に要求するJDBC SQLタイプLONGVARBIANRY型データの長さを指定します。設定された値は，HiRDB Type4 JDBC DriverのsetLONGVARBINARY_AccessSizeメソッドに渡されます。
デフォルト値は0です。

PreparedStatementPoolSize
java.lang.Integer
コネクションプールに割り当てられるコネクションごとのPreparedStatementのプールサイズを設定します。有効範囲は0～4095です。
デフォルト値は10です。

CallableStatementPoolSize
java.lang.Integer
コネクションプールに割り当てられるコネクションごとのCallableStatementのプールサイズを設定します。有効範囲は0～4095です。
デフォルト値は10です。

CancelStatement
java.lang.Boolean
トランザクションタイムアウトやUAP強制停止時にステートメントキャンセルを実行するかどうかを設定します。

trueを指定した場合
実行中のSQLをキャンセルします。

falseを指定した場合
実行中のSQLをキャンセルしません。

デフォルト値はtrueです。
DBConnector_HiRDB_Type4_CP.rarを使用する場合に指定できます。

logLevel
java.lang.String
DB Connectorが出力するログトレースのレベルを指定します。

0またはERROR

10またはWARNING

20またはINFORMATION

デフォルト値は0またはERRORです。

注※

maxBinarySizeプロパティに設定するデータサイズを見積もるための計算式は，bufSizeプロパティに設定するバッファサイズを見積もるための計算式と同じです。ただし，maxBinarySizeプロパティとbufSizeプロパティでは，データサイズの単位が異なります。そのため，見積もったデータサイズを設定する際は，単位に注意してください。

データサイズを見積もるための計算式の詳細は，「6.3(1)　Cosminexus DABroker Libraryを使用してOracleまたはHiRDBに接続する場合」の表下の注釈を参照してください。

データサイズには，0を指定しないでください。0を指定した場合，メモリ不足が発生し，J2EEサーバがダウンするおそれがあります。

HiRDBを使用する場合で，サイズの大きいメッセージを送受信するときには，連携先のDB ConnectorのmaxBinarySizeプロパティをメッセージのサイズより十分大きく設定してください。maxBinarySizeプロパティの値が小さいと，メッセージの受信に失敗する場合があります。

表6-7　DBConnector_HiRDB_Type4_XA_Cosminexus_RM.rarを使用する場合に指定できるプロパティ

プロパティ名（config-property-name）
データ型（config-property-type）
プロパティの値（config-property-value）

linkedResourceAdapterName
java.lang.String
連携するCosminexus RMリソースアダプタの表示名を指定します。
DBConnector_HiRDB_Type4_XA_Cosminexus_RM.rarを使用する場合に指定できます。

description
java.lang.String
データベースへの接続に必要な接続付加情報を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetDescriptionメソッドに渡されます。

DBHostName
java.lang.String
接続するHiRDBのホスト名を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetDBHostNameメソッドに渡されます。

environmentVariables
java.lang.String
HiRDBクライアント環境変数を指定します。設定された値は，HiRDB Type4 JDBC DriverのsetEnvironmentVariablesメソッドに渡されます。

XAOpenString
java.lang.String
XA_OPEN文字列を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetXAOpenStringメソッドに渡されます。

loginTimeout
java.lang.Integer
getConnectionメソッドでConnectionオブジェクトを取得する際の，HiRDBサーバとの物理接続確立の最大待ち時間（秒）を指定します。設定された値は，HiRDB Type4 JDBC DriverのsetLoginTimeoutメソッドに渡されます。
デフォルト値は8です。

encodeLang
java.lang.String
データ変換時の文字セット名称を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetEncodeLangメソッドに渡されます。

JDBC_IF_TRC
java.lang.Boolean
JDBCインタフェースメソッドトレースの取得の有無を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetJDBC_IF_TRACEメソッドに渡されます。

TRC_NO
java.lang.Integer
JDBCインタフェースメソッドトレースのエントリ数を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetTRC_NOメソッドに渡されます。
デフォルト値は500です。

uapName
java.lang.String
アプリケーション名称を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetUapNameメソッドに渡されます。

LONGVARBINARY_Access
java.lang.String
JDBC SQL タイプLONGVARBINARY（HiRDBデータ型である列属性BLOB，列属性BINARY）のデータベースアクセス方法を指定します。設定された値は，HiRDB Type4 JDBC DriverのsetLONGVARBINARY_Accessメソッドに渡されます。
デフォルト値はREALです。

SQLInNum
java.lang.Integer
実行するSQLの入力パラメタの最大数を指定します。設定された値は，HiRDB Type4 JDBC DriverのsetSQLInNumメソッドに渡されます。
デフォルト値は300です。

SQLOutNum
java.lang.Integer
実行するSQLの検索項目の最大数を指定します。設定された値は，HiRDB Type4 JDBC DriverのsetSQLOutNumメソッドに渡されます。
デフォルト値は300です。

SQLWarningLevel
java.lang.String
SQL実行時に発生した警告保持レベルを指定します。設定された値は，HiRDB Type4 JDBC DriverのsetSQLWarningLevelメソッドに渡されます。
デフォルト値はSQLWARNです。
DBConnector_HiRDB_Type4_XA_Cosminexus_RM.rarを使用する場合，IGNOREは指定しないでください。指定した場合，Cosminexus RMのキューから取り出すメッセージが破損するおそれがあります。

SQLWarningIgnore
java.lang.Boolean
データベースから返される警告をConnectionクラスで保持しないかどうかの情報を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetSQLWarningIgnoreメソッドに渡されます。
デフォルト値はfalseです。

HiRDBCursorMode
java.lang.Boolean
HiRDBがコミットを行った場合にResultSetクラスのオブジェクトを有効とするかを指定します。設定された値は，HiRDB Type4 JDBC DriverのsetHiRDBCursorModeメソッドに渡されます。
デフォルト値はfalseです。

maxBinarySize※
java.lang.Integer
JDBC SQLタイプLONGVARBINARY型データ取得時のデータサイズの上限を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetMaxBinarySizeメソッドに渡されます。DBConnector_HiRDB_Type4_XA.rarを使用する場合，デフォルト値は0です。
DBConnector_HiRDB_Type4_XA_Cosminexus_RM.rarを使用する場合，デフォルト値は64000です。
DBConnector_HiRDB_Type4_XA_Cosminexus_RM.rarを使用する場合，0は指定しないでください。

LONGVARBINARY_AccessSize
java.lang.Integer
HiRDBサーバに対して一度に要求するJDBC SQLタイプLONGVARBIANRY型データの長さを指定します。設定された値は，HiRDB Type4 JDBC DriverのsetLONGVARBINARY_AccessSizeメソッドに渡されます。
デフォルト値は0です。

XACloseString
java.lang.String
XAクローズ文字列を設定します。設定された値は，HiRDB Type4 JDBC DriverのsetXACloseStringメソッドに渡されます。

XALocalCommitMode
java.lang.Boolean
トランザクションがグローバルトランザクションでない場合にオートコミット機能を有効にするかを設定します。設定された値はHiRDB Type4 JDBC DriverのsetXALocalCommitModeメソッドに渡されます。
デフォルト値はtrueです。

PreparedStatementPoolSize
java.lang.Integer
コネクションプールに割り当てられるコネクションごとのPreparedStatementのプールサイズを設定します。有効範囲は0～4095です。
デフォルト値は10です。

CallableStatementPoolSize
java.lang.Integer
コネクションプールに割り当てられるコネクションごとのCallableStatementのプールサイズを設定します。有効範囲は0～4095です。
デフォルト値は10です。

CancelStatement
java.lang.Boolean
トランザクションタイムアウトやUAP強制停止時にステートメントキャンセルを実行するかどうかを設定します。

trueの場合
実行中のSQLをキャンセルします。

falseの場合
実行中のSQLをキャンセルしません。

デフォルト値はtrueです。
DBConnector_HiRDB_Type4_XA.rarを使用する場合に指定できます。

logLevel
java.lang.String
DB Connectorが出力するログトレースのレベルを指定します。

0またはERROR

10またはWARNING

20またはINFORMATION

デフォルト値は0またはERRORです。

注※

maxBinarySizeプロパティに設定するデータサイズを見積もるための計算式は，bufSizeプロパティに設定するバッファサイズを見積もるための計算式と同じです。ただし，maxBinarySizeプロパティとbufSizeプロパティでは，データサイズの単位が異なります。そのため，見積もったデータサイズを設定する際は，単位に注意してください。

データサイズを見積もるための計算式の詳細は，「6.3(1)　Cosminexus DABroker Libraryを使用してOracleまたはHiRDBに接続する場合」の表下の注釈を参照してください。

データサイズには，0を指定しないでください。0を指定した場合，メモリ不足が発生し，J2EEサーバがダウンするおそれがあります。

HiRDBを使用する場合で，サイズの大きいメッセージを送受信するときには，連携先のDB ConnectorのmaxBinarySizeプロパティをメッセージのサイズより十分大きく設定してください。maxBinarySizeプロパティの値が小さいと，メッセージの受信に失敗する場合があります。

(3)　Oracle JDBC Thin Driverを使用してOracleに接続する場合

DBConnector_Oracle_CP_Cosminexus_RM.rar
トランザクション管理をしない場合，またはローカルトランザクションを使用する場合に使用します。
指定できるプロパティについては，表6-8を参照してください。

DBConnector_Oracle_XA_Cosminexus_RM.rar
グローバルトランザクションを使用する場合に使用します。
指定できるプロパティについては，表6-9を参照してください。

なお，プロパティで設定可能な値については，Oracleのマニュアルを参照してください。

表6-8　DBConnector_Oracle_CP_Cosminexus_RM.rarを使用する場合に指定できるプロパティ

プロパティ名（config-property-name）
データ型（config-property-type）
プロパティの値（config-property-value）

linkedResourceAdapterName
java.lang.String
連携するCosminexus RMリソースアダプタの表示名を指定します。
DBConnector_Oracle_CP_Cosminexus_RM.rarを使用する場合に指定できます。

databaseName
java.lang.String
Oracleサーバ上の特定のデータベース名（SID）を指定します。設定された値は，Oracle JDBC Thin DriverのsetDatabaseNameメソッドに渡されます

serverName
java.lang.String
Oracleサーバのホスト名またはIPアドレスを指定します。設定された値は，Oracle JDBC Thin DriverのsetServerNameメソッドに渡されます。

portNumber
java.lang.Integer
Oracleのサーバが要求をリスニングするポート番号を指定します。デフォルトは1521番ポートです。設定された値は，Oracle JDBC Thin DriverのsetPortNumberメソッドに渡されます。

url
java.lang.String
Oracle JDBC Thin Driverがデータベースに接続するために必要なJDBC URLを指定します。
このプロパティに値が設定された場合，databaseName，portNumber，serverNameで指定された値は無視されます。また，ユーザがurlで指定を行う場合はJDBC URLにthinドライバを指定します。

（例）

jdbc:oracle:thin:@ServerA:1521:service1

loginTimeout
java.lang.Integer
データベースへの接続試行のタイムアウト（単位：ミリ秒）を指定します。0を指定するとタイムアウトは無限となり，接続が確立されるかエラーが発生するまでブロックされます。デフォルト値は8000です。設定された値はOracle JDBC Thin DriverのsetLoginTimeoutメソッドに渡されます。Oracle JDBC Thin Driver 9.2.0.8以降，10.1.0.5以降および10.2以降の場合は秒単位に切り上げてsetLoginTimeoutメソッドに渡されます。

PreparedStatementPoolSize
java.lang.Integer
コネクションプールに割り当てられるコネクションごとのPreparedStatementのプールサイズを設定します。デフォルトは10です。

CallableStatementPoolSize
java.lang.Integer
コネクションプールに割り当てられるコネクションごとのCallableStatementのプールサイズを設定します。デフォルトは10です。

CancelStatement
java.lang.Boolean
トランザクションタイムアウトや業務アプリケーション強制停止時に，Statementクラス，CallableStatementクラスおよびPreparedStatementクラスで実行中のSQLをキャンセルするかどうかを指定します。

trueを指定した場合
実行中のSQLをキャンセルします。

falseを指定した場合
実行中のSQLをキャンセルしません。

デフォルト値はtrueです。
専用サーバ接続をする場合は，falseを指定してください。
DBConnector_Oracle_CP.rarを使用する場合に，指定できます。

ConnectionIDUpdate
java.lang.Boolean
コネクションIDをDataSource#getConnectionメソッドごとに更新するかどうかを指定します。

trueを指定した場合
DataSource#getConnectionメソッドのたびにコネクションIDを生成します。

falseを指定した場合
最初のDataSource#getConnectionメソッドでコネクションIDを生成し，そのあとは更新しません。

デフォルト値はfalseです。

logLevel
java.lang.String
DB Connectorが出力するログ・トレースのレベルを指定します。
次の値が指定できます。

0またはERROR

10またはWARNING

20またはINFORMATION

デフォルトは，0またはERRORです。

表6-9　DBConnector_Oracle_XA_Cosminexus_RM.rarを使用する場合に指定できるプロパティ

プロパティ名（config-property-name）
データ型（config-property-type）
プロパティの値（config-property-value）

linkedResourceAdapterName
java.lang.String
連携するCosminexus RMリソースアダプタの表示名を指定します。
DBConnector_Oracle_CP_Cosminexus_RM.rarを使用する場合に指定できます。

databaseName
java.lang.String
Oracleサーバ上の特定のデータベース名（SID）を指定します。設定された値は，Oracle JDBC Thin DriverのsetDatabaseNameメソッドに渡されます。

serverName
java.lang.String
Oracleサーバのホスト名またはIPアドレスを指定します。設定された値は，Oracle JDBC Thin DriverのsetServerNameメソッドに渡されます。

portNumber
java.lang.Integer
Oracleのサーバが要求をリスニングするポート番号を指定します。デフォルトは1521番ポート。設定された値は，Oracle JDBC Thin DriverのsetPortNumberメソッドに渡されます。

url
java.lang.String
Oracle JDBC Thin Driverがデータベースに接続するために必要なJDBC URLを指定します。
このプロパティに値が設定された場合，databaseName,portNumber,serverNameで指定された値は無視されます。また，ユーザがurlで指定を行う場合はJDBC URLにthinドライバを指定します。

loginTimeout
java.lang.Integer
データベースへの接続試行のタイムアウト（単位：ミリ秒）を指定します。0を指定するとタイムアウトは無限となり，接続が確立されるかエラーが発生するまでブロックされます。デフォルト値は8000です。設定された値はOracle JDBC Thin DriverのsetLoginTimeoutメソッドに渡されます。Oracle JDBC Thin Driver 9.2.0.8以降，10.1.0.5以降および10.2以降の場合は秒単位に切り上げてsetLoginTimeoutメソッドに渡されます。

sessionTimeout
java.lang.Integer
Oracleサーバでのセッションタイムアウト（トランザクションブランチがアクティブでない状態でいられる最大時間）を秒単位で指定します。J2EEサーバのトランザクションタイムアウトよりも長い時間を指定する必要があります。デフォルト値は300秒です。設定された値はOracle JDBC Thin DriverのXAResource.setTransactionTimeoutメソッドに渡されます。

PreparedStatementPoolSize
java.lang.Integer
コネクションプールに割り当てられるコネクションごとのPreparedStatementのプールサイズを設定します。デフォルト値は10です。

CallableStatementPoolSize
java.lang.Integer
コネクションプールに割り当てられるコネクションごとのCallableStatementのプールサイズを設定します。デフォルト値は10です。

CancelStatement
java.lang.Boolean
トランザクションタイムアウトや業務アプリケーション強制停止時に，Statementクラス，CallableStatementクラスおよびPreparedStatementクラスで実行中のSQLをキャンセルするかどうかを指定します。

trueを指定した場合
実行中のSQLをキャンセルします。

falseを指定した場合
実行中のSQLをキャンセルしません。

デフォルト値はtrueです。
専用サーバ接続をする場合は，falseを指定してください。DBConnector_Oracle_XA.rarを使用する場合に指定できます。

ConnectionIDUpdate
java.lang.Boolean
コネクションIDをDataSource#getConnectionメソッドごとに更新するかどうかを指定します。

trueを指定した場合
DataSource#getConnectionメソッドのたびにコネクションIDを生成します。

falseを指定した場合
最初のDataSource#getConnectionメソッドでコネクションIDを生成し，そのあとは更新しません。

デフォルト値はfalseです。

logLevel
java.lang.String
DB Connectorが出力するログ・トレースのレベルを指定します。
次の値が指定できます。

0またはERROR

10またはWARNING

20またはINFORMATION

デフォルト値は，0またはERRORです。

7.　インタフェース

Cosminexus RMのアプリケーションは，Cosminexus RMが提供するインタフェースを使用して実装します。アプリケーションの実装については，「2.6　アプリケーションからのメッセージ操作」を参照してください。

この章では，Cosminexus RMが提供するインタフェースの種類，インタフェースの種類別のクラス，メソッドの詳細およびアプリケーションの障害時に設定される障害コードについて説明します。

＜この章の構成＞

7.1　インタフェースの種類

7.2　JMSインタフェースの一覧

7.3　JMSインタフェース継承図

7.4　JMSインタフェースの詳細

7.5　転送データ相互接続用インタフェースの一覧

7.6　転送データ相互接続用インタフェース継承図

7.7　転送データ相互接続用インタフェースの使い方

7.8　転送データ相互接続用インタフェースの詳細

7.9　障害コードの詳細

7.1　インタフェースの種類

＜この節の構成＞

7.1.1　Cosminexus RMが提供するインターフェースの種類

7.1.2　非永続版リソースアダプタ使用時の注意事項

7.1.1　Cosminexus RMが提供するインターフェースの種類

Cosminexus RMが提供するインタフェース用のパッケージには，次の2種類があります。

JMSインタフェース
Cosminexus RMがメッセージを送受信する際に使用するインターフェースです。永続版リソースアダプタ，非永続版リソースアダプタの両方で使用します。
JMSインターフェースの詳細については，「7.2　JMSインタフェースの一覧」，「7.3　JMSインタフェース継承図」，および「7.4　JMSインタフェースの詳細」を参照してください。

転送データ相互接続用インタフェース
BytesContainerを使用して，Cosminexus RM同士，またはCosminexus RMと他ベンダのメッセージングシステムなどとの間でメッセージを送受信する際に使用するインターフェースです。非永続版リソースアダプタでは使用できません。
転送データ相互接続用インタフェースの詳細については，「7.5　転送データ相互接続用インタフェースの一覧」，「7.6　転送データ相互接続用インタフェース継承図」，「7.7　転送データ相互接続用インタフェースの使い方」，および「7.8　転送データ相互接続用インタフェースの詳細」を参照してください。

7.1.2　非永続版リソースアダプタ使用時の注意事項

非永続版リソースアダプタの場合，永続版リソースアダプタと同様にJMSインタフェースを使用できます。ただし，転送データ相互接続用インターフェースは使用できません。

また，JMSインターフェース使用時には次の点に注意してください。

BytesContainerを使用した処理はできません。

ローカルキューに関するインターフェースだけを使用できます。そのほかの種類のキューに関するインターフェースは使用できません。

非永続版リソースアダプタの場合，DBを使用しないため，DBやDB Connectorに関係するインターフェースは使用できません。

7.2　JMSインタフェースの一覧

Cosminexus RMのJMSインターフェースは，永続版リソースアダプタ，非永続版リソースアダプタともに使用できます。

JMSインタフェースは，次に示すパッケージによって提供されます。

javax.jms

Cosminexus RMが提供するJMSインタフェースの一覧について，次の表に示します。

表7-1　JMSインタフェースの一覧

項番
インタフェース名※
機能

1
BytesMessage
設定したデータをバイトストリームで保持します。提供する機能は，ペイロードの設定と取得およびアクセスモードの変更です。
なお，Messageインタフェースが提供する機能も含みます。

2
ConnectionMetaData
JMSの基本情報を提供します。提供する基本情報は，JMS APIのバージョン，JMSプロバイダのバージョン，JMSプロバイダ名およびJMSXプロパティ名の列挙などです。

3
DeliveryMode
メッセージの永続化と非永続化を示す定数を提供します。

4
Message
BytesMessage，ObjectMessageおよびTextMessageのルートインタフェースです。提供する機能は，ヘッダの設定と取得，プロパティの設定，取得と初期化，ペイロードの初期化およびメッセージ受信の承認です。

5
ObjectMessage
設定したデータをjava.io.Serializable型で保持します。提供する機能は，ペイロードの設定と取得です。
なお，Messageインタフェースが提供する機能も含みます。

6
Queue
（Destination）
JMSプロバイダ特有のキュー名を保持します。提供する機能は，キュー名の取得です。

7
QueueBrowser
JMSクライアントがキューからメッセージを削除しないで参照するための機能を提供します。提供する機能は，現在のキューにあるメッセージ一覧の取得，メッセージセレクタの取得，QueueBrowserオブジェクトのクローズおよびキューの取得です。

8
QueueConnection
（Connection）
アプリケーションがCosminexus RMにアクセスするために使用するアプリケーションレベルのハンドルを提供します。提供する機能は，QueueSessionオブジェクトの生成，配送の開始と停止，ConnectionMetaDataオブジェクトの取得，コネクションのクローズです。

9
QueueConnectionFactory
（ConnectionFactory）
コネクションを生成する機能を提供します。

10
QueueReceiver
（MessageConsumer）
JMSクライアントがキューからメッセージを取得するための機能を提供します。提供する機能は，メッセージの受信，メッセージセレクタの取得，QueueReceiverオブジェクトのクローズおよびキューの取得です。

11
QueueSender
（MessageProducer）
JMSクライアントがあて先にメッセージを送信するための機能を提供します。提供する機能は，メッセージの送信，QueueSenderオブジェクトのクローズです。

12
QueueSession
（Session）
アプリケーションが論理的なコネクションハンドルとして利用するインタフェースです。提供する機能は，Message，BytesMessage，ObjectMessage，TextMessage，QueueSender，QueueReceiverおよびQueueBrowserオブジェクトの生成，ローカルトランザクションのコミットとロールバック，セッションのクローズならびに配送するメッセージのリカバーです。

13
TextMessage
設定したデータをjava.lang.String型で保持します。提供する機能は，ペイロードの設定と取得です。
なお，Messageインタフェースが提供する機能も含みます。

注

Sun Microsystems Inc.が提供するJMS 1.0.2bとCosminexus RMが提供するJMSインタフェースとの機能差については，「付録A　JMS仕様との差異」を参照してください。

注※

丸括弧内は継承元となる親インタフェース名です。

JMSインタフェース使用時の例外クラスは，次に示すパッケージによって提供されます。

javax.jms

JMSインタフェース使用時の例外クラスの一覧について，次の表に示します。

表7-2　JMSインタフェースの例外クラスの一覧

項番 | 例外クラス名 | 例外が発生する状況
1 | IllegalStateException | メソッドが不正なタイミングや不適切なタイミングで発行された場合，またはJMSプロバイダが要求された操作に対して適切な状態にない場合
2 | InvalidClientIDException | JMSクライアントがコネクションのJMSクライアント識別子をJMSプロバイダに拒否された値に設定しようとした場合
3 | InvalidDestinationException | あて先がJMSプロバイダによって理解されない，つまりあて先が有効でない場合
4 | InvalidSelectorException | JMSクライアントが不正な構文のメッセージセレクタをJMSプロバイダに指定した場合
5 | JMSException | JMS API例外が発生した場合。すべてのJMS API例外のルートクラスであるため，特定のタイミングに該当しません。
6 | JMSSecurityException | JMSクライアントが送信したユーザ名またはパスワードがJMSプロバイダに拒否された場合
7 | MessageEOFException | BytesMessageインタフェースの読み取り中に予期しないストリーム終端に達した場合
8 | MessageFormatException | JMSクライアントがメッセージによってサポートされていないデータタイプを使おうとした場合，またはメッセージデータを間違った型で読み取ろうとした場合
9 | MessageNotReadableException | JMSクライアントが書き込み専用のメッセージを読み取ろうとした場合
10 | MessageNotWriteableException | JMSクライアントが読み取り専用のメッセージに書き込もうとした場合
11 | ResourceAllocationException | JMSプロバイダがメソッドによって要求されたリソースを割り当てられない場合
12 | TransactionInProgressException | トランザクションが進行中であるために操作が無効である場合
13 | TransactionRolledBackException | Session.commit()メソッドの発行の結果が現在のトランザクションのロールバックに帰着する場合

注意

Cosminexus RMを一つのJ2EEサーバに複数デプロイして，一つのアプリケーションから複数のCosminexus RMを利用する場合，一つのCosminexus RM側で作成したオブジェクトを他方のCosminexus RM側に渡すような操作はしないでください。

例えば，Cosminexus RM1で作成したメッセージをCosminexus RM2のjavax.jms.QueueSenderによって送信するなどの操作はしないでください。

7.3　JMSインタフェース継承図

Cosminexus RMが提供するJMSインタフェースおよび例外クラスには，それぞれ継承関係があります。

JMSインタフェースの継承について，次の図に示します。

図7-1　JMSインタフェースの継承

例外クラスの継承について，次の図に示します。

図7-2　例外クラスの継承

7.4　JMSインタフェースの詳細

JMSインタフェースを名前のアルファベット順に説明します。

＜この節の構成＞

7.4.1　BytesMessageインタフェース

7.4.2　ConnectionMetaDataインタフェース

7.4.3　DeliveryModeインタフェース

7.4.4　Messageインタフェース

7.4.5　ObjectMessageインタフェース

7.4.6　Queue（Destination）インタフェース

7.4.7　QueueBrowserインタフェース

7.4.8　QueueConnection（Connection）インタフェース

7.4.9　QueueConnectionFactory（ConnectionFactory）インタフェース

7.4.10　QueueReceiver（MessageConsumer）インタフェース

7.4.11　QueueSender（MessageProducer）インタフェース

7.4.12　QueueSession（Session）インタフェース

7.4.13　TextMessageインタフェース

7.4.1　BytesMessageインタフェース

BytesMessageインタフェースはバイトストリームを含むメッセージを送受信するために使用します。BytesMessageインタフェースはMessageインタフェースを継承しているため，Messageインタフェースの機能を持っています。

＜この項の構成＞

(1)　ペイロードの設定と取得

(2)　形式

(3)　フィールド

(4)　メソッド

(1)　ペイロードの設定と取得

BytesMessageインタフェースを使用することによってペイロードを設定および取得できます。このペイロードはバイトストリームです。JMSメッセージの各要素については，「2.5.1　JMSメッセージの構成」を参照してください。

(2)　形式

public interface BytesMessage extends Message
{
 public boolean readBoolean() throws JMSException;
 public byte    readByte() throws JMSException;
 public int     readBytes(byte[] value) throws JMSException;
 public int     readBytes(byte[] value, int length)
                  throws JMSException;
 public char    readChar() throws JMSException;
 public double  readDouble() throws JMSException;
 public float   readFloat() throws JMSException;
 public int     readInt() throws JMSException;
 public long    readLong() throws JMSException;
 public short   readShort() throws JMSException;
 public int     readUnsignedByte() throws JMSException;
 public int     readUnsignedShort() throws JMSException;
 public java.lang.String
                readUTF() throws JMSException;
 public void    reset() throws JMSException;
 public void    writeBoolean(boolean value) throws JMSException;
 public void    writeByte(byte value) throws JMSException;
 public void    writeBytes(byte[] value) throws JMSException;
 public void    writeBytes(byte[] value, int offset, int length)
                  throws JMSException;
 public void    writeChar(char value) throws JMSException;
 public void    writeDouble(double value) throws JMSException;
 public void    writeFloat(float value) throws JMSException;
 public void    writeInt(int value) throws JMSException;
 public void    writeLong(long value) throws JMSException;
 public void    writeObject(java.lang.Object value)
                  throws JMSException;
 public void    writeShort(short value) throws JMSException;
 public void    writeUTF(java.lang.String value) throws JMSException;
}

(3)　フィールド

ありません。

(4)　メソッド

「(2)　形式」に記載した順序で各メソッドを説明します。

(a)　readBooleanメソッド

public boolean readBoolean() throws JMSException

バイトストリームからboolean型の値を読み取ります。

引数
ありません。

戻り値
読み取られたbooleanの値です。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageEOFException | バイトストリームの予期しない終端に達しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　readByteメソッド

public byte readByte() throws JMSException

バイトストリームから符号付き8ビット値を読み取ります。

引数
ありません。

戻り値
符号付き8ビットとみなされるバイトストリームの次のバイト。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageEOFException | バイトストリームの予期しない終端に達しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(c)　readBytesメソッド

public int readBytes(byte[] value) throws JMSException

バイトストリームからバイト配列を読み取ります。バイトストリームの長さより配列valueの長さが短い場合，配列valueの長さまでのバイトストリームを読み取ることができます。残りのバイトストリームも再度メソッドを発行することによって配列valueの長さまで読み取ることができます。バイトストリームの長さより配列valueの長さが長い場合，バイトストリームをすべて読み取ることができます。

このとき，読み取られる総バイト数を示す戻り値は，配列valueの長さよりも短くなり，バイトストリームから読み取るバイトが残っていないことを表します。バイトストリームからさらに読み取りを実行すると，-1を返します。

引数

引数名 | 説明
value | データの読み取り先のバッファ

戻り値
バッファに読み取られるバイトの総数。ストリームの終端に達してデータがなくなった場合は-1です。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(d)　readBytesメソッド

public int readBytes(byte[] value, int length) throws JMSException

バイトストリームの一部を読み取ります。

引数

引数名 | 説明
value | データの読み取り先のバッファ
length | 読み取るバイト数（value.length以下）

戻り値
バッファに読み取られるバイトの総数。ストリームの終端に達してデータがなくなった場合は-1です。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(e)　readCharメソッド

public char readChar() throws JMSException

バイトストリームからUnicode文字値を読み取ります。

引数
ありません。

戻り値
バイトストリームの次の2バイトで表されるUnicode文字。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageEOFException | バイトストリームの予期しない終端に達しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(f)　readDoubleメソッド

public double readDouble() throws JMSException

バイトストリームからdouble値を読み取ります。

引数
ありません。

戻り値
バイトストリームの次の8バイトをdoubleと解釈した値です。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageEOFException | バイトストリームの予期しない終端に達しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(g)　readFloatメソッド

public float readFloat() throws JMSException

バイトストリームからfloat値を読み取ります。

引数
ありません。

戻り値
バイトストリームの次の4バイトをfloatと解釈した値です。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageEOFException | バイトストリームの予期しない終端に達しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(h)　readIntメソッド

public int readInt() throws JMSException

バイトストリームから符号付き32ビット整数を読み取ります。

引数
ありません。

戻り値
バイトストリームの次の4バイトをintと解釈した値です。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageEOFException | バイトストリームの予期しない終端に達しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(i)　readLongメソッド

public long readLong() throws JMSException

バイトストリームから符号付き64ビット整数を読み取ります。

引数
ありません。

戻り値
バイトストリームの次の8バイトをlongと解釈した値です。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageEOFException | バイトストリームの予期しない終端に達しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(j)　readShortメソッド

public short readShort() throws JMSException

バイトストリームから符号付き16ビット数を読み取ります。

引数
ありません。

戻り値
バイトストリームの次の2バイトを符号付き16ビットと解釈した値です。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageEOFException | バイトストリームの予期しない終端に達しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(k)　readUnsignedByteメソッド

public int readUnsignedByte() throws JMSException

バイトストリームから符号なし8ビット数を読み取ります。

引数
ありません。

戻り値
バイトストリームの次のバイトを符号なし8ビットと解釈した値です。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageEOFException | バイトストリームの予期しない終端に達しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(l)　readUnsignedShortメソッド

public int readUnsignedShort() throws JMSException

バイトストリームから符号なし16ビット数を読み取ります。

引数
ありません。

戻り値
バイトストリームの次の2バイトを符号なし16ビット整数と解釈した値です。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageEOFException | バイトストリームの予期しない終端に達しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(m)　readUTFメソッド

public java.lang.String readUTF() throws JMSException

修正UTF-8形式を使用してエンコードされた文字列をバイトストリームから読み取ります。一度の発行で読み取られる文字列は65535バイトまでです。

引数
ありません。

戻り値
バイトストリームから読み取られたUnicode文字列。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの読み取りに失敗しました。
MessageEOFException | バイトストリームの予期しない終端に達しました。
MessageNotReadableException | 書き込み専用モードのペイロードから情報を読み取ろうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(n)　resetメソッド

public void reset() throws JMSException

ペイロードを書き込み専用モードから読み取り専用モードに移行してから，バイトストリームを先頭に再配置します。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージのリセットに失敗しました。
MessageFormatException | メッセージ形式不正が原因でメッセージのリセットに失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(o)　writeBooleanメソッド

public void writeBoolean(boolean value) throws JMSException

booleanをバイトストリームに1バイト値として書き込みます。

引数

引数名 | 説明
value | 書き込まれるboolean値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの書き込みに失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(p)　writeByteメソッド

public void writeByte(byte value) throws JMSException

byteをバイトストリームに1バイト値として書き込みます。

引数

引数名 | 説明
value | 書き込まれるbyte値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの書き込みに失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(q)　writeBytesメソッド

public void writeBytes(byte[] value) throws JMSException

バイト配列をバイトストリームに書き込みます。

引数

引数名 | 説明
value | 書き込まれるバイト配列

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの書き込みに失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(r)　writeBytesメソッド

public void writeBytes(byte[] value, int offset, int length)
 throws JMSException

バイト配列の一部をバイトストリームに書き込みます。

引数

引数名 | 説明
value | 書き込まれるバイト配列値
offset | バイト配列内の初期オフセット
length | 書き込まれるバイト数

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの書き込みに失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(s)　writeCharメソッド

public void writeChar(char value) throws JMSException

上位バイトを先頭とする2バイト値として，char型引数をバイトストリームに書き込みます。

引数

引数名 | 説明
value | 書き込まれるchar値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの書き込みに失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(t)　writeDoubleメソッド

public void writeDouble(double value) throws JMSException

Double.doubleToLongBits()メソッドを使用してdouble型引数をlongに変換し，上位バイトを先頭とする8バイトとして，long値をバイトストリームに書き込みます。

引数

引数名 | 説明
value | 書き込まれるdouble値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの書き込みに失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(u)　writeFloatメソッド

public void writeFloat(float value) throws JMSException

Float.floatToIntBits()メソッドを使用してfloat型引数をintに変換し，上位バイトを先頭とする4バイトとして，int値をバイトストリームに書き込みます。

引数

引数名 | 説明
value | 書き込まれるfloat値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの書き込みに失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(v)　writeIntメソッド

public void writeInt(int value) throws JMSException

上位バイトを先頭とする4バイト値として，int型引数をバイトストリームに書き込みます。

引数

引数名 | 説明
value | 書き込まれるint値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの書き込みに失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(w)　writeLongメソッド

public void writeLong(long value) throws JMSException

上位バイトを先頭とする8バイト値として，long型引数をバイトストリームに書き込みます。

引数

引数名 | 説明
value | 書き込まれるlong値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの書き込みに失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(x)　writeObjectメソッド

public void writeObject(java.lang.Object value) throws JMSException

オブジェクトをバイトストリームに書き込みます。引数に設定できる型はオブジェクト化されたプリミティブオブジェクト型（Integer，DoubleおよびLongなど），Stringオブジェクトおよびバイト配列だけです。

引数

引数名 | 説明
value | 書き込まれるJavaプログラミング言語のオブジェクト（Javaオブジェクト）

戻り値
ありません。

例外

例外クラス | 説明
java.lang.NullPointerException | 引数の値がnullなので，ペイロードの書き込みに失敗しました。
JMSException | 内部エラーのためにJMSプロバイダがメッセージの書き込みに失敗しました。
MessageFormatException | 引数の型が無効なためペイロードの書き込みに失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(y)　writeShortメソッド

public void writeShort(short value) throws JMSException

上位バイトを先頭とする2バイト値として，short型引数をバイトストリームに書き込みます。

引数

引数名 | 説明
value | 書き込まれるshort値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの書き込みに失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(z)　writeUTFメソッド

public void writeUTF(java.lang.String value) throws JMSException

マシンに依存しないUTF-8エンコーディング形式を使用して，文字列をバイトストリームに書き込みます。一度の発行で書き込まれる文字列は65535バイトまでです。

引数

引数名 | 説明
value | 書き込まれるString型の値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの書き込みに失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

7.4.2　ConnectionMetaDataインタフェース

ConnectionMetaDataインタフェースはJMSの基本情報を提供します。

＜この項の構成＞

(1)　JMS基本情報の取得

(2)　形式

(3)　フィールド

(4)　メソッド

(1)　JMS基本情報の取得

次に示すJMS基本情報を取得できます。

JMS APIのメジャーバージョン番号

JMS APIのマイナーバージョン番号

JMS APIのバージョン

JMSプロバイダのメジャーバージョン番号

JMSプロバイダのマイナーバージョン番号

JMSプロバイダのバージョン

JMSプロバイダ名

JMSXプロパティ名の列挙

(2)　形式

public interface ConnectionMetaData
{
 public int      getJMSMajorVersion() throws JMSException;
 public int      getJMSMinorVersion() throws JMSException;
 public java.lang.String
                 getJMSProviderName() throws JMSException;
 public java.lang.String
                 getJMSVersion() throws JMSException;
 public java.util.Enumeration
                 getJMSXPropertyNames() throws JMSException;
 public int      getProviderMajorVersion() throws JMSException;
 public int      getProviderMinorVersion() throws JMSException;
 public java.lang.String
                 getProviderVersion() throws JMSException;
}

(3)　フィールド

ありません。

(4)　メソッド

「(2)　形式」に記載した順序で各メソッドを説明します。

(a)　getJMSMajorVersionメソッド

public int getJMSMajorVersion() throws JMSException

JMS APIのメジャーバージョン番号を示す整数である1を返します。

引数
ありません。

戻り値
JMS APIのメジャーバージョン番号。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメタデータの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　getJMSMinorVersionメソッド

public int getJMSMinorVersion() throws JMSException

JMS APIのマイナーバージョン番号を示す整数である0を返します。

引数
ありません。

戻り値
JMSのマイナーバージョン番号。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメタデータの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(c)　getJMSProviderNameメソッド

public java.lang.String getJMSProviderName() throws JMSException

JMSプロバイダ名を示す文字列である"Cosminexus Reliable Messaging"を返します。

引数
ありません。

戻り値
JMSプロバイダ名。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメタデータの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(d)　getJMSVersionメソッド

public java.lang.String getJMSVersion() throws JMSException

JMS APIのバージョンを示す文字列である"1.0"を返します。

引数
ありません。

戻り値
JMS APIのバージョン。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメタデータの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(e)　getJMSXPropertyNamesメソッド

public java.util.Enumeration getJMSXPropertyNames() throws JMSException

Cosminexus RMで使用できるJMS定義JMSXプロパティ名を示す文字列の列挙（"JMSXRcvTimestamp"，"JMSXDeliveryCount"，"JMSXGroupID"および"JMSXGroupSeq"）を返します。

引数
ありません。

戻り値
JMSXプロパティ名の列挙。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメタデータの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(f)　getProviderMajorVersionメソッド

public int getProviderMajorVersion() throws JMSException

JMSプロバイダのメジャーバージョン番号を返します。この値は，Cosminexus RMのバージョンに対応します。例えば，Cosminexus RM 01-02の場合，1を返します。

引数
ありません。

戻り値
JMSプロバイダのメジャーバージョン番号。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメタデータの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(g)　getProviderMinorVersionメソッド

public int getProviderMinorVersion() throws JMSException

JMSプロバイダのマイナーバージョン番号を返します。この値は，Cosminexus RMのリビジョンに対応します。例えば，Cosminexus RM 01-02の場合，2を返します。

引数
ありません。

戻り値
JMSプロバイダのマイナーバージョン番号。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメタデータの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(h)　getProviderVersionメソッド

public java.lang.String getProviderVersion() throws JMSException

JMSプロバイダのバージョンを示す文字列を返します。この文字列は，Cosminexus RMのバージョンおよびリビジョンに対応します。ただし，限定コードは対象外です。例えば，Cosminexus RM 01-02-01の場合は，"1.2"を返します。

引数
ありません。

戻り値
JMSプロバイダのバージョン。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメタデータの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

7.4.3　DeliveryModeインタフェース

DeliveryModeインタフェースは，JMSでサポートしているメッセージの管理形態を表す定数を定義するインタフェースです。

＜この項の構成＞

(1)　形式

(2)　フィールド

(3)　メソッド

(1)　形式

public interface DeliveryMode
{
 public static final int  NON_PERSISTENT;
 public static final int  PERSISTENT;
}

(2)　フィールド

「(1)　形式」に記載した順序で各フィールドを説明します。

(a)　NON_PERSISTENTフィールド

public static final int NON_PERSISTENT

非永続メッセージを表す定数です。メッセージの送受信で，メッセージを補助記憶装置に記録しないで処理することを意味します。その代わり，PERSISTENTと比べてメッセージ送受信のオーバヘッドが小さくなります。非永続メッセージの管理形態については，「2.5.3(2)　キュー作成時の指定値とメッセージのヘッダ」を参照してください。

(b)　PERSISTENTフィールド

public static final int PERSISTENT

永続メッセージを表す定数です。メッセージの送受信で，メッセージを補助記憶装置に記録して処理することを意味します。永続メッセージの管理形態については，「2.5.3(2)　キュー作成時の指定値とメッセージのヘッダ」を参照してください。

(3)　メソッド

ありません。

7.4.4　Messageインタフェース

Messageインタフェースはペイロードを持たないメッセージを送受信するために使用できます。Messageインタフェースは，すべてのJMSメッセージのルートインタフェースです。

JMSメッセージはヘッダとプロパティとペイロード（メッセージ本体）の3要素から構成されます。JMSメッセージ，構成要素およびアクセスモードについては，「2.5　メッセージの構成」を参照してください。

＜この項の構成＞

(1)　ヘッダの設定と取得

(2)　プロパティの設定，取得および初期化

(3)　ペイロードの初期化

(4)　メッセージ受信の承認

(5)　形式

(6)　フィールド

(7)　メソッド

(1)　ヘッダの設定と取得

Messageインタフェースを使用することでヘッダを設定および取得できます。

(2)　プロパティの設定，取得および初期化

Messageインタフェースを使用することでプロパティを設定，取得および初期化できます。また，プロパティの値は上書きできます。プロパティの初期化にはclearProperties()メソッドを使用します。

(3)　ペイロードの初期化

clearBody()メソッドを発行してペイロードを初期化します。

(4)　メッセージ受信の承認

acknowledge()メソッドを発行して，メッセージの受信を承認します。

(5)　形式

public interface Message
{
 public static final int   DEFAULT_DELIVERY_MODE;
 public static final int   DEFAULT_PRIORITY;
 public static final long  DEFAULT_TIME_TO_LIVE;
 public void     acknowledge() throws JMSException;
 public void     clearBody() throws JMSException;
 public void     clearProperties() throws JMSException;
 public boolean  getBooleanProperty(java.lang.String name)
                   throws JMSException;
 public byte     getByteProperty(java.lang.String name)
                   throws JMSException;
 public double   getDoubleProperty(java.lang.String name)
                   throws JMSException;
 public float    getFloatProperty(java.lang.String name)
                   throws JMSException;
 public int      getIntProperty(java.lang.String name)
                   throws JMSException;
 public java.lang.String
                 getJMSCorrelationID() throws JMSException;
 public byte[]   getJMSCorrelationIDAsBytes() throws JMSException;
 public int      getJMSDeliveryMode() throws JMSException;
 public Destination
                 getJMSDestination() throws JMSException;
 public long     getJMSExpiration() throws JMSException;
 public java.lang.String
                 getJMSMessageID() throws JMSException;
 public int      getJMSPriority() throws JMSException;
 public boolean  getJMSRedelivered() throws JMSException;
 public Destination
                 getJMSReplyTo() throws JMSException;
 public long     getJMSTimestamp() throws JMSException;
 public java.lang.String
                 getJMSType() throws JMSException;
 public long     getLongProperty(java.lang.String name)
                   throws JMSException;
 public java.lang.Object
                 getObjectProperty(java.lang.String name)
                   throws JMSException;
 public java.util.Enumeration
                 getPropertyNames() throws JMSException;
 public short    getShortProperty(java.lang.String name)
                   throws JMSException;
 public java.lang.String
                 getStringProperty(java.lang.String name)
                   throws JMSException;
 public boolean  propertyExists(java.lang.String name)
                   throws JMSException;
 public void     setBooleanProperty(java.lang.String name,
                   boolean value) throws JMSException;
 public void     setByteProperty(java.lang.String name, byte value)
                   throws JMSException;
 public void     setDoubleProperty(java.lang.String name,
                   double value) throws JMSException;
 public void     setFloatProperty(java.lang.String name, float value)
                   throws JMSException;
 public void     setIntProperty(java.lang.String name, int value)
                   throws JMSException;
 public void     setJMSCorrelationID(java.lang.String correlationID)
                   throws JMSException;
 public void     setJMSCorrelationIDAsBytes(byte[] correlationID)
                   throws JMSException;
 public void     setJMSDeliveryMode(int deliveryMode)
                   throws JMSException;
 public void     setJMSDestination(Destination destination)
                   throws JMSException;
 public void     setJMSExpiration(long expiration)
                   throws JMSException;
 public void     setJMSMessageID(java.lang.String id)
                   throws JMSException;
 public void     setJMSPriority(int priority) throws JMSException;
 public void     setJMSRedelivered(boolean redelivered)
                   throws JMSException;
 public void     setJMSReplyTo(Destination replyTo)
                   throws JMSException;
 public void     setJMSTimestamp(long timestamp) throws JMSException;
 public void     setJMSType(java.lang.String type)
                   throws JMSException;
 public void     setLongProperty(java.lang.String name, long value)
                   throws JMSException;
 public void     setObjectProperty(java.lang.String name,
                   java.lang.Object value) throws JMSException;
 public void     setShortProperty(java.lang.String name, short value)
                   throws JMSException;
 public void     setStringProperty(java.lang.String name,
                   java.lang.String value) throws JMSException;
}

(6)　フィールド

「(5)　形式」に記載した順序で各フィールドを説明します。

(a)　DEFAULT_DELIVERY_MODEフィールド

public static final int DEFAULT_DELIVERY_MODE

メッセージの属性を示す値のデフォルト値を保持しています。デフォルト値はDeliveryMode.PERSISTENT（永続）です。

(b)　DEFAULT_PRIORITYフィールド

public static final int DEFAULT_PRIORITY

メッセージの優先度を示す値のデフォルト値を保持しています。デフォルト値は4です。

(c)　DEFAULT_TIME_TO_LIVEフィールド

public static final long DEFAULT_TIME_TO_LIVE

メッセージの保持時間を示す値のデフォルト値を保持しています。デフォルト値は0です。

(7)　メソッド

「(5)　形式」に記載した順序で各メソッドを説明します。

(a)　acknowledgeメソッド

public void acknowledge() throws JMSException

現在のメッセージおよび同じセッションで以前に受信し，かつ以前に承認していないすべてのメッセージに対して，メッセージの受信を承認します。メソッドが正常に終了した場合，受信側は承認したメッセージを何度も受信しないで済みます。

メソッドを発行できる条件を次に示します。条件外でメソッドを発行した場合はJMSExceptionが発生します。

メッセージを同期受信で取得しました。

メッセージは，トランザクション設定がfalseかつメッセージ承認モードがCLIENT_ACKNOWLEDGEのQueueSessionオブジェクトによって生成されました。

メッセージが関連づけられているコネクションおよびセッションがクローズされていません。

トランザクションがトランザクションマネジャによって制御されていません。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
IllegalStateException | トランザクションマネジャでのトランザクションが開始しているときに，メソッドが発行されました。
クローズされたセッションに対して，メソッドが発行されました。
JMSException | トランザクション設定がtrueのときに，メソッドが発行されました。
トランザクション設定がfalseかつメッセージ承認モードがAUTO_ACKNOWLEDGEのときに，メソッドが発行されました。
トランザクション設定がfalseかつメッセージ承認モードがDUPS_OK_ACKNOWLEDGEのときに，メソッドが発行されました。
非同期受信でメッセージを受信したときに，メソッドが発行されました。
キューブラウザで取得した閲覧用のメッセージに対して，メソッドが発行されました。
内部エラーのためにメソッドの実行に失敗し，Session.recover()メソッドが正常に終了した際と同じ状態になりました。
内部エラーのためにJMSプロバイダがメッセージの承認に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　clearBodyメソッド

public void clearBody() throws JMSException

BytesMessage，ObjectMessageおよびTextMessageオブジェクトでメソッドを発行した場合，JMSメッセージのペイロード（メッセージ本体）が初期化されます。初期化されたペイロードの値は，メッセージ生成直後のペイロードの値と同じです。Messageオブジェクトでメソッドを発行した場合は無視されます。なお，メソッドを発行してもヘッダとプロパティは初期化されません。

ペイロードが読み取り専用モードの際にメソッドを発行した場合，ペイロードが初期化されるとともにペイロードの書き込みができるようになります。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージ本体の初期化に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(c)　clearPropertiesメソッド

public void clearProperties() throws JMSException

メッセージのプロパティを初期化します。初期化されたプロパティの値はメッセージ生成直後のプロパティの値と同じです。なお，メソッドを実行してもヘッダとペイロードは初期化されません。

プロパティが読み取り専用モードの際にメソッドを発行した場合，プロパティが初期化されるとともにプロパティの読み取りと書き込みの両方ができるようになります。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがプロパティの初期化に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(d)　getBooleanPropertyメソッド

public boolean getBooleanProperty(java.lang.String name)
 throws JMSException

boolean型のプロパティの値を返します。

引数

引数名 | 説明
name | boolean型のプロパティの名前

戻り値
boolean型のプロパティの値です。指定されたname引数に対応するプロパティ値がない場合，falseを返します。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageFormatException | メッセージ形式不正が原因でプロパティの型変換に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(e)　getBytePropertyメソッド

public byte getByteProperty(java.lang.String name) throws JMSException

byte型のプロパティの値を返します。

引数

引数名 | 説明
name | byte型のプロパティの名前

戻り値
byte型のプロパティの値です。

例外

例外クラス | 説明
java.lang.NumberFormatException | 指定されたname引数に対応するプロパティ値がありません。
JMSException | name引数にnullが指定されました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageFormatException | メッセージ形式不正が原因でプロパティの型変換に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(f)　getDoublePropertyメソッド

public double getDoubleProperty(java.lang.String name)
 throws JMSException

double型のプロパティの値を返します。

引数

引数名 | 説明
name | double型のプロパティの名前

戻り値
double型のプロパティの値です。

例外

例外クラス | 説明
java.lang.NumberFormatException | 指定されたname引数に対応するプロパティ値がありません。
JMSException | name引数にnullが指定されました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageFormatException | メッセージ形式不正が原因でプロパティの型変換に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(g)　getFloatPropertyメソッド

public float getFloatProperty(java.lang.String name)
 throws JMSException

float型のプロパティの値を返します。

引数

引数名 | 説明
name | float型のプロパティの名前

戻り値
float型のプロパティの値です。

例外

例外クラス | 説明
java.lang.NumberFormatException | 指定されたname引数に対応するプロパティ値がありません。
JMSException | name引数にnullが指定されました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageFormatException | メッセージ形式不正が原因でプロパティの型変換に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(h)　getIntPropertyメソッド

public int getIntProperty(java.lang.String name) throws JMSException

int型のプロパティの値を返します。

引数

引数名 | 説明
name | int型のプロパティの名前

戻り値
int型のプロパティの値です。

例外

例外クラス | 説明
java.lang.NumberFormatException | 指定されたname引数に対応するプロパティ値がありません。
JMSException | name引数にnullが指定されました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageFormatException | メッセージ形式不正が原因でプロパティの型変換に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(i)　getJMSCorrelationIDメソッド

public java.lang.String getJMSCorrelationID() throws JMSException

メッセージに設定されたJMSCorrelationIDヘッダの値をString型で取得します。JMSCorrelationIDヘッダが設定されていない場合，nullを返します。

引数
ありません。

戻り値
メッセージの相関識別子。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダが相関識別子の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(j)　getJMSCorrelationIDAsBytesメソッド

public byte[] getJMSCorrelationIDAsBytes() throws JMSException

メッセージに設定されたJMSCorrelationIDヘッダの値をbyte[]で取得します。JMSCorrelationIDヘッダが設定されていない場合，nullを返します。

引数
ありません。

戻り値
メッセージの相関識別子。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダが相関識別子の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(k)　getJMSDeliveryModeメソッド

public int getJMSDeliveryMode() throws JMSException

メッセージに設定されたJMSDeliveryModeヘッダの値を返します。JMSDeliveryModeヘッダが設定されていない場合，DeliveryMode.PERSISTENTを返します。

引数
ありません。

戻り値
メッセージの管理形態として，次に示すどちらかの値を返します。

DeliveryMode.NON_PERSISTENT

DeliveryMode.PERSISTENT

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの管理形態の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(l)　getJMSDestinationメソッド

public Destination getJMSDestination() throws JMSException

メッセージに設定されたJMSDestinationヘッダの値を返します。JMSDestinationヘッダが設定されていない場合，nullを返します。

引数
ありません。

戻り値
メッセージに設定されたJMSDestinationヘッダの値を返します。JMSDestinationヘッダが設定されていない場合，nullを返します。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがあて先の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(m)　getJMSExpirationメソッド

public long getJMSExpiration() throws JMSException

メッセージに設定されたJMSExpirationヘッダの値を返します。JMSExpirationヘッダが設定されていない場合，0を返します。

引数
ありません。

戻り値
メッセージの有効期間値。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージの有効期間の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(n)　getJMSMessageIDメソッド

public java.lang.String getJMSMessageID() throws JMSException

メッセージに設定されたJMSMessageIDヘッダの値を返します。JMSMessageIDヘッダが設定されていない場合，nullを返します。

引数
ありません。

戻り値
メッセージ識別子。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージ識別子の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(o)　getJMSPriorityメソッド

public int getJMSPriority() throws JMSException

メッセージに設定されたJMSPriorityヘッダの値を返します。JMSPriorityヘッダが設定されていない場合，javax.jms.Messge.DEFAULT_PRIORITYを返します。

引数
ありません。

戻り値
メッセージの優先度。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージ優先度の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(p)　getJMSRedeliveredメソッド

public boolean getJMSRedelivered() throws JMSException

メッセージに設定されたJMSRedeliveredヘッダの値を返します。JMSRedeliveredヘッダが設定されていない場合，falseを返します。

引数
ありません。

戻り値
メッセージが再配送中の場合はtrueです。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダが再配送状態の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(q)　getJMSReplyToメソッド

public Destination getJMSReplyTo() throws JMSException

メッセージに設定されたJMSReplyToヘッダの値を返します。JMSReplyToヘッダが設定されていない場合，nullを返します。

引数
ありません。

戻り値
メッセージへの応答の送信先であるDestinationオブジェクト。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがJMSReplyToヘッダの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(r)　getJMSTimestampメソッド

public long getJMSTimestamp() throws JMSException

メッセージに設定されたJMSTimestampヘッダの値を返します。JMSTimestampヘッダが設定されていない場合，0を返します。

引数
ありません。

戻り値
メッセージのタイムスタンプ。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがタイムスタンプの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(s)　getJMSTypeメソッド

public java.lang.String getJMSType() throws JMSException

メッセージに設定されたJMSTypeヘッダの値を返します。JMSTypeヘッダが設定されていない場合，nullを返します。

引数
ありません。

戻り値
メッセージ型。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージ型の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(t)　getLongPropertyメソッド

public long getLongProperty(java.lang.String name) throws JMSException

long型のプロパティの値を返します。

引数

引数名 | 説明
name | long型のプロパティの名前

戻り値
指定された名前のlong型のプロパティ値です。

例外

例外クラス | 説明
java.lang.NumberFormatException | 指定されたname引数に対応するプロパティ値がありません。
JMSException | name引数にnullが指定されました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageFormatException | メッセージ形式不正が原因でプロパティの型変換に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(u)　getObjectPropertyメソッド

public java.lang.Object getObjectProperty(java.lang.String name)
 throws JMSException

Object型のプロパティの値を返します。指定された名前に対応するプロパティ値がない場合，nullを返します。

メソッドはBoolean，Byte，Short，Integer，Long，Float，DoubleおよびStringクラスの値だけを返します。

引数

引数名 | 説明
name | Javaオブジェクトプロパティの名前

戻り値
指定された名前のJavaオブジェクトプロパティ値のオブジェクト化形式。例えば，プロパティがintとして設定された場合はIntegerを返します。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(v)　getPropertyNamesメソッド

public java.util.Enumeration getPropertyNames() throws JMSException

すべてのプロパティの名前を返します。プロパティがない場合，nullを返します。

メソッドで取得するプロパティ名の順序は保証されません。

引数
ありません。

戻り値
プロパティ値のすべての名前についての列挙。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(w)　getShortPropertyメソッド

public short getShortProperty(java.lang.String name)
 throws JMSException

short型のプロパティの値を返します。

引数

引数名 | 説明
name | short型のプロパティの名前

戻り値
指定された名前のshort型のプロパティ値です。

例外

例外クラス | 説明
java.lang.NumberFormatException | 指定されたname引数に対応するプロパティ値がありません。
JMSException | name引数にnullが指定されました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageFormatException | メッセージ形式不正が原因でプロパティの型変換に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(x)　getStringPropertyメソッド

public java.lang.String getStringProperty(java.lang.String name)
 throws JMSException

String型のプロパティの値を返します。指定された名前に対応するプロパティ値がない場合，nullを返します。

引数

引数名 | 説明
name | String型のプロパティの名前

戻り値
指定された名前のString型のプロパティ値。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageFormatException | メッセージ形式不正が原因でプロパティの型変換に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(y)　propertyExistsメソッド

public boolean propertyExists(java.lang.String name)
 throws JMSException

指定されたプロパティ名に対応するプロパティがあればtrueを返し，なければfalseを返します。

引数

引数名 | 説明
name | 存在を判定するプロパティの名前

戻り値
プロパティがある場合はtrue，ない場合はfalseを返します。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
内部エラーのためにJMSプロバイダがプロパティの存在確認に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(z)　setBooleanPropertyメソッド

public void setBooleanProperty(java.lang.String name, boolean value)
 throws JMSException

boolean型のプロパティの値を設定します。

プロパティ値は上書きできます。引数の文字数制限は半角全角を問いません。

引数

引数名 | 説明
name | boolean型のプロパティの名前（64文字以下）
value | 設定するboolean型のプロパティ値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
name引数の文字数が制限値を超えました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageNotWriteableException | 読み取り専用モードのプロパティに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(aa)　setBytePropertyメソッド

public void setByteProperty(java.lang.String name, byte value)
 throws JMSException

byte型のプロパティの値を設定します。

プロパティ値は上書きできます。引数の文字数制限は半角全角を問いません。

引数

引数名 | 説明
name | byte型のプロパティの名前（64文字以下）
value | 設定するbyte型のプロパティ値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
name引数の文字数が制限値を超えました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageNotWriteableException | 読み取り専用モードのプロパティに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(ab)　setDoublePropertyメソッド

public void setDoubleProperty(java.lang.String name, double value)
 throws JMSException

double型のプロパティの値を設定します。

プロパティ値は上書きできます。引数の文字数制限は半角全角を問いません。

引数

引数名 | 説明
name | double型のプロパティの名前（64文字以下）
value | 設定するdouble型のプロパティ値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
name引数の文字数が制限値を超えました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageNotWriteableException | 読み取り専用モードのプロパティに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(ac)　setFloatPropertyメソッド

public void setFloatProperty(java.lang.String name, float value)
 throws JMSException

float型のプロパティの値を設定します。

プロパティ値は上書きできます。引数の文字数制限は半角全角を問いません。

引数

引数名 | 説明
name | float型のプロパティの名前（64文字以下）
value | 設定するfloat型のプロパティ値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
name引数の文字数が制限値を超えました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageNotWriteableException | 読み取り専用モードのプロパティに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(ad)　setIntPropertyメソッド

public void setIntProperty(java.lang.String name, int value)
 throws JMSException

int型のプロパティの値を設定します。

プロパティ値は上書きできます。引数の文字数制限は半角全角を問いません。

引数

引数名 | 説明
name | int型のプロパティの名前（64文字以下）
value | 設定するint型のプロパティ値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
name引数の文字数が制限値を超えました。
内部エラーのためにJMSプロバイダがプロパティ値の取得に失敗しました。
MessageNotWriteableException | 読み取り専用モードのプロパティに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(ae)　setJMSCorrelationIDメソッド

public void setJMSCorrelationID(java.lang.String correlationID)
 throws JMSException

メッセージのJMSCorrelationIDヘッダをString型で設定します。

ヘッダ値は上書きできます。引数の文字数制限は半角全角を問いません。

引数

引数名 | 説明
correlationID | 相関識別子（512文字以下）

戻り値
ありません。

例外

例外クラス | 説明
JMSException | correlationID引数の文字数が制限値を超えました。
内部エラーのためにJMSプロバイダが相関識別子の設定に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(af)　setJMSCorrelationIDAsBytesメソッド

public void setJMSCorrelationIDAsBytes(byte[] correlationID)
 throws JMSException

メッセージのJMSCorrelationIDヘッダをbyte[]で設定します。

ヘッダ値は上書きできます。引数の文字数制限は半角全角を問いません。

引数

引数名 | 説明
correlationID | 相関識別子（バイト配列）（512文字以下）

戻り値
ありません。

例外

例外クラス | 説明
JMSException | correlationID引数の文字数が制限値を超えました。
内部エラーのためにJMSプロバイダが相関識別子の設定に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(ag)　setJMSDeliveryModeメソッド

public void setJMSDeliveryMode(int deliveryMode) throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名
説明

deliveryMode
メッセージの管理形態として，次に示すどちらかの値を指定できます。

DeliveryMode.NON_PERSISTENT：非永続

DeliveryMode.PERSISTENT：永続

戻り値
ありません。

例外
ありません。

(ah)　setJMSDestinationメソッド

public void setJMSDestination(Destination destination)
 throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
destination | メッセージの送信先

戻り値
ありません。

例外
ありません。

(ai)　setJMSExpirationメソッド

public void setJMSExpiration(long expiration) throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
expiration | メッセージの有効期間

戻り値
ありません。

例外
ありません。

(aj)　setJMSMessageIDメソッド

public void setJMSMessageID(java.lang.String id) throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
id | メッセージ識別子

戻り値
ありません。

例外
ありません。

(ak)　setJMSPriorityメソッド

public void setJMSPriority(int priority) throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
priority | メッセージの優先度

戻り値
ありません。

例外
ありません。

(al)　setJMSRedeliveredメソッド

public void setJMSRedelivered(boolean redelivered) throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
redelivered | メッセージが再配送中であるかどうかを示す値です。値がtrueの場合，再配送中であることを示します。

戻り値
ありません。

例外
ありません。

(am)　setJMSReplyToメソッド

public void setJMSReplyTo(Destination replyTo) throws JMSException

メッセージのJMSReplyToヘッダをDestination型で設定します。

ヘッダ値は上書きできます。

引数

引数名 | 説明
replyTo | メッセージへの応答の送信先

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがJMSReplyToヘッダの設定に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(an)　setJMSTimestampメソッド

public void setJMSTimestamp(long timestamp) throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
timestamp | メッセージのタイムスタンプ

戻り値
ありません。

例外
ありません。

(ao)　setJMSTypeメソッド

public void setJMSType(java.lang.String type) throws JMSException

メッセージのJMSTypeヘッダをStringで設定します。

ヘッダ値は上書きできます。引数の文字数制限は半角全角を問いません。

引数

引数名 | 説明
type | メッセージ型（512文字以下）

戻り値
ありません。

例外

例外クラス | 説明
JMSException | type引数の文字数が制限値を超えました。
内部エラーのためにJMSプロバイダがメッセージ型の設定に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(ap)　setLongPropertyメソッド

public void setLongProperty(java.lang.String name, long value)
 throws JMSException

long型のプロパティの値を設定します。

プロパティ値は上書きできます。引数の文字数制限は半角全角を問いません。

引数

引数名 | 説明
name | long型のプロパティの名前（64文字以下）
value | 設定するlong型のプロパティ値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
name引数の文字数が制限値を超えました。
内部エラーのためにJMSプロバイダがプロパティ値の設定に失敗しました。
MessageNotWriteableException | 読み取り専用モードのプロパティに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(aq)　setObjectPropertyメソッド

public void setObjectProperty(java.lang.String name,
 java.lang.Object value) throws JMSException

Object型のプロパティの値を設定します。

メソッドはBoolean，Byte，Short，Integer，Long，Float，DoubleおよびStringクラスの値を受け付けます。そのほかのクラスを使用すると，JMSExceptionが発生します。

プロパティ値にはnullを指定できます。

引数の文字数制限は半角全角を問いません。

プロパティ値は上書きできます。

引数

引数名 | 説明
name | Javaオブジェクトプロパティの名前（64文字以下）
value | 設定するJavaオブジェクトプロパティ値（String型のプロパティ値の場合は512文字以下）

戻り値
ありません。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
name引数の文字数が制限値を超えました。
value引数にString型のクラスを指定し，その文字数が制限値を超えました。
内部エラーのためにJMSプロバイダがプロパティ値の設定に失敗しました。
MessageFormatException | 引数valueの形式不正が原因でプロパティの型変換に失敗しました。
MessageNotWriteableException | 読み取り専用モードのプロパティに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(ar)　setShortPropertyメソッド

public void setShortProperty(java.lang.String name, short value)
 throws JMSException

short型のプロパティの値を設定します。

プロパティ値は上書きできます。引数の文字数制限は半角全角を問いません。

引数

引数名 | 説明
name | short型のプロパティの名前（64文字以下）
value | 設定するshort型のプロパティ値

戻り値
ありません。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
name引数の文字数が制限値を超えました。
内部エラーのためにJMSプロバイダがプロパティの設定に失敗しました。
MessageNotWriteableException | 読み取り専用モードのプロパティに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(as)　setStringPropertyメソッド

public void setStringProperty(java.lang.String name,
 java.lang.String value) throws JMSException

String型のプロパティの値を設定します。

プロパティ値にはnullを指定できます。

引数の文字数制限は半角全角を問いません。

プロパティ値は上書きできます。

引数

引数名 | 説明
name | String型のプロパティの名前（64文字以下）
value | 設定するString型のプロパティ値（512文字以下）

戻り値
ありません。

例外

例外クラス | 説明
JMSException | name引数にnullが指定されました。
name引数の文字数が制限値を超えました。
value引数の文字数が制限値を超えました。
内部エラーのためにJMSプロバイダがプロパティ値の設定に失敗しました。
MessageNotWriteableException | 読み取り専用モードのプロパティに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

7.4.5　ObjectMessageインタフェース

ObjectMessageインタフェースはシリアライズできるJavaオブジェクトを含むメッセージを送受信するために使用します。ObjectMessageインタフェースはMessageインタフェースを継承しているため，Messageインタフェースの機能を持っています。

＜この項の構成＞

(1)　ペイロードの設定と取得

(2)　形式

(3)　フィールド

(4)　メソッド

(1)　ペイロードの設定と取得

ObjectMessageインタフェースを使用することでペイロードを設定および取得できます。このペイロードはシリアライズできるJavaオブジェクトです。JMSメッセージの各要素については，「2.5.1　JMSメッセージの構成」を参照してください。

(2)　形式

public interface ObjectMessage extends Message
{
 public java.io.Serializable
              getObject() throws JMSException;
 public void  setObject(java.io.Serializable object)
                throws JMSException;
}

(3)　フィールド

ありません。

(4)　メソッド

「(2)　形式」に記載した順序で各メソッドを説明します。

(a)　getObjectメソッド

public java.io.Serializable getObject() throws JMSException

直列化できるメッセージ本体データを返します。メッセージ本体が設定されていない場合はデフォルト値であるnullを返します。

引数
ありません。

戻り値
メッセージのデータを含む直列化できるオブジェクト。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがオブジェクトの取得に失敗しました。
MessageFormatException | ペイロードの型が無効なため直列化されたオブジェクトの復元が失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　setObjectメソッド

public void setObject(java.io.Serializable object) throws JMSException

メッセージのデータを含む直列化できるオブジェクトを設定します。

setObjectメソッドの内部では引数オブジェクトのコピーを生成し，そのコピーをObjectMessageオブジェクトのペイロードに設定します。そのため，そのあと引数オブジェクトを変更してもObjectMessageオブジェクトのペイロードに影響しなくなります。

注意

ユーザが定義したクラスのオブジェクトをObjectMessageオブジェクトのペイロードに設定する場合は，ユーザが定義したクラスまたはクラスが含まれるJARファイルのクラスパスを，コンテナ拡張ライブラリとしてCosminexusのJ2EEサーバ用オプション定義ファイルに指定してください。J2EEサーバ用オプション定義ファイルについては，マニュアル「Cosminexus リファレンス 定義編」を参照してください。

クラスパスが指定されていない状態で，ObjectMessageオブジェクトのペイロードにユーザが定義したクラスのオブジェクトを設定しようとすると，JMSExceptionが発生します。

引数

引数名 | 説明
object | メッセージのデータ

戻り値
ありません。

例外

例外クラス | 説明
JMSException | object引数にnullが指定されました。
内部エラーのためにJMSプロバイダがオブジェクトの設定に失敗しました。
MessageFormatException | 引数の型が無効なためオブジェクトの直列化が失敗しました。
MessageNotWriteableException | 読み取り専用モードのプロパティに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

7.4.6　Queue（Destination）インタフェース

Queue（Destination）インタフェースは，送受信するメッセージのあて先を指定するためのJMS管理オブジェクトです。Queue（Destination）インタフェースは，メッセージのあて先となるキューをカプセル化したものです。

＜この項の構成＞

(1)　キュー名の取得

(2)　形式

(3)　フィールド

(4)　メソッド

(1)　キュー名の取得

キュー名の取得を行います。

(2)　形式

public interface Destination
{ }

public interface Queue extends Destination
{
 public java.lang.String
              getQueueName() throws JMSException;
 public java.lang.String
              toString();
}

(3)　フィールド

ありません。

(4)　メソッド

「(2)　形式」に記載した順序で各メソッドを説明します。

(a)　getQueueNameメソッド

public java.lang.String getQueueName() throws JMSException

キュー名を返します。名前に依存したJMSクライアントにはポータビリティが保証されません。

引数
ありません。

戻り値
キュー名。

例外

例外クラス | 説明
JMSException | 内部エラーのためにQueueオブジェクトのJMSプロバイダ実装がキュー名を返すことに失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　toStringメソッド

public java.lang.String toString()

キュー名を特定するための文字列を返します。java.lang.ObjectのtoString()メソッドをオーバライドします。

引数
ありません。

戻り値
JMSプロバイダがキューを特定する識別用の値です。

例外
ありません。

7.4.7　QueueBrowserインタフェース

QueueBrowserインタフェースは，JMSクライアントがキューからメッセージを削除しないで参照するために使用します。

＜この項の構成＞

(1)　現在のキューにあるメッセージ一覧の取得

(2)　メッセージセレクタの取得

(3)　キューブラウザのクローズ

(4)　キューの取得

(5)　形式

(6)　フィールド

(7)　メソッド

(1)　現在のキューにあるメッセージ一覧の取得

現在のキューにあるメッセージの一覧を取得します。メッセージセレクタを設定してQueueBrowserオブジェクトが生成されている場合は，メッセージセレクタに応じたメッセージだけを参照できます。

(2)　メッセージセレクタの取得

QueueBrowserオブジェクトを生成する際に設定されたメッセージセレクタを取得します。メッセージセレクタについては，「2.6.2　メッセージセレクタ」を参照してください。

(3)　キューブラウザのクローズ

QueueBrowserオブジェクトをクローズできます。クローズによって，QueueBrowserオブジェクトに関連づけられたすべてのリソースを解放します。

QueueBrowserインタフェースのメソッドは，複数スレッドからの同時発行をJMSで禁止されています。ただし，close()メソッドだけは複数スレッドから同時発行してパラレルに実行できます。

(4)　キューの取得

キューブラウザを生成する際に設定されたキューを取得します。

(5)　形式

public interface QueueBrowser
{
 public void     close() throws JMSException;
 public java.util.Enumeration
                 getEnumeration() throws JMSException;
 public java.lang.String
                 getMessageSelector() throws JMSException;
 public Queue    getQueue() throws JMSException;
}

(6)　フィールド

ありません。

(7)　メソッド

「(5)　形式」に記載した順序で各メソッドを説明します。

(a)　closeメソッド

public void close() throws JMSException

キューブラウザをクローズします。キューブラウザには幾つかのリソースが割り当てられている場合があるため，リソースが不要になった場合はキューブラウザをクローズしてください。

クローズされているキューブラウザをクローズしても例外は発生しません。

このメソッドはQueueBrowserインタフェースでは唯一，複数スレッドから同時に発行できます。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがキューブラウザをクローズする処理に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　getEnumerationメソッド

public java.util.Enumeration getEnumeration() throws JMSException

現在のキューにあるメッセージの列挙を取得します。

一覧を取得したあとにメッセージを閲覧する場合，メッセージがすでに削除または消失していることがあります。

キューブラウザがclose状態の場合，Enumeration.hasMoreElements()メソッドの戻り値はfalseです。

キューブラウザがclose状態の場合，Enumeration.nextElement()メソッドを発行するとNoSuchElementExceptionが発生します。

送信用共用キューおよび転送キューにgetEnumeration()メソッドを発行した場合は空のリストを返します。

引数
ありません。

戻り値
表示用メッセージの一覧。

例外

例外クラス | 説明
JMSException | セッション，コネクションまたはキューブラウザをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダがQueueBrowserオブジェクトのメッセージ一覧の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(c)　getMessageSelectorメソッド

public java.lang.String getMessageSelector() throws JMSException

キューブラウザのメッセージセレクタ構文を返します。

引数
ありません。

戻り値
キューブラウザのメッセージセレクタ構文。

例外

例外クラス | 説明
JMSException | セッション，コネクションまたはキューブラウザをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダがQueueBrowserオブジェクトのメッセージセレクタの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(d)　getQueueメソッド

public Queue getQueue() throws JMSException

キューブラウザに関連づけられたキューを返します。

引数
ありません。

戻り値
キューブラウザのQueueオブジェクト。

例外

例外クラス | 説明
JMSException | セッション，コネクションまたはキューブラウザをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダがQueueBrowserオブジェクトに関連づけられたキューの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

7.4.8　QueueConnection（Connection）インタフェース

QueueConnectionインタフェースは，アプリケーションがCosminexus RMにアクセスするために使用するアプリケーションレベルのハンドルを提供します。

QueueConnectionオブジェクトを取得するには，QueueConnectionFactory.createQueueConnection()メソッドを使用します。

＜この項の構成＞

(1)　キューセッションの生成

(2)　配送の開始と停止

(3)　コネクションメタデータの取得

(4)　キューコネクションのクローズ

(5)　形式

(6)　フィールド

(7)　メソッド

(1)　キューセッションの生成

createQueueSession()メソッドを発行することでQueueSessionオブジェクトを生成します。また，createQueueSession()メソッドのtransacted引数によってトランザクション設定を指定し，acknowledgeMode引数を指定することでメッセージ承認モードを指定できます。

各引数を指定したときのトランザクションとメッセージ送受信の関係については，「2.6.6　トランザクション制御」を参照してください。

(2)　配送の開始と停止

start()およびstop()メソッドを発行することで配送の開始と停止を制御できます。QueueConnectionオブジェクトは生成時に配送停止状態に設定されています。

(3)　コネクションメタデータの取得

Cosminexus RMの製品名やバージョン，JMS APIのバージョンを保持するConnectionMetaDataオブジェクトを取得できます。

(4)　キューコネクションのクローズ

QueueConnectionオブジェクトをクローズできます。クローズによって，QueueConnectionオブジェクトに関連づけられたすべてのセッションをクローズし，QueueConnectionオブジェクトに関連づけられたすべてのリソースを解放します。

(5)　形式

public interface Connection
{
 public void     close() throws JMSException;
 public java.lang.String
                 getClientID() throws JMSException;
 public ExceptionListener
                 getExceptionListener() throws JMSException;
 public ConnectionMetaData
                 getMetaData() throws JMSException;
 public void     setClientID(java.lang.String clientID)
                   throws JMSException;
 public void     setExceptionListener(ExceptionListener listener)
                   throws JMSException;
 public void     start() throws JMSException;
 public void     stop() throws JMSException;
}

public interface QueueConnection extends javax.jms.Connection
{
 public ConnectionConsumer
                 createConnectionConsumer(Queue queue,
                   java.lang.String messageSelector,
                   ServerSessionPool sessionPool, int maxMessages)
                   throws JMSException;
 public QueueSession
                 createQueueSession(boolean transacted,
                   int acknowledgeMode) throws JMSException;
}

(6)　フィールド

ありません。

(7)　メソッド

「(5)　形式」に記載した順序で各メソッドを説明します。

(a)　closeメソッド

public void close() throws JMSException

コネクションをクローズします。メソッドを発行すると，コネクションに関連づけられているすべてのセッションがクローズされます。コネクションに代わってJavaVM外部リソースが割り当てられているので，これらのリソースが不要になった場合はコネクションをクローズしてください。メソッドを発行すると次に示すとおり動作します。

メッセージ処理が適切な方法で終了されるまで，メソッドは復帰しません。

コネクションに関連づけられているすべてのセッションのトランザクションはロールバックされます。

コネクションに関連づけられているすべてのセッションがクローズします。

コネクションに関連づけられているすべてのセッションでのすべての未承認メッセージは，QueueSession.recover()メソッドが正常終了した場合と同じ状態になります。

クローズされているコネクションをクローズしても例外は発生しません。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがコネクションのクローズに失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　getClientIDメソッド

public java.lang.String getClientID() throws JMSException

このメソッドは未サポートです。

このメソッドを発行した場合，nullを返します。

引数
ありません。

戻り値
一意のJMSクライアント識別子。

例外
ありません。

(c)　getExceptionListenerメソッド

public ExceptionListener getExceptionListener() throws JMSException

このメソッドは未サポートです。

このメソッドを発行した場合，nullを返します。

引数
ありません。

戻り値
例外リスナ。

例外
ありません。

(d)　getMetaDataメソッド

public ConnectionMetaData getMetaData() throws JMSException

コネクションのメタデータを返します。

引数
ありません。

戻り値
コネクションメタデータ。

例外

例外クラス | 説明
JMSException | コネクションがクローズしている状態で，メソッドを発行しました。
内部エラーのためにJMSプロバイダがコネクション用のメタデータ取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(e)　setClientIDメソッド

public void setClientID(java.lang.String clientID) throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
java.lang.String | 一意のJMSクライアント識別子

戻り値
ありません。

例外
ありません。

(f)　setExceptionListenerメソッド

public void setExceptionListener(ExceptionListener listener)
 throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
listener | 例外リスナ

戻り値
ありません。

例外
ありません。

(g)　startメソッド

public void start() throws JMSException

コネクションを開始することによって，コネクションに関連づけられているすべてのセッションで，メッセージの配送を開始（または再度開始）します。stop()メソッド発行後や生成後のコネクションは配送が禁止された状態であり，start()メソッドを発行するまでコネクションでは配送が開始されません。開始しているコネクションに対するstart()メソッドの発行は無視されます。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
JMSException | コネクションがクローズしている状態で，メソッドを発行しました。
内部エラーのためにJMSプロバイダがメッセージ配送の開始に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(h)　stopメソッド

public void stop() throws JMSException

コネクションでのメッセージの配送を一時的に停止します。コネクションを停止すると，コネクションに関連づけられているすべてのセッションで配送が禁止されます。停止しているコネクションに対するstop()メソッドの発行は無視されます。

メッセージの配送が停止するまで，stop()メソッドの発行は復帰しません。これは，コネクションが再度開始されるまで，receive()メソッドの復帰を待つすべてのスレッドがメッセージを保持して復帰しないことを意味します。停止したコネクションのQueueReceiver.receive()メソッドのタイマは進行し続けるため，コネクション停止中にreceive()メソッドの処理がタイムアウトすることがあります。

なお，コネクションが停止している間もメッセージは送信できます。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
JMSException | コネクションがクローズしている状態で，メソッドを発行しました。
内部エラーのためにJMSプロバイダがメッセージ配送の停止に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(i)　createConnectionConsumerメソッド

public ConnectionConsumer createConnectionConsumer(Queue queue,
 java.lang.String messageSelector, ServerSessionPool sessionPool,
 int maxMessages) throws JMSException

このメソッドは未サポートです。

このメソッドを発行した場合，JMSExceptionが発生します。

引数

引数名 | 説明
queue | アクセス対象のキュー
messageSelector | メッセージセレクタ構文に一致するプロパティを保持するメッセージだけが配送されます。
sessionPool | 接続コンシューマに関連づけるサーバセッションプール
maxMessages | 一度にサーバセッションに割り当てできる最大メッセージ数

戻り値
コネクションコンシューマ。

例外

例外クラス | 説明
JMSException | メソッドが未サポートであることを示します。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(j)　createQueueSessionメソッド

public QueueSession createQueueSession(boolean transacted,
 int acknowledgeMode) throws JMSException

QueueSessionオブジェクトを生成します。

引数

引数名
説明

transacted
トランザクション設定を指定する引数です。セッションがトランザクション処理されるかどうかを示します。有効な値を次に示します。

true：トランザクション管理されます。

false：トランザクション管理されません。

acknowledgeMode
メッセージ承認モードを指定する引数です。JMSクライアントが受信するメッセージをどのように承認するかを示します。transacted引数がtrueの場合は無視されます。有効な値を次に示します。

Session.AUTO_ACKNOWLEDGE

Session.DUPS_OK_ACKNOWLEDGE

Session.CLIENT_ACKNOWLEDGE

戻り値
新しく作成されたキューセッション。

例外

例外クラス | 説明
JMSException | コネクションがクローズしている状態で，メソッドを発行しました。
内部エラーまたはトランザクションおよびメッセージ承認モードのサポートが不足しているために，QueueConnectionオブジェクトがセッションの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

7.4.9　QueueConnectionFactory（ConnectionFactory）インタフェース

QueueConnectionFactory（ConnectionFactory）インタフェースは，QueueConnectionオブジェクトを生成するためのファクトリです。JNDIに登録されているQueueConnectionFactoryのJNDI登録名をアプリケーションがlookupすることによってQueueConnectionFactoryオブジェクトを取得します。

＜この項の構成＞

(1)　キューコネクションの生成

(2)　形式

(3)　フィールド

(4)　メソッド

(1)　キューコネクションの生成

createQueueConnection()メソッドを発行することによってQueueConnectionオブジェクトを生成します。

(2)　形式

public interface ConnectionFactory
{ }

public interface QueueConnectionFactory
 extends ConnectionFactory
{
 public QueueConnection
                 createQueueConnection() throws JMSException;
 public QueueConnection
                 createQueueConnection(java.lang.String userName,
                   java.lang.String password) throws JMSException;
}

(3)　フィールド

ありません。

(4)　メソッド

「(2)　形式」に記載した順序で各メソッドを説明します。

(a)　createQueueConnectionメソッド

public QueueConnection createQueueConnection()
 throws JMSException

キューコネクションを作成します。QueueConnection.start()メソッドが明示的に発行されるまで，メッセージは配送されません。

引数
ありません。

戻り値
新規に作成されたキューコネクション。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがキューコネクションの作成に失敗しました。
JMSSecurityException | 無効なユーザ名またはパスワードが指定されたために，JMSクライアント認証が失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　createQueueConnectionメソッド

public QueueConnection createQueueConnection(
 java.lang.String userName, java.lang.String password)
 throws JMSException

デフォルトのユーザ識別情報を使用してキューコネクションを作成します。QueueConnection.start()メソッドが明示的に発行されるまで，メッセージは配送されません。

引数

引数名 | 説明
userName | 呼び出し側のユーザ名
password | 呼び出し側のパスワード

戻り値
新規に作成されたキューコネクション。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがキューコネクションの作成に失敗しました。
JMSSecurityException | 無効なユーザ名またはパスワードが指定されたために，JMSクライアント認証が失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

7.4.10　QueueReceiver（MessageConsumer）インタフェース

QueueReceiver（MessageConsumer）インタフェースは，JMSクライアントがキューからメッセージを受信するために使用します。

＜この項の構成＞

(1)　メッセージの受信

(2)　メッセージセレクタの取得

(3)　キューレシーバのクローズ

(4)　キューの取得

(5)　形式

(6)　フィールド

(7)　メソッド

(1)　メッセージの受信

メッセージを受信できます。メッセージセレクタを設定してQueueReceiverオブジェクトが生成されている場合は，メッセージセレクタに応じたメッセージだけを受信できます。

また，メッセージの受信処理には，次に示す種類があります。

通常のメッセージ受信処理

次メッセージがすぐに利用できるならそのメッセージを受信する処理

タイムアウト間隔内に到着する次メッセージを受信する処理

(2)　メッセージセレクタの取得

QueueReceiverオブジェクトを生成する際に設定されたメッセージセレクタを取得します。メッセージセレクタについては，「2.6.2　メッセージセレクタ」を参照してください。

(3)　キューレシーバのクローズ

QueueReceiverオブジェクトをクローズできます。クローズによって，QueueReceiverオブジェクトに関連づけられたすべてのリソースを解放します。QueueReceiver（MessageConsumer）インタフェースのメソッドは，複数スレッドからの同時発行をJMSで禁止されています。ただし，close()メソッドだけは複数スレッドから同時発行してパラレルに実行できます。

(4)　キューの取得

QueueReceiverオブジェクトを生成する際に設定されたキューを取得します。

(5)　形式

public interface MessageConsumer
{
 public void     close() throws JMSException;
 public MessageListener
                 getMessageListener() throws JMSException;
 public java.lang.String
                 getMessageSelector() throws JMSException;
 public Message  receive() throws JMSException;
 public Message  receive(long timeout) throws JMSException;
 public Message  receiveNoWait() throws JMSException;
 public void     setMessageListener(MessageListener listener)
                   throws JMSException;
}

public interface QueueReceiver extends MessageConsumer
{
 public Queue    getQueue() throws JMSException;
}

(6)　フィールド

ありません。

(7)　メソッド

「(5)　形式」に記載した順序で各メソッドを説明します。

(a)　closeメソッド

public void close() throws JMSException

メッセージコンシューマをクローズします。メッセージコンシューマには幾つかのリソースが割り当てられている場合があるため，リソースが不要になった場合はメッセージコンシューマをクローズしてください。

クローズされているメッセージコンシューマをクローズしても例外は発生しません。

このメソッドはMessageConsumerインタフェースでは唯一，複数スレッドから同時に発行できます。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージコンシューマをクローズする処理に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　getMessageListenerメソッド

public MessageListener getMessageListener() throws JMSException

このメソッドは未サポートです。

このメソッドを発行した場合，nullを返します。

引数
ありません。

戻り値
メッセージコンシューマのリスナまたはnull（リスナが設定されていない場合）。

例外
ありません。

(c)　getMessageSelectorメソッド

public java.lang.String getMessageSelector() throws JMSException

メッセージコンシューマのメッセージセレクタ構文を返します。

引数
ありません。

戻り値
メッセージコンシューマのメッセージセレクタ。

例外

例外クラス | 説明
JMSException | セッション，コネクションまたはメッセージコンシューマをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダがメッセージセレクタの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(d)　receiveメソッド

public Message receive() throws JMSException

メッセージコンシューマ用に生成された次のメッセージを受信します。

メソッドの発行時に，メッセージコンシューマの生成元であるコネクションがstop状態の場合はnullを返します。メソッドの実行中にコネクションがstop状態になった場合は受信待ち状態でメソッドの処理を続行します。

引数
ありません。

戻り値
メッセージコンシューマ用に生成される次のメッセージ，またはnull（メッセージコンシューマが同時にクローズされる場合）。

例外

例外クラス | 説明
JMSException | セッション，コネクションまたはメッセージコンシューマをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダが次のメッセージの受信に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(e)　receiveメソッド

public Message receive(long timeout) throws JMSException

指定されたタイムアウト間隔内に到着する次のメッセージを受信します。メッセージが到着するか，タイムアウトになるか，またはメッセージコンシューマがクローズされる場合，このメソッドは終了します。timeout引数に0を指定するとタイムアウトになりません。

メッセージの発行時にメッセージコンシューマの生成元のコネクションがstop状態の場合はnullを返します。メソッドの実行中にコネクションがstop状態になった場合は受信を一時的に中断した状態でタイムアウトするまでメソッドの処理を続行します。

なお，receive()発行時に該当キュー内にメッセージがなかった場合は，その後1秒ごとのポーリングによってキュー内のメッセージの有無をチェックします。

引数

引数名 | 説明
timeout | タイムアウト値（ミリ秒）

戻り値
メッセージコンシューマ用に生成される次のメッセージ，またはnull（タイムアウトになるか，メッセージコンシューマが同時にクローズされる場合）。

例外

例外クラス | 説明
JMSException | セッション，コネクションまたはメッセージコンシューマをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダが次のメッセージの受信に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(f)　receiveNoWaitメソッド

public Message receiveNoWait() throws JMSException

次のメッセージがすぐに利用できる場合，そのメッセージを受信します。

メッセージの発行時にメッセージコンシューマの生成元のコネクションがstop状態の場合はnullを返します。

引数
ありません。

戻り値
メッセージコンシューマ用に生成された次のメッセージ，またはnull（受信できる次のメッセージがない場合）。

例外

例外クラス | 説明
JMSException | セッション，コネクションまたはメッセージコンシューマをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダが次のメッセージの受信に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(g)　setMessageListenerメソッド

public void setMessageListener(MessageListener listener)
 throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
listener | メッセージ配送先のリスナ

戻り値
ありません。

例外
ありません。

(h)　getQueueメソッド

public Queue getQueue() throws JMSException

キューレシーバに関連したQueueオブジェクトを返します。

引数
ありません。

戻り値
レシーバのQueueオブジェクト。

例外

例外クラス | 説明
JMSException | セッション，コネクションまたはメッセージコンシューマをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダがQueueReceiverオブジェクトに関連づけられたキューの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

7.4.11　QueueSender（MessageProducer）インタフェース

QueueSender（MessageProducer）インタフェースは，JMSクライアントがあて先にメッセージを送信するために使用します。

＜この項の構成＞

(1)　メッセージの送信

(2)　キューセンダのクローズ

(3)　形式

(4)　フィールド

(5)　メソッド

(1)　メッセージの送信

指定したあて先にメッセージを送信できます。send()メソッドの実行中に，JMSクライアント内の他スレッドがメッセージを変更してはいけません。メッセージが変更された場合のsend()メソッドの結果は保証されません。JMSPriorityヘッダの設定は，メッセージの送信処理の一部として実行されます。

(2)　キューセンダのクローズ

QueueSenderオブジェクトをクローズできます。クローズによって，QueueSenderオブジェクトに関連づけられたすべてのリソースを解放します。QueueSender（MessageProducer）インタフェースのメソッドは，複数スレッドからの同時呼び出しをJMSで禁止されています。ただし，close()メソッドだけは，複数スレッドからの同時発行に対してパラレルに実行できます。

(3)　形式

public interface MessageProducer
{
 public void     close() throws JMSException;
 public int      getDeliveryMode() throws JMSException;
 public boolean  getDisableMessageID() throws JMSException;
 public boolean  getDisableMessageTimestamp() throws JMSException;
 public int      getPriority() throws JMSException;
 public long     getTimeToLive() throws JMSException;
 public void     setDeliveryMode(int deliveryMode)
                   throws JMSException;
 public void     setDisableMessageID(boolean value)
                   throws JMSException;
 public void     setDisableMessageTimestamp(boolean value)
                   throws JMSException;
 public void     setPriority(int defaultPriority)
                   throws JMSException;
 public void     setTimeToLive(long timeToLive) throws JMSException;
}

public interface QueueSender extends MessageProducer
{
 public Queue    getQueue() throws JMSException;
 public void     send(Message message) throws JMSException;
 public void     send(Message message, int deliveryMode, int priority,
                   long timeToLive) throws JMSException;
 public void     send(Queue queue, Message message)
                   throws JMSException;
 public void     send(Queue queue, Message message, int deliveryMode,
                  int priority, long timeToLive) throws JMSException;
}

(4)　フィールド

ありません。

(5)　メソッド

「(3)　形式」に記載した順序で各メソッドを説明します。

(a)　closeメソッド

public void close() throws JMSException

メッセージプロデューサをクローズします。メッセージプロデューサには幾つかのリソースが割り当てられている場合があるため，リソースが不要になった場合はメッセージプロデューサをクローズしてください。

クローズされているメッセージプロデューサをクローズしても例外は発生しません。

このメソッドはMessageProducerインタフェースでは唯一，複数スレッドから同時に発行できます。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがメッセージプロデューサをクローズする処理に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　getDeliveryModeメソッド

public int getDeliveryMode() throws JMSException

このメソッドは未サポートです。

このメソッドを発行した場合，0を返します。

引数
ありません。

戻り値
メッセージプロデューサ用のメッセージ管理形態。次に示すどちらかの値を返します。

DeliveryMode.NON_PERSISTENT：非永続

DeliveryMode.PERSISTENT：永続

例外
ありません。

(c)　getDisableMessageIDメソッド

public boolean getDisableMessageID() throws JMSException

このメソッドは未サポートです。

このメソッドを発行した場合，falseを返します。

引数
ありません。

戻り値
メッセージ識別子が無効かどうかを示す値です。

例外
ありません。

(d)　getDisableMessageTimestampメソッド

public boolean getDisableMessageTimestamp() throws JMSException

このメソッドは未サポートです。

このメソッドを発行した場合，falseを返します。

引数
ありません。

戻り値
メッセージのタイムスタンプが無効かどうかを示す値です。次に示すどちらかを返します。

true：メッセージ識別子は使用できません。

false：メッセージ識別子は使用できます。

例外
ありません。

(e)　getPriorityメソッド

public int getPriority() throws JMSException

メッセージプロデューサに指定された優先度を返します。なお，この値はメッセージに設定されたJMSPriorityヘッダの値と同じです。

引数
ありません。

戻り値
メッセージプロデューサ用のメッセージ優先度。

例外

例外クラス | 説明
JMSException | セッション，コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダが優先度の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(f)　getTimeToLiveメソッド

public long getTimeToLive() throws JMSException

このメソッドは未サポートです。

このメソッドを発行した場合，0を返します。

引数
ありません。

戻り値
メッセージの有効期間（ミリ秒単位）。ゼロは無制限を示します。

例外
ありません。

(g)　setDeliveryModeメソッド

public void setDeliveryMode(int deliveryMode) throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名
説明

deliveryMode
メッセージプロデューサのメッセージの管理形態。次に示すどちらかの値を指定します。

DeliveryMode.NON_PERSISTENT：非永続

DeliveryMode.PERSISTENT：永続

戻り値
ありません。

例外
ありません。

(h)　setDisableMessageIDメソッド

public void setDisableMessageID(boolean value) throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
value | メッセージ識別子が無効かどうかを示す値

戻り値
ありません。

例外
ありません。

(i)　setDisableMessageTimestampメソッド

public void setDisableMessageTimestamp(boolean value)
 throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
value | メッセージ識別子が無効かどうかを示す値

戻り値
ありません。

例外
ありません。

(j)　setPriorityメソッド

public void setPriority(int defaultPriority) throws JMSException

プロデューサのデフォルトの優先度を指定します。0（最低）～9（最高）の範囲の値を指定します。デフォルト値はjavax.jms.Message.DEFAULT_PRIORITYです。範囲以外の値を指定した場合，JMSExceptionが発生します。

引数

引数名 | 説明
defaultPriority | メッセージプロデューサ用のメッセージ優先度。0～9の範囲で値を指定します。

戻り値
ありません。

例外

例外クラス | 説明
JMSException | セッション，コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダが優先度の設定に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(k)　setTimeToLiveメソッド

public void setTimeToLive(long timeToLive) throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
timeToLive | メッセージの有効期間（ミリ秒単位）。ゼロは無制限を示します。

戻り値
ありません。

例外
ありません。

(l)　getQueueメソッド

public Queue getQueue() throws JMSException

キューセンダに関連づけられたキューを返します。

引数
ありません。

戻り値
送信側のキュー。

例外

例外クラス | 説明
JMSException | セッション，コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。
内部エラーのためにJMSプロバイダがQueueSenderオブジェクトに関連づけられたキューの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(m)　sendメソッド

public void send(Message message) throws JMSException

メッセージをキューに送信します。キューセンダで設定した優先度が使用されます。

送信メソッドの実行時にメッセージを変更した場合，送信の結果は保証されません。

引数

引数名 | 説明
message | 送信するメッセージ

戻り値
ありません。

例外

例外クラス | 説明
InvalidDestinationException | JMSクライアントがメソッドを使用する際，キューセンダに無効なキューを指定しました。
JMSException | セッション，コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。
message引数にnullが指定されました。
内部エラーのためにJMSプロバイダがメッセージの送信に失敗しました。
MessageFormatException | 無効なメッセージが指定されました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(n)　sendメソッド

public void send(Message message, int deliveryMode, int priority,
 long timeToLive) throws JMSException

メッセージをキューに送信します。

送信メソッドの実行時にメッセージを変更した場合，送信の結果は保証されません。

このメソッドを発行した場合，deliveryMode引数とtimeToLive引数を無視して実行します。

引数

引数名
説明

message
送信するメッセージ

deliveryMode
使用するメッセージの管理形態。次に示すどちらかの値を指定します。

DeliveryMode.NON_PERSISTENT：非永続

DeliveryMode.PERSISTENT：永続

priority
メッセージの優先度。0（最低）～9（最高）の範囲で値を指定します。

timeToLive
メッセージの有効期間（ミリ秒）

戻り値
ありません。

例外

例外クラス | 説明
InvalidDestinationException | JMSクライアントがメソッドを使用する際，キューセンダに無効なキューを指定しました。
JMSException | セッション，コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。
message引数にnullが指定されました。
内部エラーのためにJMSプロバイダがメッセージの送信に失敗しました。
MessageFormatException | 無効なメッセージが指定されました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(o)　sendメソッド

public void send(Queue queue, Message message) throws JMSException

メッセージをキューに送信します。キューセンダで設定した優先度が使用されます。

queue引数にnullが指定された場合，Session.createSender()メソッドのqueue引数に指定されたキューにメッセージを送信します。

送信メソッドの実行時にメッセージを変更した場合，送信の結果は保証されません。

引数

引数名 | 説明
queue | メッセージのあて先キュー
message | 送信するメッセージ

戻り値
ありません。

例外

例外クラス | 説明
InvalidDestinationException | JMSクライアントがメソッドを使用する際，キューセンダに無効なキューを指定しました。
JMSException | セッション，コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。
message引数にnullが指定されました。
内部エラーのためにJMSプロバイダがメッセージの送信に失敗しました。
MessageFormatException | 無効なメッセージが指定されました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(p)　sendメソッド

public void send(Queue queue, Message message, int deliveryMode,
 int priority, long timeToLive) throws JMSException

メッセージをキューに送信します。

queue引数にnullが指定された場合，Session.createSender()メソッドのqueue引数に指定されたキューにメッセージを送信します。

送信メソッドの実行時にメッセージを変更した場合，送信の結果は保証されません。

このメソッドを発行した場合，deliveryMode引数とtimeToLive引数を無視して実行します。

引数

引数名
説明

queue
メッセージのあて先キュー

message
送信するメッセージ

deliveryMode
使用するメッセージの管理形態。次に示すどちらかの値を指定します。

DeliveryMode.NON_PERSISTENT：非永続

DeliveryMode.PERSISTENT：永続

priority
メッセージの優先度。0（最低）～9（最高）の範囲で値を指定します。

timeToLive
メッセージの有効期間（ミリ秒）

戻り値
ありません。

例外

例外クラス | 説明
InvalidDestinationException | JMSクライアントがメソッドを使用する際，キューセンダに無効なキューを指定しました。
JMSException | セッション，コネクションまたはメッセージプロデューサをクローズしている状態でメソッドを発行しました。
message引数にnullが指定されました。
priority引数に0～9の範囲外の値が指定されました。
内部エラーのためにJMSプロバイダがメッセージの送信に失敗しました。
MessageFormatException | 無効なメッセージが指定されました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

7.4.12　QueueSession（Session）インタフェース

QueueSession（Session）インタフェースはアプリケーションが使用する論理的なコネクションハンドルです。

＜この項の構成＞

(1)　メッセージオブジェクトの生成

(2)　キューセンダの生成

(3)　キューレシーバの生成

(4)　キューブラウザの生成

(5)　ローカルトランザクションのコミットとロールバック

(6)　キューセッションのクローズ

(7)　配送メッセージのリカバー

(8)　形式

(9)　フィールド

(10)　メソッド

(1)　メッセージオブジェクトの生成

メッセージオブジェクト（Message，BytesMessage，ObjectMessageまたはTextMessageオブジェクト）を生成します。

(2)　キューセンダの生成

QueueSenderオブジェクトを生成します。QueueSenderオブジェクトを生成する際，メッセージのあて先をcreateSender()メソッドの引数に指定します。

(3)　キューレシーバの生成

QueueReceiverオブジェクトを生成します。QueueReceiverオブジェクトを生成する際，メッセージセレクタを設定できます。

(4)　キューブラウザの生成

QueueBrowserオブジェクトを生成します。QueueBrowserオブジェクトを生成する際，メッセージセレクタを設定できます。

(5)　ローカルトランザクションのコミットとロールバック

キューセンダとキューレシーバにわたるローカルトランザクションの開始，コミットおよびロールバックを実行します。ローカルトランザクションについては，「2.6.6(1)　ローカルトランザクションの利用」を参照してください。

(6)　キューセッションのクローズ

QueueSessionオブジェクトをクローズできます。クローズによって，QueueSessionオブジェクトに関連づけられたすべてのQueueSender，QueueReceiverおよびQueueBrowserオブジェクトをクローズし，QueueSessionオブジェクトに関連づけられたすべてのリソースを解放します。

QueueSession（Session）インタフェースのメソッドは，複数スレッドからの同時発行をJMSで禁止されています。ただし，close()メソッドだけは複数スレッドから同時発行してパラレルに実行できます。また，クローズされたQueueSessionオブジェクトに関連するインタフェースのメソッドを実行するとIllegalStateExceptionが発生しますが，close()メソッドでは発生しません。

(7)　配送メッセージのリカバー

一度配送されたメッセージを再び配送できるようにします。recover()メソッドの動作については，「2.6.6(4)　トランザクションとメッセージ受信」を参照してください。

(8)　形式

public interface Session extends java.lang.Runnable
{
 public static final int  AUTO_ACKNOWLEDGE;
 public static final int  CLIENT_ACKNOWLEDGE;
 public static final int  DUPS_OK_ACKNOWLEDGE;
 public void     close() throws JMSException;
 public void     commit() throws JMSException;
 public BytesMessage
                 createBytesMessage() throws JMSException;
 public MapMessage
                 createMapMessage() throws JMSException;
 public Message  createMessage() throws JMSException;
 public ObjectMessage
                 createObjectMessage() throws JMSException;
 public ObjectMessage
                 createObjectMessage(java.io.Serializable object)
                   throws JMSException;
 public StreamMessage
                 createStreamMessage() throws JMSException;
 public TextMessage
                 createTextMessage() throws JMSException;
 public TextMessage
                 createTextMessage(java.lang.String text)
                   throws JMSException;
 public MessageListener
                 getMessageListener() throws JMSException;
 public boolean  getTransacted() throws JMSException;
 public void     recover() throws JMSException;
 public void     rollback() throws JMSException;
 public void     run();
 public void     setMessageListener(MessageListener listener)
                   throws JMSException;
}

public interface QueueSession extends Session
{
 public QueueBrowser
                 createBrowser(Queue queue) throws JMSException;
 public QueueBrowser
                 createBrowser(Queue queue,
                   java.lang.String messageSelector)
                   throws JMSException;
 public Queue    createQueue(java.lang.String queueName)
                   throws JMSException;
 public QueueReceiver
                 createReceiver(Queue queue) throws JMSException;
 public QueueReceiver
                 createReceiver(Queue queue,
                   java.lang.String messageSelector)
                   throws JMSException;
 public QueueSender
                 createSender(Queue queue) throws JMSException;
 public TemporaryQueue
                 createTemporaryQueue() throws JMSException;
}

(9)　フィールド

「(8)　形式」に記載した順序で各フィールドを説明します。

(a)　AUTO_ACKNOWLEDGEフィールド

public static final int AUTO_ACKNOWLEDGE

このメッセージ承認モードでは，次に示す場合にセッションがJMSクライアントのメッセージ受信を自動的に確認応答します。

セッションがreceive()メソッドの発行からの復帰に成功した場合

メッセージを処理するためにセッションが発行したメッセージリスナが復帰に成功した場合

(b)　CLIENT_ACKNOWLEDGEフィールド

public static final int CLIENT_ACKNOWLEDGE

このメッセージ承認モードでは，JMSクライアントがメッセージのacknowledge()メソッドを発行して処理済みのメッセージを確認応答します。

(c)　DUPS_OK_ACKNOWLEDGEフィールド

public static final int DUPS_OK_ACKNOWLEDGE

このメッセージ承認モードはAUTO_ACKNOWLEDGEと同じ動作です。

(10)　メソッド

「(8)　形式」に記載した順序で各メソッドを説明します。

(a)　closeメソッド

public void close() throws JMSException

セッションをクローズします。セッションには幾つかのリソースが割り当てられている場合があるため，リソースが不要になった場合はセッションをクローズしてください。メソッドを発行すると次に示すとおり動作します。

セッションのトランザクションはロールバックされます。

セッションに関連づけられているすべてのQueueSender，QueueReceiverおよびQueueBrowserオブジェクトがクローズされます。

メッセージ処理が適切な方法で終了されるまで，メソッドは復帰しません。

セッションのすべての未承認メッセージはQueueSession.recover()メソッドが正常終了したときと同じ状態になります。

なお，クローズされているセッションをクローズしても例外は発生しません。

複数スレッドから同時に発行できるメソッドは，QueueSessionインタフェースではこのメソッドだけです。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがセッションをクローズする処理に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　commitメソッド

public void commit() throws JMSException

トランザクションで実行されたメッセージをすべてコミットし，設定中のロックをすべて解放します。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
IllegalStateException | セッションのトランザクションが開始していない状態で，メソッドが発行されました。
トランザクションマネジャでのトランザクションが進行中（例えば，分散トランザクションがJTAによって制御されている）であるため，コミットに失敗しました。
トランザクションマネジャでのトランザクションがサスペンド中であるため，コミットに失敗しました。
セッションまたはコネクションがクローズしている状態で，メソッドが発行されました。
JMSException | 内部エラーのためにJMSプロバイダがトランザクションのコミットに失敗しました。
TransactionRolledBackException | コミット時に内部エラーのためにトランザクションがロールバックされました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(c)　createBytesMessageメソッド

public BytesMessage createBytesMessage() throws JMSException

BytesMessageオブジェクトを作成します。

引数
ありません。

戻り値
BytesMessageオブジェクト。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
JMSException | 内部エラーのためにJMSプロバイダがメッセージの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(d)　createMapMessageメソッド

public MapMessage createMapMessage() throws JMSException

このメソッドは未サポートです。

このメソッドを発行した場合，JMSExceptionが発生します。

引数
ありません。

戻り値
MapMessageオブジェクト。

例外

例外クラス | 説明
JMSException | メソッドが未サポートであることを示します。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(e)　createMessageメソッド

public Message createMessage() throws JMSException

Messageオブジェクトを作成します。

引数
ありません。

戻り値
Messageオブジェクト。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
JMSException | 内部エラーのためにJMSプロバイダがメッセージの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(f)　createObjectMessageメソッド

public ObjectMessage createObjectMessage() throws JMSException

ObjectMessageオブジェクトを作成します。

引数
ありません。

戻り値
ObjectMessageオブジェクト。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
JMSException | 内部エラーのためにJMSプロバイダがメッセージの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(g)　createObjectMessageメソッド

public ObjectMessage createObjectMessage(java.io.Serializable object)
 throws JMSException

ペイロードを設定済みのObjectMessageオブジェクトを，object引数を基に作成します。

引数

引数名 | 説明
object | メッセージの初期化に使用するオブジェクト

戻り値
ペイロードを設定済みのObjectMessageオブジェクトを，object引数を基に作成します。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
JMSException | 内部エラーのためにJMSプロバイダがメッセージの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(h)　createStreamMessageメソッド

public StreamMessage createStreamMessage() throws JMSException

このメソッドは未サポートです。

このメソッドを発行した場合，JMSExceptionが発生します。

引数
ありません。

戻り値
StreamMessageオブジェクト。

例外

例外クラス | 説明
JMSException | メソッドが未サポートであることを示します。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(i)　createTextMessageメソッド

public TextMessage createTextMessage() throws JMSException

TextMessageオブジェクトを作成します。

引数
ありません。

戻り値
TextMessageオブジェクト。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
JMSException | 内部エラーのためにJMSプロバイダがメッセージの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(j)　createTextMessageメソッド

public TextMessage createTextMessage(java.lang.String text)
 throws JMSException

ペイロードを設定済みのTextMessageオブジェクトを，text引数を基に作成します。

引数

引数名 | 説明
text | メッセージの初期化に使用する文字列

戻り値
ペイロードを設定済みのTextMessageオブジェクトを，text引数を基に作成します。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
JMSException | 内部エラーのためにJMSプロバイダがメッセージの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(k)　getMessageListenerメソッド

public MessageListener getMessageListener() throws JMSException

このメソッドは未サポートです。

メソッドを発行した場合，nullを返します。

引数
ありません。

戻り値
セッションに関連づけられたメッセージリスナ。

例外
ありません。

(l)　getTransactedメソッド

public boolean getTransacted() throws JMSException

セッションがトランザクションモードであるかどうかを示します。

引数
ありません。

戻り値
セッションがトランザクションモードである場合はtrue，そうでない場合はfalseを返します。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
JMSException | 内部エラーのためにJMSプロバイダがトランザクションモード値の取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(m)　recoverメソッド

public void recover() throws JMSException

メソッドを発行すると次に示すとおり動作します。

メッセージ配送を停止します。

今までセッションを介して配送されたメッセージに再配送マークを付けて，再配送できるようにします。

すべての配送済みの未承認メッセージを含む配送シーケンスを再開します。ただし，元の配送順序と同じ順序でメッセージが再配送されることは保証しません。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
IllegalStateException | トランザクションマネジャでのトランザクションが開始しているセッションで，メソッドが発行されました。
トランザクションマネジャでのトランザクションが開始していることによって，メソッドが失敗しました。
セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
JMSException | 内部エラーのためにJMSプロバイダがメッセージ配送の停止および再開に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(n)　rollbackメソッド

public void rollback() throws JMSException

トランザクションで実行されたメッセージをすべてロールバックし，設定中のロックをすべて解放します。

引数
ありません。

戻り値
ありません。

例外

例外クラス | 説明
IllegalStateException | セッションのトランザクションが開始していない状態で，メソッドが発行されました。
トランザクションマネジャでのトランザクションが進行中（例えば，分散トランザクションがJTAによって制御されている）であるため，ロールバックに失敗しました。
トランザクションマネジャでのトランザクションがサスペンド中であるため，ロールバックに失敗しました。
セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
JMSException | 内部エラーのためにJMSプロバイダがトランザクションのロールバックに失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(o)　runメソッド

public void run()

このメソッドは未サポートです。

このメソッドを発行した場合，実質的な処理は行われません。

引数
ありません。

戻り値
ありません。

例外
ありません。

(p)　setMessageListenerメソッド

public void setMessageListener(MessageListener listener)
 throws JMSException

このメソッドは未サポートです。

このメソッドで設定した値は実際には使用されません。

引数

引数名 | 説明
listener | セッションに関連づけるメッセージリスナ

戻り値
ありません。

例外
ありません。

(q)　createBrowserメソッド

public QueueBrowser createBrowser(Queue queue) throws JMSException

QueueBrowserオブジェクトを作成して，指定されたキューのメッセージを調べます。

引数

引数名 | 説明
queue | アクセス対象のキュー

戻り値
QueueBrowserオブジェクト。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
InvalidDestinationException | 無効なキューが指定されたためにQueueBrowserオブジェクトの生成に失敗しました。
JMSException | 内部エラーのためにセッションがQueueBrowserオブジェクトの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(r)　createBrowserメソッド

public QueueBrowser createBrowser(Queue queue,
 java.lang.String messageSelector) throws JMSException

QueueBrowserオブジェクトを作成し，メッセージセレクタを使用して指定されたキューのメッセージを調べます。

引数

引数名 | 説明
queue | アクセス対象のキュー
messageSelector | メッセージセレクタ構文

戻り値
QueueBrowserオブジェクト。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
InvalidDestinationException | 無効なキューが指定されたためにQueueBrowserオブジェクトの生成に失敗しました。
InvalidSelectorException | 無効なメッセージセレクタを設定しました。
JMSException | 内部エラーのためにセッションがQueueBrowserオブジェクトの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(s)　createQueueメソッド

public Queue createQueue(java.lang.String queueName)
 throws JMSException

キューの名前を指定して，キューの識別情報を作成します。

queueName引数にはhrmmkqueコマンドに指定したキュー名を指定します。

引数

引数名 | 説明
queueName | キューの名前

戻り値
指定された名前のQueueオブジェクト。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
JMSException | 内部エラーのためにセッションがキューの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(t)　createReceiverメソッド

public QueueReceiver createReceiver(Queue queue) throws JMSException

QueueReceiverオブジェクトを作成して，指定されたキューからメッセージを受信します。

引数

引数名 | 説明
queue | アクセス対象のキュー

戻り値
QueueReceiverオブジェクト。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
InvalidDestinationException | 無効なキューが指定されたためにQueueReceiverオブジェクトの生成に失敗しました。
JMSException | 内部エラーのためにセッションがQueueReceiverオブジェクトの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(u)　createReceiverメソッド

public QueueReceiver createReceiver(Queue queue,
 java.lang.String messageSelector) throws JMSException

QueueReceiverオブジェクトを作成し，メッセージセレクタを使用して指定されたキューからメッセージを受信します。

引数

引数名 | 説明
queue | アクセス対象のキュー。
messageSelector | メッセージセレクタ。メッセージセレクタ構文に一致するプロパティを保持するメッセージだけが配送されます。

戻り値
QueueReceiverオブジェクト。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
InvalidDestinationException | 無効なキューが指定されたためにQueueReceiverオブジェクトの生成に失敗しました。
InvalidSelectorException | 無効なメッセージセレクタを設定しました。
JMSException | 内部エラーのためにセッションがQueueReceiverオブジェクトの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(v)　createSenderメソッド

public QueueSender createSender(Queue queue) throws JMSException

QueueSenderオブジェクトを作成して，指定されたキューにメッセージを送信します。

引数

引数名 | 説明
queue | アクセス対象のキュー

戻り値
QueueSenderオブジェクト。

例外

例外クラス | 説明
IllegalStateException | セッションまたはコネクションがクローズしている状態で，メソッドを発行しました。
InvalidDestinationException | 無効なキューが指定されたためにQueueSenderオブジェクトの生成に失敗しました。
JMSException | 内部エラーのためにセッションがQueueSenderオブジェクトの作成に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(w)　createTemporaryQueueメソッド

public TemporaryQueue createTemporaryQueue() throws JMSException

このメソッドは未サポートです。

このメソッドを発行した場合，JMSExceptionが発生します。

引数
ありません。

戻り値
TemporaryQueueオブジェクト。

例外

例外クラス | 説明
JMSException | メソッドが未サポートであることを示します。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

7.4.13　TextMessageインタフェース

TextMessageインタフェースはjava.lang.String型のデータを含むメッセージを送受信するために使用します。TextMessageインタフェースはMessageインタフェースを継承しているため，Messageインタフェースの機能を持っています。

＜この項の構成＞

(1)　ペイロードの設定と取得

(2)　形式

(3)　フィールド

(4)　メソッド

(1)　ペイロードの設定と取得

TextMessageインタフェースを使用することでペイロードを設定および取得できます。このペイロードはjava.lang.String型のデータです。JMSメッセージの各要素については，「2.5.1　JMSメッセージの構成」を参照してください。

(2)　形式

public interface TextMessage extends Message
{
 public java.lang.String
                getText() throws JMSException;
 public void    setText(java.lang.String string) throws JMSException;
}

(3)　フィールド

ありません。

(4)　メソッド

「(2)　形式」に記載した順序で各メソッドを説明します。

(a)　getTextメソッド

public java.lang.String getText() throws JMSException

メッセージのデータを含む文字列を返します。メッセージ本体が設定されていない場合はデフォルト値であるnullを返します。

引数
ありません。

戻り値
メッセージのデータを含むStringオブジェクト。

例外

例外クラス | 説明
JMSException | 内部エラーのためにJMSプロバイダがテキストの取得に失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　setTextメソッド

public void setText(java.lang.String string) throws JMSException

メッセージのデータを含む文字列を設定します。

引数

引数名 | 説明
string | メッセージのデータを含むStringオブジェクト

戻り値
ありません。

例外

例外クラス | 説明
JMSException | string引数にnullが指定されました。
内部エラーのためにJMSプロバイダがテキストの設定に失敗しました。
MessageNotWriteableException | 読み取り専用モードのペイロードに情報を書き込もうとしました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

7.5　転送データ相互接続用インタフェースの一覧

Cosminexus RMの転送データ相互接続用インターフェースは永続版リソースアダプタだけが使用できます。非永続版リソースアダプタでは使用できません。

転送データ相互接続用インタフェースは，次に示すパッケージによって提供されます。

jp.co.Hitachi.soft.reliablemessaging.api

Cosminexus RMが提供する転送データ相互接続用インタフェースの一覧について，次の表に示します。

表7-3　転送データ相互接続用インタフェースの一覧

項番
インタフェース名
機能

1
BytesContainerFactory
BytesContainerを生成します。

2
BytesContainer
設定したデータをバイト配列で保持します。提供する機能は，次のとおりです。

バイト配列およびバイト配列のデータ型の設定

バイト配列およびバイト配列のデータ型の取得

保持するバイト配列数の取得

保持する全データの消去

転送データ相互接続用インタフェース使用時の例外クラスは，次に示すパッケージによって提供されます。

jp.co.Hitachi.soft.reliablemessaging.api

転送データ相互接続用インタフェース使用時の例外クラスの一覧について，次の表に示します。

表7-4　転送データ相互接続用インタフェースの例外クラスの一覧

項番 | 例外クラス名 | 例外が発生する状況
1 | HRMException | すべての転送データ相互接続用API例外のルートクラスであるため，特定のタイミングに該当しません。
2 | HRMIllegalArgumentException | メソッドの呼び出しで不正な引数を指定した場合

転送データ相互接続用インタフェースおよび例外のクラスは，次に示すライブラリで提供されます。

%HRMDIR%¥lib¥reliablemessaging-api.jar

転送データ相互接続用インタフェースを使用するアプリケーションのコンパイル時には，上に示すライブラリをクラスパスに含めてください。

7.6　転送データ相互接続用インタフェース継承図

Cosminexus RMの転送データ相互接続用インタフェースBytesContainerFactoryおよびBytesContainerには，継承関係はありません。

一方，例外クラスには継承関係があります。例外クラスの継承について，次の図に示します。

図7-3　転送データ相互接続用例外クラスの継承

7.7　転送データ相互接続用インタフェースの使い方

JMSインタフェースを使用してメッセージを送受信する際，送信メッセージにBytesContainerを設定する方法と，受信したメッセージからBytesContainerを取得する方法を次の表に示します。

表7-5　BytesContainerの使用方法

項番 | 処理内容 | BytesContainerの使用方法
1 | 送信処理 | javax.jms.ObjectMessageオブジェクトのsetObjectメソッドでBytesContainerオブジェクトを設定してメッセージを送信します。
2 | 受信処理 | 受信処理で取得したjavax.jms.ObjectMessageオブジェクトのgetObjectメソッドを使用してBytesContainerオブジェクトを取得します。

Cosminexus RM同士の通信でのBytesContainerの使用方法の概要を次の図に示します。

図7-4　Cosminexus RM同士の通信でのBytesContainer使用方法の概要

他システムとの通信でのBytesContainer使用方法の概要を次の図に示します。

図7-5　Cosminexus RMが送信側の場合の他システムとの通信

図7-6　Cosminexus RMが受信側の場合の他システムとの通信

7.8　転送データ相互接続用インタフェースの詳細

転送データ相互接続用インタフェースを，BytesContainerFactoryインタフェース，BytesContainerインタフェース，HRMExceptionクラス，HRMIllegalArgumentExceptionクラスの順に説明します。

＜この節の構成＞

7.8.1　BytesContainerFactoryインタフェース

7.8.2　BytesContainerインタフェース

7.8.3　HRMExceptionクラス

7.8.4　HRMIllegalArgumentExceptionクラス

7.8.1　BytesContainerFactoryインタフェース

BytesContainerFactoryインタフェースはBytesContainerを生成します。

アプリケーションでは，QueueConnectionオブジェクトのcreateQueueSessionメソッドで取得したQueueSessionオブジェクトに対してBytesContainerFactory をキャストすることによって，BytesContainerFactoryオブジェクトを取得できます。

＜この項の構成＞

(1)　BytesContainerの生成

(2)　形式

(3)　フィールド

(4)　メソッド

(1)　BytesContainerの生成

createBytesContainerメソッドを呼び出すことでBytesContainerを生成します。

(2)　形式

public interface BytesContainerFactory
{
 public BytesContainer createBytesContainer();
}

(3)　フィールド

ありません。

(4)　メソッド

「(2)　形式」に記載した順序で各メソッドを説明します。

(a)　createBytesContainerメソッド

public BytesContainer createBytesContainer()

BytesContainerを作成します。

引数
ありません。

戻り値
新たに作成されたBytesContainer。

7.8.2　BytesContainerインタフェース

BytesContainerインタフェースはバイト配列を含むメッセージを送受信するために使用します。Cosminexus RM同士だけでなく，WS-Reliability1.1に準拠する他システムとデータをやり取りする際に使用できます。

＜この項の構成＞

(1)　BytesContainerインタフェースの仕様

(2)　BytesContainerインタフェースのデータ型

(3)　バイト配列数の取得

(4)　保持する全データの消去

(5)　形式

(6)　フィールド

(7)　メソッド

(1)　BytesContainerインタフェースの仕様

BytesContainerインタフェースは，バイト配列およびバイト配列のデータ型を示す値の組を1個だけ含むインタフェースです。

BytesContainerインタフェースは，次の二つの要素で構成されます。

バイト配列
プリミティブなバイト配列です。

バイト配列のデータ型
バイト配列のデータ型を示す値が入ります。

BytesContainerインタフェースの構成を次の図に示します。

図7-7　BytesContainerインタフェースの構成

(2)　BytesContainerインタフェースのデータ型

BytesContainerインタフェースに含まれるバイト配列のデータ型の一覧を次の表に示します。

表7-6　バイト配列のデータ型一覧

項番 | データ型の種類 | バイト配列のデータ型の内容
1 | HTML型 | 拡張子がhtml，htmのファイルの内容をバイト配列化したデータ
2 | TEXT型 | 拡張子がtxt，textのファイルの内容をバイト配列化したデータ※
3 | IEF型 | 拡張子がiefのファイルの内容をバイト配列化したデータ
4 | TIFF型 | 拡張子がtiff, tifのファイルの内容をバイト配列化したデータ
5 | XWD型 | 拡張子がxwdのファイルの内容をバイト配列化したデータ
6 | POSTSCRIPT型 | 拡張子がai, eps, psのファイルの内容をバイト配列化したデータ
7 | RTF型 | 拡張子がrtfのファイルの内容をバイト配列化したデータ
8 | TEX型 | 拡張子がtexのファイルの内容をバイト配列化したデータ
9 | TEXINFO型 | 拡張子がtexinfo，texiのファイルの内容をバイト配列化したデータ
10 | ROFF型 | 拡張子がt，tr，roffのファイルの内容をバイト配列化したデータ
11 | AU型 | 拡張子がauのファイルの内容をバイト配列化したデータ
12 | MIDI型 | 拡張子がmidi，midのファイルの内容をバイト配列化したデータ
13 | AIFC型 | 拡張子がaifcのファイルの内容をバイト配列化したデータ
14 | AIF型 | 拡張子がaif，aiffのファイルの内容をバイト配列化したデータ
15 | WAV型 | 拡張子がwavのファイルの内容をバイト配列化したデータ
16 | MPEG型 | 拡張子がmpeg，mpg，mpeのファイルの内容をバイト配列化したデータ
17 | QT型 | 拡張子がqt，movのファイルの内容をバイト配列化したデータ
18 | AVI型 | 拡張子がaviのファイルの内容をバイト配列化したデータ
19 | 上に示す以外の型 | 上に示す以外の内容をバイト配列化したデータ

注※

データ型がTEXT型の場合，文字コード（charset）をUTF-8に指定して転送します。

(3)　バイト配列数の取得

BytesContainerインタフェースが保持するバイト配列の数を取得する機能を提供します。

(4)　保持する全データの消去

BytesContainerインタフェースが保持するデータ（バイト配列およびバイト配列のデータ型）をすべて消去する機能を提供します。

(5)　形式

public interface BytesContainer
{
 public static final String TEXT_HTML;
 public static final String TEXT_PLAIN;
 public static final String IMAGE_IEF;
 public static final String IMAGE_TIFF;
 public static final String IMAGE_X_XWINDOWDUMP;
 public static final String APPLICATION_POSTSCRIPT;
 public static final String APPLICATION_RTF;
 public static final String APPLICATION_X_TEX;
 public static final String APPLICATION_X_TEXINFO;
 public static final String APPLICATION_X_TROFF;
 public static final String AUDIO_BASIC;
 public static final String AUDIO_MIDI;
 public static final String AUDIO_X_AIFC;
 public static final String AUDIO_X_AIFF;
 public static final String AUDIO_X_WAV;
 public static final String VIDEO_MPEG ;
 public static final String VIDEO_QUICKTIME;
 public static final String VIDEO_X_MSVIDEO;
 public static final String APPLICATION_OCTET_STREAM;

 public void addPayload(byte[] payload) throws HRMException;
 public void addPayload(byte[] payload, String contentType) throws HRMException;
 public int size();
 public byte[] getPayload(int number) throws HRMException;
 public String getContentType(int number) throws HRMException;
 public void clear();
}

(6)　フィールド

「(5)　形式」に記載した順序で各フィールドを説明します。

(a)　TEXT_HTMLフィールド

public static final String TEXT_HTML

バイト配列のデータがHTML型であることを示す値です。

(b)　TEXT_PLAINフィールド

public static final String TEXT_PLAIN

バイト配列のデータがTEXT型であることを示す値です。

(c)　 IMAGE_IEFフィールド

public static final String IMAGE_IEF

バイト配列のデータがIEF型であることを示す値です。

(d)　 IMAGE_TIFFフィールド

public static final String IMAGE_TIFF

バイト配列のデータがTIFF型であることを示す値です。

(e)　 IMAGE_X_XWINDOWDUMPフィールド

public static final String IMAGE_X_XWINDOWDUMP

バイト配列のデータがXWD型であることを示す値です。

(f)　 APPLICATION_POSTSCRIPTフィールド

public static final String APPLICATION_POSTSCRIPT

バイト配列のデータがPOSTSCRIPT型であることを示す値です。

(g)　APPLICATION_RTFフィールド

public static final String APPLICATION_RTF

バイト配列のデータがRTF型であることを示す値です。

(h)　APPLICATION_X_TEXフィールド

public static final String APPLICATION_X_TEX

バイト配列のデータがTEX型であることを示す値です。

(i)　 APPLICATION_X_TEXINFOフィールド

public static final String APPLICATION_X_TEXINFO

バイト配列のデータがTEXINFO型であることを示す値です。

(j)　APPLICATION_X_TROFFフィールド

public static final String APPLICATION_X_TROFF

バイト配列のデータがROFF型であることを示す値です。

(k)　 AUDIO_BASICフィールド

public static final String AUDIO_BASIC

バイト配列のデータがAU型であることを示す値です。

(l)　AUDIO_MIDIフィールド

public static final String AUDIO_MIDI

バイト配列のデータがMIDI型であることを示す値です。

(m)　 AUDIO_X_AIFCフィールド

public static final String AUDIO_X_AIFC

バイト配列のデータがAIFC型であることを示す値です。

(n)　 AUDIO_X_AIFFフィールド

public static final String AUDIO_X_AIFF

バイト配列のデータがAIF型であることを示す値です。

(o)　 AUDIO_X_WAVフィールド

public static final String AUDIO_X_WAV

バイト配列のデータがWAV型であることを示す値です。

(p)　VIDEO_MPEGフィールド

public static final String VIDEO_MPEG

バイト配列のデータがMPEG型であることを示す値です。

(q)　 VIDEO_QUICKTIMEフィールド

public static final String VIDEO_QUICKTIME

バイト配列のデータがQT型であることを示す値です。

(r)　VIDEO_X_MSVIDEOフィールド

public static final String VIDEO_X_MSVIDEO

バイト配列のデータがAVI型であることを示す値です。

(s)　 APPLICATION_OCTET_STREAMフィールド

public static final String APPLICATION_OCTET_STREAM

バイト配列のデータが，ほかのフィールドで示したデータ型以外であることを示す値です。

(7)　メソッド

「(5)　形式」に記載した順序で各メソッドを説明します。

(a)　addPayloadメソッド

public void addPayload(byte[] payload) throws HRMException

メッセージのデータを含むbyte[]を設定します。payloadのデータ型を示す値はAPPLICATION_OCTET_STREAMになります。

BytesContainerに設定できるバイト配列の制限数は1です。

引数

引数名 | 説明
payload | メッセージのデータを含む byte[]

戻り値
ありません。

例外

例外クラス | 説明
HRMIllegalArgumentException | 引数payloadにnullを指定しました。
HRMException | 制限数より多くのバイト配列を設定しました。または，内部エラーのためにメソッドの処理が失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(b)　addPayloadメソッド

public void addPayload(byte[] payload, String contentType) throws HRMException

メッセージのデータを含むbyte[]を設定します。

BytesContainerに設定できるバイト配列の制限数は1です。

引数contentTypeにTEXT_PLAINを指定した場合，引数payloadに指定する値は，UTF-8の文字コードの値として扱います。文字コードがUTF-8以外の値を指定してキュー間転送をした場合，受信側で同じ値を取得できません。

引数

引数名 | 説明
payload | メッセージのデータを含む byte[]
contentType | payloadのデータ型を示す値

戻り値
ありません。

例外

例外クラス
説明

HRMIllegalArgumentException
次のうちのどれかの状態になりました。

引数payloadにnullを指定した

引数contentTypeにnullを指定した

引数contentTypeにBytesContainerのフィールドで定義した値以外を設定した

HRMException
制限数より多くのバイト配列を設定しました。または，内部エラーのためにメソッドの処理が失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(c)　sizeメソッド

public int size()

BytesContainerインタフェースが保持するバイト配列の数を返します。

引数
ありません。

戻り値
BytesContainerが保持するバイト配列の数を示す値です。

例外
ありません。

(d)　getPayloadメソッド

public byte[] getPayload(int number) throws HRMException

引数numberで指定されたバイト配列を返します。この引数numberと同じ値をgetContentTypeメソッドの引数に指定して発行した場合の値が，TEXT_PLAINだったとき，このメソッドで取得するデータはUTF-8の文字コードで変換された値です。

引数

引数名 | 説明
number | 取得するバイト配列の番号を示す値です。制限数は0です。

戻り値
メッセージのデータを含むbyte[]。

例外

例外クラス | 説明
HRMIllegalArgumentException | 引数numberが制限数の範囲外です。または，BytesContainerが保持するバイト配列数を超える値を引数numberに指定しました。
HRMException | 内部エラーのためにメソッドの処理が失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(e)　getContentTypeメソッド

public String getContentType(int number) throws HRMException

引数numberで指定されたバイト配列のデータ型を返します。

引数

引数名 | 説明
number | 取得するバイト配列の番号を示す値です。制限数は0です。

戻り値
payloadのデータ型を示す値です。

例外

例外クラス | 説明
HRMIllegalArgumentException | 引数numberが制限数の範囲外です。または，BytesContainerが保持するバイト配列数を超える値を引数numberに指定しました。
HRMException | 内部エラーのためにメソッドの処理が失敗しました。

例外クラスには障害コードと障害情報が設定されます。障害コードと対処については，「7.9　障害コードの詳細」を参照してください。

(f)　clearメソッド

public void clear()

BytesContainerインタフェースが保持するデータ（バイト配列およびバイト配列のデータ型）をすべて消去します。

引数
ありません。

戻り値
ありません。

例外
ありません。

7.8.3　HRMExceptionクラス

このクラスは転送データ相互接続用API例外のルートクラスです。なお，java.lang.Exceptionの親クラスであるjava.lang.Throwableクラスから継承したメソッドに関する説明（形式，コンストラクタ，メソッド）は省略します。

＜この項の構成＞

(1)　形式

(2)　コンストラクタ

(3)　メソッド

(1)　形式

public class HRMException extends java.lang.Exception
{
 public HRMException(String errorMessage, String errorCode){}
 public String getErrorCode(){}
 public String getErrorMessage(){}
 public Exception getLinkedException() {}
}

(2)　コンストラクタ

「(1)　形式」に記載した順序でコンストラクタを説明します。

(a)　HRMExceptionコンストラクタ

public HRMException(String errorMessage, String errorCode)

HRMExceptionを生成する際に，障害文字列と障害コードを設定します。

引数

引数名 | 説明
errorMessage | 障害発生要因を示す障害文字列
errorCode | 障害発生要因を示す障害コード

戻り値
ありません。

例外
ありません。

(3)　メソッド

「(1)　形式」に記載した順序で各メソッドを説明します。

(a)　getErrorCodeメソッド

public java.lang.String getErrorCode()

障害発生要因を示す障害コードを返します。

引数
ありません。

戻り値
障害発生要因を示す障害コードです。

例外
ありません。

(b)　getErrorMessageメソッド

public java.lang.String getErrorMessage()

障害発生要因を示す障害文字列を返します。

引数
ありません。

戻り値
障害発生要因を示す障害文字列です。

例外
ありません。

(c)　getLinkedExceptionメソッド

public java.lang.Exception getLinkedException()

このクラスにリンクされた例外を取得します。

引数
ありません。

戻り値
リンクされた例外です。

例外
ありません。

7.8.4　HRMIllegalArgumentExceptionクラス

このクラスは，メソッドの呼び出しで不正な引数を指定したことを示す例外クラスです。なお，java.lang.Exceptionの親クラスであるjava.lang.Throwableクラスから継承したメソッドに関する説明（形式，コンストラクタ，メソッド）は省略します。

＜この項の構成＞

(1)　形式

(2)　コンストラクタ

(3)　メソッド

(1)　形式

public class HRMIllegalArgumentException extends HRMException
{
 public HRMIllegalArgumentException(
     String errorMessage, String errorCode) {}
 public String getErrorCode() {}
 public String getErrorMessage() {}
 public Exception getLinkedException() {}
}

(2)　コンストラクタ

HRMExceptionクラスと同じ内容です。「7.8.3　HRMExceptionクラス」を参照してください。

(3)　メソッド

HRMExceptionクラスと同じ内容です。「7.8.3　HRMExceptionクラス」を参照してください。

7.9　障害コードの詳細

アプリケーションでは，例外クラスのgetErrorCode()メソッドを発行することによって障害コードを取得できます。また，getMessage()メソッドを発行することによって障害文字列を取得できます。障害コードおよび障害文字列を参照して，障害に対処してください。

障害コードの一覧を，次の表に示します。

表7-7　障害コードの一覧

項番
障害コード
障害文字列
発生要因
対処

1
HRM-00001
Null has been specified for the argument.
引数にnullを指定しています。
引数にはnull以外を指定してください。

2
HRM-00002
The value set for the argument (number) is outside the valid range.
引数のnumberに制限範囲外の値を設定しました。
引数のnumberには制限範囲内の値を設定してください。

3
HRM-00003
More bytes than the limit have been set for BytesContainer.
BytesContainerに対して制限より多くのバイト配列を設定しました。
BytesContainerに設定するバイト配列の数が制限を超えないようにしてください。

4
HRM-00004
A value other than that defined in the BytesContainer field has been set for the contentType argument.
引数のcontentTypeにBytesContainerのフィールドで定義した値以外を設定しました。
引数のcontentTypeにはBytesContainerのフィールドで定義した値を設定してください。

5
HRM-00005
An element corresponding to the value for the argument (number) was not found.
引数のnumberの値に対応する要素が見つかりません。
対応する要素が存在する値を引数のnumberに設定してください。

6
HRM-00006
The destination is invalid. There is no message in this destination.
デスティネーションは不正です。このデスティネーションにはメッセージはありません。
指定したキューを見直してください。送信用共用キューからメッセージ数を取得しようとしていると考えられます。

7
HRM-00103
The destination does not exist.
デスティネーションがありません。
指定したキュー名を見直してください。

8
HRM-00203
The destination is invalid. It is not possible to send to this destination.
デスティネーションは，送信できるあて先ではありません。
指定したキュー名を見直してください。次の場合が考えられます。
デッドメッセージキューに送信しています。

9
HRM-00204
The destination is invalid. It is not possible to receive from this destination.
デスティネーションは，受信できるあて先ではありません。
受信できないキューを見直してください。次の場合が考えられます。
送信用共用キューから受信しています。

10
HRM-00205
This message cannot be sent to a shared queue.
このメッセージは共用キューに送信できません。
共用キューに送信する場合は，BytesMessageインタフェースを使用して送信してください。

11
HRM-00206
The size of this message exceeds the maximum length defined for the queue.
このメッセージの本体のサイズはキューで定義された最大メッセージ長をオーバしています。
メッセージの本体の長さを見直してください。

12
HRM-00207
The system definition information conflicts with the queue attribute information.
システムの定義情報とキューの属性情報が不一致です。
キューの属性情報，またはシステムの定義情報を見直してください。次に示す状況が考えられます。
RMSHConnectFlagプロパティ指定値がfalseのときに受信用共用キューを利用しようしています。

13
HRM-00208
Registration of messages into the queue is suppressed.
キューへのメッセージの登録は抑止されています。
キューへのメッセージの登録の抑止を解除してください。

14
HRM-00209
Retrieval of messages from the queue is suppressed.
キューからのメッセージの取り出しは抑止されています。
キューからのメッセージの取り出しの抑止を解除してください。

15
HRM-00210
The queue is being deleted.
キューの削除中のため，キューに対する処理が失敗しました。
別のキューを利用するか，またはこのキューが削除されてないか確認して再度処理を実行してください。

16
HRM-00301
uCosminexus Reliable Messaging is not in an executable state.
Cosminexus RMが実行状態ではありません。
Cosminexus RMを実行状態に移行してください。

17
HRM-00302
uCosminexus Reliable Messaging has not been initialized.
Cosminexus RMが初期化されていません。
Cosminexus RMを管理状態または実行状態に移行してください。

18
HRM-00303
The queue is in a blocked state.
キューは閉塞状態です。
キューを使用できないので，異なるキューを使用してください。

19
HRM-00304
RMConnection has already closed.
RMConnectionはclose済みです。
発行手順を見直してください。

20
HRM-00306
RMConnection is already in a transaction-executing state.
RMConnectionはすでにトランザクション実行状態です。
トランザクションを決着してから処理してください。

21
HRM-00307
RMConnection is in a transaction-not-executing state.
RMConnectionはトランザクションが実行されていない状態です。
トランザクションを開始してから処理してください。

22
HRM-00308
The table management information of the shared queue is invalid. The shared queue status changed to a blocked status.
共用キューのテーブル管理情報が不正です。共用キューは閉塞状態になりました。
次に示す項目を確認してください。

キュー名

ライト通番

ライト通番のラップカウンタ

ライト通番の最大値

リード通番

リード通番のラップカウンタ

23
HRM-00401
The number of messages or queue capacity has exceeded the maximum.
キューの容量やメッセージ数の上限値を超えました。
キューの容量を増やすか，メッセージを削除してください。

24
HRM-00407
A memory shortage occurred.
メモリ不足が発生しました。
利用できるメモリを増やし，処理を再度実行してください。

25
HRM-00408
The maximum value of the message length who can register with queue was exceeded.
キューに登録できるメッセージ長の上限値を超過しました。
登録先のキューがローカルキューの場合，メッセージのペイロード，プロパティおよびヘッダの指定値を見直し，メッセージのサイズを小さくしてください。
送信用共用キューの場合，メッセージのペイロードのサイズを小さくするか，または登録先キューとなる受信用共用キューの最大メッセージ長を増やしてください。

26
HRM-00409
The end of the stream was unexpectedly reached while reading the message.
メッセージ読み取り中に予期しないストリームの終端に達しました。
DABroker対応のDB Connectorを使用している場合は，Cosminexus DABroker Libraryの環境設定の［リモートアクセス設定］タブで［BLOB/LONG/CLOB型データ受取バッファサイズ］にDBConnectoreのbufSizeプロパティ指定値より大きな値を設定し，J2EEサーバを再度開始してください。
HiRDB Type4 JDBCドライバ対応のDB Connectorを使用している場合は，DB ConnectorのmaxBinarySizeプロパティに指定値より大きな値を設定して，Cosminexus RMとDB Connectorを再開始してください。

27
HRM-00410
The destination queue has been deleted.
送信先の受信用共用キューが削除されています。
送信用共用キューは閉塞するので，削除してください。

28
HRM-00411
Registration in the destination queue is suppressed.
送信先の受信用共用キューは登録を抑止されています。
送信先の受信用共用キューの抑止が解除されるのを待ってください。

29
HRM-00502
An attempt to access the database has failed.
DBアクセスに失敗しました。
メッセージの詳細からDBの障害を回復してください。

30
HRM-00503
An attempt to access the queue has failed.
キューアクセスに失敗しました。
メッセージの詳細からDBの障害を回復してください。

31
HRM-00504
The number of database connections exceeded the maximum.
DBコネクション数が最大値を超過しました。
Cosminexus RMのDBコネクション数を増やす場合は，DBのコネクション関連定義を見直してください。

32
HRM-00505
An error occurred during a begin or commit or rollback of the local transaction.
ローカルトランザクションのコミットまたはロールバックに失敗しました。
メッセージの詳細からDBの障害を回復してください。

33
HRM-00506
An attempt to acquire a connection to the database has failed.
DBへのコネクションの取得に失敗しました。
メッセージの詳細からDBの障害を回復してください。

34
HRM-00601
uCosminexus Reliable Messaging is in a blocked state.
Cosminexus RMは閉塞状態です。
Cosminexus RMを再度開始してください。

35
HRM-00701
ManagedConnection has already been destroyed.
ManagedConnectionはすでにデストロイされています。
メソッドの発行手順を見直してください。

36
HRM-00702
ManagedConnection has already been cleaned up.
ManagedConnectionはすでにクリーンアップされています。
メソッドの発行手順を見直してください。

37
HRM-00703
The session transaction is already running.
セッションのトランザクションがすでに開始しています。
メソッドの発行手順を見直してください。

38
HRM-00704
The session transaction is not running.
セッションのトランザクションは開始していません。
メソッドの発行手順を見直してください。

39
HRM-00705
An attempt was made to generate QueueSession without the attribute that enables sharing of QueueSession.
生成しようとしたQueueSessionオブジェクトはシェアリングできる属性ではありません。
指定したQueueSessionオブジェクトの属性を見直してください。

40
HRM-00706
The already generated QueueSession does not have the attribute that enables sharing of QueueSession.
生成済みのQueueSessionオブジェクトはシェアリングできる属性ではありません。
シェアリングする際はtrasacted引数がfalseで，かつAUTO_ACKNOWLEDGEモードのQueueSessionオブジェクトを使用してください。

41
HRM-00801
An unsupported method was executed.
サポートされていないメソッドを実行しました。
発行するメソッドを見直してください。

42
HRM-00802
The method execution failed because the QueueConnection was in a closed state.
QueueConnectionオブジェクトがclose状態だったため，メソッドの実行に失敗しました。
メソッドの発行手順を見直してください。

43
HRM-00803
The method execution failed because the QueueSession was in a closed state.
QueueSessionオブジェクトがclose状態だったため，メソッドの実行に失敗しました。
メソッドの発行手順を見直してください。

44
HRM-00804
The method execution failed because the QueueSender was in a closed state.
QueueSenderオブジェクトがclose状態だったため，メソッドの実行に失敗しました。
メソッドの発行手順を見直してください。

45
HRM-00805
The method execution failed because the QueueReceiver was in a closed state.
QueueReceiverオブジェクトがclose状態だったため，メソッドの実行に失敗しました。
メソッドの発行手順を見直してください。

46
HRM-00806
The method execution failed because the QueueBrowser was in a closed state.
QueueBrowserオブジェクトがclose状態だったため，メソッドの実行に失敗しました。
メソッドの発行手順を見直してください。

47
HRM-00807
The method's parameter value is null.
メソッドの引数の値がnullです。
引数を見直してください。

48
HRM-00808
The method's parameter value is invalid.
メソッドの引数の値が不正です。
引数を見直してください。

49
HRM-00809
The length of the method's parameter exceeds the restriction value.
メソッドの引数の長さが制限値を超えていました。
引数の長さを見直してください。

50
HRM-00810
An attempt to read the message has failed.
メッセージの読み取りに失敗しました。
引数を見直してください。

51
HRM-00811
An attempt to write the message has failed.
メッセージの書き込みに失敗しました。
引数を見直してください。

52
HRM-00812
The method execution failed because the message has been in the acknowledge impossible state.
メッセージがacknowledgeできない状態だったため，メソッドの実行に失敗しました。
発行手順を見直してください。

53
HRM-00813
The method execution failed because the end of an unexpected bytes stream has been reached.
予期しないバイトストリームの終端に達しました。
メッセージの読み取り手順を見直してください。

54
HRM-00814
The method execution failed because the type conversion was invalid.
型変換が無効であったため，メソッドの実行に失敗しました。
メッセージに格納したプロパティまたはペイロードの型を見直してください。
ObjectMessageオブジェクトに格納するオブジェクトがユーザの定義したクラスの場合，次の内容を確認してください。

クラスがシリアライズできるかどうか

アプリケーションがクラスを保持しているかどうか

クラスパスがCosminexusのJ2EEサーバ用オプション定義ファイルに指定されているかどうか

BytesMessageオブジェクト以外の種類のメッセージを共用キューに送信しようとしていないか見直してください。

55
HRM-00816
The writing of property failed because the property has been read-only mode.
プロパティが読み取り専用モードであったため，書き込みに失敗しました。
メッセージの書き込み手順を見直してください。

56
HRM-00817
The reading of payload failed because the payload has been write-only mode.
ペイロードが書き込み専用モードであったため，読み取りに失敗しました。
メッセージの読み取り手順を見直してください。

57
HRM-00818
The writing of payload failed because the payload has been read-only mode.
ペイロードが読み取り専用モードであったため，書き込みに失敗しました。
メッセージの書き込み手順を見直してください。

58
HRM-00819
An invalid queue was specified.
無効なキューが指定されました。
引数を見直してください。

59
HRM-00820
An invalid message selector was specified.
無効なメッセージセレクタが指定されました。
メッセージセレクタの値を見直し，正常なメッセージセレクタを設定し直してください。

60
HRM-00822
An internal error occurred.
内部エラーが発生しました。
この障害の発生前後に出力されたメッセージを参照し，該当する障害要因を取り除いてください。障害要因を取り除けない場合は，メッセージログおよびトレースを採取し，保守員に連絡してください。

61
HRM-00823
The method was executed in an inappropriate state.
不適切な状態でメソッドを実行しました。
メソッドの発行手順を見直してください。

62
HRM-00824
The session transaction is in a non-running state.
セッションのトランザクションが開始していない状態です。
メソッドの発行手順を見直してください。

63
HRM-00825
The session transaction was in a running state.
セッションのトランザクションが開始している状態です。
メソッドの発行手順を見直してください。

64
HRM-00826
The transaction was in a running state, due to the TM.
トランザクションマネジャでのトランザクションが開始している状態です。
メソッドの発行手順を見直してください。

65
HRM-00827
The transaction was in a suspended state, due to the TM.
トランザクションマネジャでのトランザクションがサスペンドしている状態です。
メソッドの発行手順を見直してください。

66
HRM-00828
A memory shortage occurred.
メモリ不足が発生しました。
利用できるメモリを増やし，処理を再度実行してください。

67
HRM-00829
An invalid message selector was specified.
無効なメッセージセレクタが指定されました。
メッセージセレクタの値を見直し，正常なメッセージセレクタを設定し直してください。

68
HRM-00830
Invalid ContentType is set to BytesContainer.
BytesContainerが保持するContentTypeの値が不適切だったため，メソッドの実行に失敗しました。
BytesContainerが保持するContentTypeの値が，この製品でサポートしている値かどうかを見直してください。

69
HRM-00831
The combination of payload and ContentType set to BytesContainer is illegal.
BytesContainerが保持するContentTypeとペイロード内容の組み合わせが不正だったため，メソッドの実行に失敗しました。
BytesContainerが保持するContentTypeとペイロード内容を適切な組み合わせにしてください。

70
HRM-00832
The method failed because an attempt was made to re-use a message that was passed by reference.
参照渡しのメッセージを再利用しようとしたため，メソッドの実行に失敗しました。
メソッドの発行手順を見直してください。

71
HRM-00833
An attempt to acquire a connection has failed.
コネクションの取得に失敗しました。
この障害の発生前後に出力されたメッセージやコネクション取得に関する設定情報を参照し，障害要因を取り除いてください。

72
HRM-00901
An I/O exception occurred.
IOExceptionが発生しました。
入出力エラーの障害要因を取り除いてください。

73
HRM-00902
The value of the configuration property for database connection is invalid.
DBに接続するためのコンフィグレーションプロパティの値が不正です。
コンフィグレーションプロパティを修正してください。

74
HRM-00903
An attempt to register queue information has failed.
キュー情報の登録に失敗しました。
メッセージの詳細からDBの障害を回復してください。

75
HRM-00904
Table creation failed.
テーブルの作成に失敗しました。
メッセージの詳細からDBの障害を回復してください。

76
HRM-00905
An attempt to register FIFO information has failed.
FIFO情報の登録に失敗しました。
メッセージの詳細からDBの障害を回復してください。

77
HRM-00906
Table initialization failed.
テーブルの初期化に失敗しました。
メッセージの詳細からDBの障害を回復してください。

78
HRM-00907
An attempt to delete queue information has failed.
キュー情報の削除に失敗しました。
メッセージの詳細からDBの障害を回復してください。

79
HRM-00908
An attempt to delete FIFO information has failed.
FIFO情報の削除に失敗しました。
メッセージの詳細からDBの障害を回復してください。

80
HRM-00909
An attempt to delete a table has failed.
テーブルの削除に失敗しました。
メッセージの詳細からDBの障害を回復してください。

81
HRM-00910
An attempt to lock a table has failed.
テーブルのロックに失敗しました。
メッセージの詳細からDBの障害を回復してください。

82
HRM-00912
You do not have access permission.
アクセス権限がありません。
policyファイルを見直してください。次に示す状況が考えられます。
スレッドまたはソケットに関するアクセス権限を設定していません。

83
HRM-00913
An attempt to acquire system management information has failed.
システム管理情報の取得に失敗しました。
SQLファイルの実行が失敗していないかどうかを確認し，必要に応じてSQLファイルを再度実行してください。

84
HRM-00914
An attempt to acquire the IP address used for the group ID has failed.
グループIDに使用するIPアドレスの取得に失敗しました。
マシンにIPアドレスが指定されているか確認します。

85
HRM-01001
An attempt was made to create a shared queue in Oracle.
共用キューをOracleに作成しようとしました。
接続先のDBをHiRDBに変更してください。または，ローカルキューを作成してください。

86
HRM-01101
Failed to check content in BytesContainer.
BytesContainerが保持するContentTypeとContentの組み合わせチェック処理に失敗しました。
メッセージログおよびトレースを採取し，保守員に連絡してください。

8.　コマンドリファレンス

ユーザはコマンドを入力することによってCosminexus RMを運用します。

この章では，Cosminexus RMが提供するコマンドについて説明します。

＜この章の構成＞

8.1　コマンドの概要

8.2　コマンドの一覧

8.3　コマンドの詳細

8.1　コマンドの概要

Cosminexus RMはシステムを運用するためにコマンドを提供します。

コマンドを実行するための前提条件や複数のCosminexus RMを動作させる場合のシステム名の設定などについて説明します。

＜この節の構成＞

8.1.1　コマンド実行の前提条件

8.1.2　コマンドの有効範囲

8.1.3　コマンドの同時実行

8.1.4　システム名の設定

8.1.5　コマンドの記述形式

8.1.6　リクエストタイムアウト値の変更

8.1.7　コマンド実行時に出力されるログ

8.1.8　UNIXでコマンドを実行する場合の注意事項

8.1.1　コマンド実行の前提条件

Cosminexus RMのコマンドを実行する場合，HRMDIR，HRM_SYSTEM_NAME，HRM_CMD_PORTおよびPATH環境変数を設定する必要があります。各環境変数については，「3.3.2　環境変数の設定」を参照してください。

また，Cosminexus RMの開始が完了している必要があります。Cosminexus RMの開始については，「4.1.1　Cosminexus RMの開始（永続版リソースアダプタの場合）」，または「5.1.1　Cosminexus RMの開始（非永続版リソースアダプタの場合）」を参照してください。

なお，UNIXの場合は，Cosminexus RMのコマンドを実行するには，rootまたはCosminexus Component Container管理ユーザの権限が必要となります。

8.1.2　コマンドの有効範囲

Cosminexus RMのコマンドは，自システムのCosminexus RMにだけ有効です。対象となるCosminexus RMと異なるマシンでコマンドを入力する運用はできません。

8.1.3　コマンドの同時実行

複数のコマンドを同時に実行することはできません。同時に実行した場合は，先に実行したコマンドが完了するまで待ち合わせます。

8.1.4　システム名の設定

自システムで複数のCosminexus RMを動作させる場合は，コマンドの対象となるCosminexus RMのシステム名を次に示すどちらかの方法で指定します。

コマンド引数での指定
コマンドを入力するときに，コマンド引数にシステム名を指定する方法です。

環境変数での指定
コマンドの入力画面でHRM_SYSTEM_NAME環境変数にシステム名を指定する方法です。指定例を次に示します。

Windowsの場合

prompt>set HRM_SYSTEM_NAME=HRM

UNIX（csh）の場合

prompt>setenv HRM_SYSTEM_NAME HRM

UNIX（sh）の場合

prompt>HRM_SYSTEM_NAME=HRM
prompt>export HRM_SYSTEM_NAME

コマンド引数と環境変数の両方にシステム名を指定する場合は，コマンド引数に指定したシステム名が有効になります。システム名はRMSystemNameプロパティ指定値です。

8.1.5　コマンドの記述形式

Cosminexus RMが提供するコマンドの記述形式について，次に示します。

コマンド名  オプション  コマンド引数

コマンド名
コマンド名は，実行するコマンドのファイル名称です。
Cosminexus RMが提供するコマンドは%HRMDIR%¥binにありますので，PATH環境変数に%HRMDIR%¥binを追加してください。

オプション
次の説明中に使用する「>」はコマンドプロンプト，「cmd」はコマンド名称です。

オプションはマイナス記号（-）で始まる文字列で，フラグ引数を取らないか，または1個のフラグ引数を取ります。
オプションの記述形式を次に示します。

-オプションフラグ
または
-オプションフラグ  フラグ引数

オプションフラグは，1文字の英数字（英大文字と英小文字は区別されます）です。
フラグ引数はオプションフラグに対する引数です。

フラグ引数を取らないオプションフラグは，一つのマイナス記号（-）の後ろにまとめて指定できます。
（例）次の二つは同じ意味です。

> cmd -a -b -c
> cmd -abc

フラグ引数を必要とするオプションフラグのフラグ引数は，省略できません。

オプションの指定順序はありません。

コマンド名，オプション，コマンド引数の間には一つ以上のスペースを挿入してください。

同じオプションフラグを2回以上指定すると，最後に指定したものが有効になります。
（例）
次に示すとおり入力すると，フラグ引数として2が有効になります。

> cmd -a 1 -a 2
     無効 有効

オプションは，コマンド引数より前に指定しなければなりません。
（例）
オプションフラグaがフラグ引数を取らない場合，次に示すとおり入力すると，fileと-bは，コマンド引数とみなされます。

> cmd -a file -b

二つのマイナス記号（-）は，オプションの終わりを示します。
（例）
次に示すとおり入力すると，-bはコマンド引数とみなされます。

> cmd -a -- -b

マイナス記号（-）だけのオプションは入力できません。
（例）
次に示すとおり入力すると，-はコマンド引数とみなされます。

> cmd -

コマンド引数
コマンド引数は，コマンド操作の対象になるものを指定します。複数のコマンド引数がある場合は，各コマンドの指定形式に示される順序に従ってください。

8.1.6　リクエストタイムアウト値の変更

ユーザによって実行されたコマンドは，Cosminexus RMにリクエストを送信し，応答を待ちます。コマンドが応答を受け取れないときのリクエストタイムアウト値（単位：秒）について，ユーザは独自の値を設定できます。

Cosminexus RMのコマンドごとに，%HRMDIR%¥binディレクトリにバッチファイル（Windowsの場合）またはシェルスクリプト（UNIXの場合）が提供されています。設定を変更する場合は，各コマンドのバッチファイルまたはシェルスクリプトを編集して次に示す行の右辺の数値を変更してください。

Windowsの場合

set PROPS=%PROPS% -Dejbserver.rmi.request.timeout=0

UNIXの場合

set PROPS="${PROPS} -Dejbserver.rmi.request.timeout=0"

0～86400（単位：秒）の値を指定できます。デフォルトでは0が設定されています。

値を設定するときは，次に示す点に注意してください。

値が小さいとコマンド入力直後にリクエストタイムアウトとなり，コマンドを正常に実行できないことがあります。

0を指定するとタイムアウトしなくなります。コマンド実行時に長時間レスポンスがない場合は，強制的にコマンド処理を中断してください。CtrlキーとCキーを同時に押します。

Cosminexus RMのバージョンアップや修正パッチを適用した場合，リクエストタイムアウト値は0で上書きされます。リクエストタイムアウト値を変更している場合は，値を設定し直してください。

8.1.7　コマンド実行時に出力されるログ

Cosminexus RMのコマンドは，CosminexusのJNDIを利用するため，コマンドを実行すると，%HRMDIR%¥logs¥cmd以下にCosminexusのクライアントのログとCosminexus TPBrokerの通信トレースファイルを出力します。

8.1.8　UNIXでコマンドを実行する場合の注意事項

UNIXの場合は，次のどちらかの作業を実施してからCosminexus RMのコマンドを実行するようにしてください。

umaskを0に設定する

$HRMDIR/logs以下のファイルおよびディレクトリのアクセス権を，グループやほかのすべてのユーザに対して書き込みを許可するように設定する（rootでコマンドを実行したあとに，Cosminexus Component Container管理ユーザでコマンドを実行する場合）

どちらの作業も実施しないまま，別のユーザがコマンドを実行すると，コマンドの実行がエラーになったり，コマンドのログが不正に残ったりする場合があります。

8.2　コマンドの一覧

Cosminexus RMが提供するコマンドの一覧について，次の表に示します。

表8-1　コマンドの一覧

項番
コマンド名称
機能
開始中状態で実行
実行状態で
実行
管理状態で実行
閉塞状態で実行

永続版
非永続版
永続版
非永続版
永続版

1
hrmchgaddr
あて先変更
×
×
×
×
○
×

2
hrmchgque

ローカルキューの属性変更

受信用共用キューの属性変更

送信用共用キューの属性変更

転送キューの属性変更

×
×
×
×
○※
×

3
hrmdeladdr
あて先削除
×
×
×
×
○
×

4
hrmdelmsg
メッセージの削除
×
×
○
（-fオプション指定時）
○
○
×

5
hrmdelque
キューの削除
×
×
×
×
○※
×

6
hrmlsaddr
あて先表示
×
×
○
×
○
×

7
hrmlsdmsg
デッドメッセージの参照
×
×
○
×
○
×

8
hrmlsmsg
メッセージの表示
×
×
○
○
○
×

9
hrmlsque
キュー情報の表示
×
×
○
○
○
×

10
hrmlsstat
システム状態の表示
○
○
○
○
○
○

11
hrmlstrn
トランザクション状態の表示
×
×
○
○
×
×

12
hrmlstrs
通信状態表示
×
×
○
×
○
×

13
hrmmkaddr
あて先登録
×
×
×
×
○
×

14
hrmmkque

ローカルキューの作成

受信用共用キューの作成

送信用共用キューの作成

転送キューの作成

×
×
×
×
○
×

15
hrmregdmsg
デッドメッセージの再登録
×
×
○
×
○
×

16
hrmskipmsg
受信待ちメッセージのスキップ
×
×
○
×
○
×

17
hrmstart
実行状態への移行
×
×
×
×
○
×

18
hrmstartque
キューの抑止解除
×
×
○
○
○
×

19
hrmstarttrs
送受信抑止解除
×
×
○
×
○
×

20
hrmstop
管理状態への移行
×
×
○
×
×
×

21
hrmstopque
キューの抑止
×
×
○
○
○
×

22
hrmstoptrs
送受信抑止
×
×
○
×
○
×

（凡例）

○：実行できます。

×：実行できません。

注※

初回開始時の場合，または管理状態からの再開始後に実行状態に移行していない管理状態の場合だけ実行できます。

8.3　コマンドの詳細

Cosminexus RMが提供するコマンドの詳細を名前のアルファベット順に説明します。

＜この節の構成＞

8.3.1　hrmchgaddr（あて先変更）

8.3.2　hrmchgque（ローカルキューの属性変更）

8.3.3　hrmchgque（受信用共用キューの属性変更）

8.3.4　hrmchgque（送信用共用キューの属性変更）

8.3.5　hrmchgque（転送キューの属性変更）

8.3.6　hrmdeladdr（あて先削除）

8.3.7　hrmdelmsg（メッセージの削除）

8.3.8　hrmdelque（キューの削除）

8.3.9　hrmlsaddr（あて先表示）

8.3.10　hrmlsdmsg（デッドメッセージの参照）

8.3.11　hrmlsmsg（メッセージの表示）

8.3.12　hrmlsque（キュー情報の表示）

8.3.13　hrmlsstat（システム状態の表示）

8.3.14　hrmlstrn（トランザクション状態の表示）

8.3.15　hrmlstrs（通信状態表示）

8.3.16　hrmmkaddr（あて先登録）

8.3.17　hrmmkque（ローカルキューの作成）

8.3.18　hrmmkque（受信用共用キューの作成）

8.3.19　hrmmkque（送信用共用キューの作成）

8.3.20　hrmmkque（転送キューの作成）

8.3.21　hrmregdmsg（デッドメッセージの再登録）

8.3.22　hrmskipmsg（受信待ちメッセージのスキップ）

8.3.23　hrmstart（実行状態への移行）

8.3.24　hrmstartque（キューの抑止解除）

8.3.25　hrmstarttrs（送受信抑止解除）

8.3.26　hrmstop（管理状態への移行）

8.3.27　hrmstopque（キューの抑止）

8.3.28　hrmstoptrs（送受信抑止）

8.3.1　hrmchgaddr（あて先変更）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmchgaddr 〔-u　あて先アドレス〕 〔-i ユーザID -p パスワード〕
          〔-S　システム名〕 あて先名

(2)　機能

あて先情報テーブルに登録したあて先情報を変更します。

(3)　オプション

-u あて先アドレス

　～＜1～512文字の文字列＞

メッセージを転送するあて先アドレスを指定します。

-i ユーザID

　～＜1～16文字の英数字＞

BASIC認証のためのユーザIDを指定します。

このオプションは-pオプションと同時に指定してください。このオプションを指定して-pオプションを指定していない場合は，エラーが発生します。

-p パスワード

　～＜1～16文字の英数字＞

BASIC認証のためのパスワードを指定します。

このオプションは-iオプションと同時に指定してください。このオプションを指定して-iオプションを指定していない場合は，エラーが発生します。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンド操作対象となるシステムのシステム名（プロパティのRMSystemName）を指定します。

指定を省略した場合は，環境変数に設定されたシステム名を指定したものとみなします。

環境変数にもシステム名が設定されていない場合はエラーが発生します。

(4)　コマンド引数

あて先名

　～＜1～32文字の文字列＞

あて先情報に対応する論理名を指定します。

指定したあて先名が存在しない場合はエラーが発生します。また，キューにあて先名が指定されている場合は，そのキュー内のメッセージが転送される前だけ変更できます。

(5)　注意事項

各オプションを省略した場合，その情報は変更しないものとみなされます。すべてのオプションを省略した場合，情報の変更は行わないで，そのままコマンド処理が終了します。

あて先アドレスは，URLの記載ミスなどで存在しないあて先アドレスを指定した場合にかぎり，変更できます。実在するあて先アドレスを指定していてほかのあて先アドレスに変更した場合，メッセージが消滅するおそれがあります。

ユーザIDおよびパスワードを削除する変更はできません。ユーザIDおよびパスワードを削除したい場合は，hrmdeladdrコマンドであて先を削除し，hrmmkaddrコマンドでユーザIDおよびパスワードを指定しないで，再度あて先を登録してください。

-uオプションで，自システムのキュー間転送用WebアプリケーションのURLを指定しないでください。

8.3.2　hrmchgque（ローカルキューの属性変更）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmchgque 〔-d {serial｜parallel}〕 〔-n 最大メッセージ数〕
         〔-c キャッシュメッセージ数〕 〔-e メッセージ有効期間〕
         〔-w {sender｜receiver}〕 〔-x 表示名〕
         〔-S システム名〕 キュー名

(2)　機能

作成済みのローカルキューの属性を変更します。

非永続版リソースアダプタの場合，キューの属性はキュー作成ファイルの定義によって変更されます。詳細については，「3.5.1　キュー作成ファイルの作成」を参照してください。

(3)　オプション

-d {serial｜parallel}

ローカルキューのメッセージ取り出しモードを指定します。

serial：シリアル取り出し属性

parallel：パラレル取り出し属性

各属性を指定したときのメッセージの処理については，「2.3.2　メッセージ取り出しモード」を参照してください。

-n 最大メッセージ数

　～＜数字＞((1～65535))

ローカルキューに格納するメッセージの最大数を指定します。

-c キャッシュメッセージ数

　～＜数字＞((0～65535))

キャッシュに格納するメッセージの数を指定します。

-e メッセージ有効期間

　～＜数字＞((0～2592000))（単位：秒）

ローカルキューに格納するメッセージの有効期間を指定します。

0を指定する場合，メッセージの有効期間は無限です。

有効期間を指定するときのメッセージの処理については，「2.3.5　メッセージの有効期間」を参照してください。

-w {sender｜receiver}

転送キューからメッセージを受信する場合，メッセージの有効期間については，送信側の有効期間を使用するのか，または受信側で更新するのかを選択します。転送キューの詳細については，「8.3.20　hrmmkque（転送キューの作成）」を参照してください。

sender：送信側の有効期間

receiver：受信側の有効期間

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

-x 表示名

　～＜1～64文字の英数字および_（アンダースコア）＞

キューの表示名を指定します。表示名とは，アプリケーションがJNDIネーミングサービスからキューを取得するときの，キューの論理名のことです。

指定を省略した場合はコマンド引数で指定したキュー名と同じ名称を指定したものとみなされます。

指定した表示名と同じ名称を持つキューがすでに存在している場合，エラーとなります。詳細は「(5)　注意事項」を参照してください。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

属性を変更するローカルキューの名前を指定します。

指定したローカルキューがない場合はエラーが発生します。

(5)　注意事項

各オプションを省略する場合，その属性は変更されません。キュー名だけを指定した場合，属性は変更されないでそのままコマンド処理が終了します。

最大メッセージ数，キャッシュメッセージ数，メッセージ有効期間を変更できるのは，ローカルキューにメッセージがない場合だけです。メッセージがある場合はエラーが発生します。

Cosminexus RM初回開始時の管理状態の場合，または管理状態からの再開始後に実行状態に移行していない管理状態の場合だけ実行できます。それ以外の場合はエラーが発生します。ただし，Cosminexus RM起動直後の管理状態でも，相手システムが起動中の場合，エラーが発生するおそれがあります。

キュー定義ファイルを使用しない場合，変更前の表示名でJNDIネーミングサービスに登録されていたオブジェクトは削除され，-xオプションで指定した変更後の表示名でJNDIネーミングサービスに登録されます。このコマンド実行時に，アプリケーションがJNDIネーミングサービスから該当するキューに対応する値（javax.jms.Queue型のオブジェクト）を取得しているかどうかは，このコマンドの実行結果に影響しません。

8.3.3　hrmchgque（受信用共用キューの属性変更）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmchgque 〔-c キャッシュメッセージ数〕 〔-x 表示名〕
         〔-S システム名〕 キュー名

(2)　機能

作成済みの受信用共用キューの属性を変更します。

(3)　オプション

-c キャッシュメッセージ数

　～＜数字＞((0～65535))

キャッシュに格納するメッセージの数を指定します。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

-x 表示名

　～＜1～64文字の英数字および_（アンダースコア）＞

キューの表示名を指定します。表示名とは，アプリケーションがJNDIネーミングサービスからキューを取得するときの，キューの論理名のことです。

指定を省略した場合はコマンド引数で指定したキュー名と同じ名称を指定したものとみなされます。

指定した表示名と同じ名称を持つキューがすでに存在している場合，エラーとなります。詳細は「(5)　注意事項」を参照してください。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

属性を変更する受信用共用キューの名前を指定します。

指定した受信用共用キューがない場合はエラーが発生します。

(5)　注意事項

各オプションを省略する場合，その属性は変更されません。キュー名だけを指定した場合，属性は変更されないでそのままコマンド処理が終了します。

キャッシュメッセージ数を変更できるのは，受信用共用キューにメッセージがない場合だけです。メッセージがある場合はエラーが発生します。

受信用共用キューの最大メッセージ長または最大メッセージ数を変更する場合は，hrmlsqueコマンドでキュー情報を確認してからキューを削除して作成し直してください。または，異なるキューを作成してください。

Cosminexus RM初回開始時の管理状態の場合，または管理状態からの再開始後に実行状態に移行していない管理状態の場合だけ実行できます。それ以外の場合はエラーが発生します。ただし，Cosminexus RM起動直後の管理状態でも，相手システムが起動中の場合，エラーが発生するおそれがあります。

キュー定義ファイルを使用していない場合，変更前の表示名でJNDIネーミングサービスに登録されていたオブジェクトは削除され，-xオプションで指定した変更後の表示名でJNDIネーミングサービスに登録されます。このコマンド実行時に，アプリケーションがJNDIネーミングサービスから該当するキューに対応する値（javax.jms.Queue型のオブジェクト）を取得しているかどうかは，このコマンドの実行結果に影響しません。

8.3.4　hrmchgque（送信用共用キューの属性変更）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmchgque  〔-x 表示名〕 〔-S システム名〕 キュー名

(2)　機能

作成済みの送信用共用キューの属性を変更します。

(3)　オプション

-x 表示名

　～＜1～64文字の英数字および_（アンダースコア）＞

キューの表示名を指定します。表示名とは，アプリケーションがJNDIネーミングサービスからキューを取得するときの，キューの論理名のことです。

指定を省略した場合はコマンド引数で指定したキュー名と同じ名称を指定したものとみなされます。

指定した表示名と同じ名称を持つキューがすでに存在している場合，エラーとなります。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

属性を変更する送信用共用キューの名前を指定します。

指定した送信用共用キューがない場合はエラーが発生します。

(5)　注意事項

各オプションを省略する場合，その属性は変更されません。キュー名だけを指定した場合，属性は変更されないでそのままコマンド処理が終了します。

Cosminexus RM初回開始時の管理状態の場合，または管理状態からの再開始後に実行状態に移行していない管理状態の場合だけ実行できます。それ以外のときはエラーが発生します。ただし，Cosminexus RM起動直後の管理状態でも，相手システムが起動中の場合，エラーが発生するおそれがあります。

キュー定義ファイルを使用していない場合，変更前の表示名でJNDIネーミングサービスに登録されていたオブジェクトは削除され，-xオプションで指定した変更後の表示名でJNDIネーミングサービスに登録されます。このコマンド実行時に，アプリケーションがJNDIネーミングサービスから該当するキューに対応する値（javax.jms.Queue型のオブジェクト）を取得しているかどうかは，このコマンドの実行結果に影響しません。

8.3.5　hrmchgque（転送キューの属性変更）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmchgque 〔-n 最大メッセージ数〕 〔-c キャッシュメッセージ数〕
         〔-e メッセージ有効期間〕 〔-a あて先名〕
         〔-v 転送先キュー名｜-y〕 〔-i {normal | compatible}〕
         〔-j {exactly_once｜in_order}〕
         〔-g 通信層のグループ有効期間〕 〔-s 通信層のメッセージ有効期間〕
         〔-x 表示名〕 〔-S システム名〕 キュー名

(2)　機能

作成済みの転送キューの属性を変更します。

(3)　オプション

-n 最大メッセージ数

　～＜数字＞((1～65535))

転送キューに格納するメッセージの最大数を指定します。

-c キャッシュメッセージ数

　～＜数字＞((0～65535))

キャッシュに格納するメッセージの数を指定します。

-e メッセージ有効期間

　～＜数字＞((1～2592000))（単位：秒）

転送キューに格納するメッセージの有効期間を指定します。

有効期間を指定するときのメッセージの処理については，「2.3.5　メッセージの有効期間」を参照してください。

-a あて先名

　～＜1～32文字の文字列＞

メッセージを転送するあて先のあて先名を指定します。hrmmkaddrコマンドで，事前にあて先名を登録する必要があります。登録されていないあて先名を指定するとエラーが発生します。

-v 転送先キュー名

　～＜1～20文字の識別子＞

メッセージを転送する場合，転送したメッセージを登録する転送キューのキュー名を指定します。転送キューの詳細については，「8.3.20　hrmmkque（転送キューの作成）」を参照してください。

-y

-vオプションを省略して，-aオプションで指定したあて先名に対応するあて先アドレスだけを送信アドレスとする場合に指定します。転送キューの詳細については，「8.3.20　hrmmkque（転送キューの作成）」を参照してください。

-i {normal | compatible}

作成するキューの転送モードを指定します。

normal：通常モード

compatible：互換モード

転送先のCosminexus RMのバージョンが01-03の場合はnormalを指定します。バージョンが01-02以前の場合はcompatibleを指定します。

normalを指定して作成した転送キューを使用して，01-02以前のCosminexus RMにメッセージを転送した場合，ペイロードが空のメッセージとして受信されることがありますので，注意してください。

-j {exactly_once｜in_order}

転送に使用するQoS（通信品質）の種別を指定します。

exactly_once：配送保証および重複防止

in_order：順序保証

このオプションをin_orderに変更する場合，キューモードは永続キューだけ有効となります。それ以外を指定した場合はエラーが発生します。

-g 通信層のグループ有効期間

　～＜数字＞((10～2592000))（単位：秒）

通信層のグループの有効期間を指定します。

転送キューの詳細については，「8.3.20　hrmmkque（転送キューの作成）」を参照してください。

-s 通信層のメッセージ有効期間

　～＜数字＞((10～2592000))（単位：秒）

通信層のメッセージの有効期間を指定します。

転送キューの詳細については，「8.3.20　hrmmkque（転送キューの作成）」を参照してください。

-x 表示名

　～＜1～64文字の英数字および_（アンダースコア）＞

キューの表示名を指定します。表示名とは，アプリケーションがJNDIネーミングサービスからキューを取得するときの，キューの論理名のことです。

指定を省略した場合はコマンド引数で指定したキュー名と同じ名称を指定したものとみなされます。

指定した表示名と同じ名称を持つキューがすでに存在している場合，エラーとなります。詳細は「(5)　注意事項」を参照してください。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

属性を変更する転送キューの名前を指定します。

指定した転送キューがない場合はエラーが発生します。

(5)　注意事項

各オプションを省略する場合，その属性は変更されません。キュー名だけを指定した場合，属性は変更されないでそのままコマンド処理が終了します。

最大メッセージ数，キャッシュメッセージ数，メッセージ有効期間，あて先名，キューの転送モード，QoS，通信層のグループ有効期間，および通信層のメッセージ有効期間を変更できるのは，転送キューにメッセージがない場合だけです。メッセージがある場合はエラーが発生します。

転送先キュー名または-yオプションの指定内容は，次のうちどちらかの状態のときだけ変更できます。

キューにメッセージがない状態

キューに現存するメッセージが転送される前の状態

転送済みのメッセージが存在する場合はエラーが発生します。

Cosminexus RM初回開始時の管理状態の場合，または管理状態からの再開始後に実行状態に移行していない管理状態の場合だけ実行できます。それ以外の場合はエラーが発生します。ただし，Cosminexus RM起動直後の管理状態でも，相手システムが起動中の場合，エラーが発生するおそれがあります。

キュー定義ファイルを使用していない場合，変更前の表示名でJNDIネーミングサービスに登録されていたオブジェクトは削除され，-xオプションで指定した変更後の表示名でJNDIネーミングサービスに登録されます。このコマンド実行時に，アプリケーションがJNDIネーミングサービスから該当するキューに対応する値（javax.jms.Queue型のオブジェクト）を取得しているかどうかは，このコマンドの実行結果に影響しません。

8.3.6　hrmdeladdr（あて先削除）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(1)　形式

hrmdeladdr 〔-S システム名〕 あて先名

(2)　機能

あて先情報テーブルに登録したあて先情報を削除します。

(3)　オプション

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

あて先名

　～＜1～32文字の文字列＞

削除したいあて先情報のあて先名を指定します。

キューに指定されていないあて先だけ削除できます。

指定したあて先名が存在しない，またはキューに指定されている場合はエラーが発生します。

8.3.7　hrmdelmsg（メッセージの削除）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmdelmsg 〔-f〕 {-a｜-n メッセージ通番}〔-S システム名〕 キュー名

(2)　機能

キュー内のメッセージを削除します。

永続版リソースアダプタの場合，実行状態でこのコマンドを使用するときは-fオプションを指定してください。

非永続版リソースアダプタの場合，実行状態でこのコマンドを使用するときも-fオプションを指定する必要はありません。

(3)　オプション

-f

永続版リソースアダプタの場合
Cosminexus RMが実行状態でも強制的にメッセージを削除する場合に指定します。
実行状態でこのコマンドを使用する場合は，このオプションを指定しないと，エラーが発生します。

非永続版リソースアダプタの場合
非永続版リソースアダプタでは指定しても無視されます。

-a

コマンド引数に指定したキューに格納されている全メッセージを削除する場合に指定します。

-n メッセージ通番

　～＜数字＞((1～65535))

削除するメッセージのメッセージ通番を指定します。

指定するメッセージ通番の上限値は，コマンド引数に指定したキューに定義された最大メッセージ数です。指定したメッセージ通番のメッセージがない場合はエラーが発生します。

永続版リソースアダプタの場合
コマンド引数に指定したキューの種類によって，指定できるメッセージ通番は異なります。詳細については，「(5)　注意事項」を参照してください。

非永続版リソースアダプタの場合
非永続版リソースアダプタの場合，キューの種類による通番の違いはありません。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

メッセージを削除するキューの名前を指定します。

指定したキューがない場合はエラーが発生します。

(5)　注意事項

実行状態でコマンドを実行する場合は，-fオプションを指定してください。ただし，タイミングによってはエラーが発生するおそれがあります。そのため，管理状態での実行をお勧めします。

設定できるオプションはキューの種類によって異なります。
hrmdelmsgコマンドで各キューに設定できるオプションについて，次の表に示します。

表8-2　hrmdelmsgコマンドで各キューに設定できるオプション

キューの種類 | -fオプション | -aオプション | -nオプション
永続版 | 非永続版 | 永続版 | 非永続版 | 永続版 | 非永続版
ローカルキュー | ○ | △※1 | ○ | ○ | ○ | ○
受信用共用キュー | ○ | × | ○ | × | △※2 | ×
送信用共用キュー※3 | × | × | × | × | × | ×
転送キュー※4 | ○ | × | ○ | × | × | ×

（凡例）

○：設定できます。

△：設定できます（制限があります）。

×：設定できません（エラーが発生します）。

注※1

非永続版リソースアダプタでは-fオプションを指定しても無視されます（エラーは発生しません）。

注※2

コマンド引数に受信用共用キューを指定する場合，-nオプションで指定できるメッセージ通番は1だけです。1以外を指定したときはエラーが発生します。

注※3

送信用共用キューからはメッセージを削除できません。コマンド引数に送信用共用キューを指定する場合はエラーが発生します。

注※4

キューの種類が転送キューのキュー名を指定し，かつQoS（通信品質）で順序保証を指定した場合，受信側に未配信メッセージが滞留するときがあります。

8.3.8　hrmdelque（キューの削除）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmdelque 〔-f〕 〔-S システム名〕 キュー名

(2)　機能

作成済みのキューを削除します。

非永続版リソースアダプタの場合，キュー作成ファイルの定義を削除することでキューが削除されます。キュー作成ファイルの詳細については，「3.5.1　キュー作成ファイルの作成」を参照してください。

(3)　オプション

-f

コマンド引数に指定したキューにメッセージがあっても強制的にキューを削除するときに指定します。この場合，キューにある全メッセージを削除してからキューが削除されます。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

削除するキューの名前を指定します。

指定したキューがない場合はエラーが発生します。

(5)　注意事項

-fオプションを指定しない場合，コマンド引数に指定したキューにメッセージがあるとエラーが発生します。

受信用共用キューを削除する場合は送信処理を中断してください。送信処理を中断しないとき，送受信処理またはリカバリ処理でエラーが発生するおそれがあります。

キュー間転送で使用しているキューを削除する場合，送信側と受信側のキューを両方削除してください。片方のキューだけ削除すると，メッセージが滞留する場合があります。

初回開始時の場合，または管理状態からの再開始後に実行状態に移行していない管理状態の場合だけ実行できます。それ以外の場合はエラーが発生します。ただし，Cosminexus RM起動直後の管理状態でも，相手システムが起動中の場合，エラーが発生するおそれがあります。

削除するキューをMessage-driven Beanが監視している場合，このコマンドを実行するとエラーが発生します。

閉塞状態のキューは，-fオプションを指定しなくてもメッセージの有無に関係なく，削除されます。また，閉塞した原因によって，キューを削除できない場合があります。対処方法については，キューの閉塞時に出力されたメッセージログを参照してください。

削除対象の共用キューが他システムから参照されている場合は，該当の共用キューを参照しているすべてのコネクションを切断しておいてください。

キュー定義ファイルを使用していない場合，このコマンド実行時に，アプリケーションがJNDIネーミングサービスから該当するキューに対応する値（javax.jms.Queue型のオブジェクト）を取得しているかどうかに関係なく，JNDIネーミングサービスに登録されているオブジェクトは削除されます。

8.3.9　hrmlsaddr（あて先表示）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　出力形式

(1)　形式

hrmlsaddr {-n｜-a あて先名} 〔-S システム名〕

(2)　機能

あて先情報テーブルに登録したあて先名一覧，またはあて先情報を表示します。

(3)　オプション

-n

登録済みのあて先名一覧と登録済みのあて先数を表示します。あて先情報は表示しません。

-a あて先名

　～＜1～32文字の文字列＞

表示するあて先情報に対応する論理名を指定します。

指定したあて先名が存在しない場合はエラーが発生します。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　出力形式

-nオプション指定の場合

address name
 aa....aa
   ：
 aa....aa
all address count  ＝  bb....bb

-aオプション指定の場合

address name  ＝  aa....aa
url  ＝  cc....cc
user id  ＝  dd....dd
password  ＝  ee....ee

aa....aa

あて先名（文字列）

bb....bb

全あて先の個数（10進数）

cc....cc

あて先アドレス（文字列）

dd....dd

BASIC認証のためのユーザID（英数字）

BASIC認証を使用しない場合，空白で表示されます。

ee....ee

BASIC認証のためのパスワード（"********"）

BASIC認証を使用しない場合，空白で表示されます。

8.3.10　hrmlsdmsg（デッドメッセージの参照）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　出力形式

(5)　注意事項

(1)　形式

hrmlsdmsg {-i デッドメッセージID｜-n メッセージ通番 〔-e 出力メッセージ数〕}
        〔-o 出力メッセージバイト数〕 〔-p〕 〔-S　システム名〕

(2)　機能

デッドメッセージキュー内のデッドメッセージの情報を表示します。デッドメッセージ情報やメッセージ内容が表示できます。

(3)　オプション

-i デッドメッセージID

　～＜1～39文字の識別子＞

表示するデッドメッセージのデッドメッセージID（DMID）を指定します。

指定したDMIDのメッセージがデッドメッセージキュー内にない場合はエラーが発生します。

-n メッセージ通番

　～＜数字＞((1～65535))

表示するデッドメッセージのメッセージ通番を指定します。

指定できるメッセージ通番の上限値は，デッドメッセージキューに定義された最大メッセージ数です。指定したメッセージ通番以降にデッドメッセージがない場合は，エラーが発生します。

-e 出力メッセージ数

　～＜数字＞((1～100))《1》

表示するメッセージ数を指定します。-nオプションで指定したメッセージ通番から，このオプションに指定した数のデッドメッセージ情報が表示されます。

指定を省略した場合，一つのデッドメッセージ情報が表示されます。キュー内のメッセージ数よりも大きい値を指定した場合は，キュー内のメッセージの範囲で表示されます。

-o 出力メッセージバイト数

　～＜数字＞((0～1024))《0》（単位：バイト）

メッセージの内容を表示する場合に，表示するバイト数を指定します。

指定を省略した場合，または0を指定した場合は，メッセージの内容は表示されません。

-p

アプリケーション指定のプロパティを表示する場合に指定します。

JMS定義のプロパティ，およびCosminexus RM固有のプロパティは表示されません。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　出力形式

message number  ＝  aa....aa
dead message id  ＝  bb....bb
original queue name  ＝  cc....cc
original queue type  ＝  dd....dd
cause  ＝  ee....ee
dead message timestamp  ＝  ff....ff
create time  ＝  gg....gg
correlation id  ＝  hh....hh※1
group id  ＝  ii....ii※1
group seq  ＝  jj....jj※1
message id  ＝  kk....kk※1
property※2
ll....ll  ＝  mm....mm※2※3
   ：
ll....ll  ＝  mm....mm※2※3
message type  ＝  nn....nn
message length  ＝  oo....oo
message
00000000[0x pp....pp  pp....pp  pp....pp  pp....pp] qq....qq
                            ：
00000000[0x pp....pp  pp....pp  pp....pp  pp....pp] qq....qq

注※1

次の場合は表示されません。

デッドメッセージ移動元が受信用共用キューの場合

転送されたBytesContainerメッセージの場合

メッセージ登録時に設定していない場合

注※2

-pオプションで，プロパティ表示を指定した場合に表示されます。

注※3

次の場合は表示されません。

デッドメッセージ移動元が受信用共用キューの場合

BytesContainerメッセージの場合

アプリケーション指定のプロパティが未設定の場合

aa....aa

メッセージ通番（10進数）

bb....bb

デッドメッセージID（文字列）

cc....cc

デッドメッセージキュー移動前のキュー名（文字列）

dd....dd

デッドメッセージキュー移動前のキューの種類

LOCAL：ローカルキュー

SHARE_RECEIVE：受信用共用キュー

TRANSMIT：転送キュー

ee....ee

デッドメッセージキュー移動原因（文字列）

表示文字列は，API仕様のCosminexus RM固有のプロパティでの「JMS_HITACHI_DeadMessageCause」に設定される文字列と同じです。

ff....ff

デッドメッセージキュー移動時間（文字列）

gg....gg

メッセージ生成時刻（文字列）

デッドメッセージキュー移動元が受信用共用キューの場合，または転送されたBytesContainerメッセージの場合，****/**/** **:**:**.*** (*************)が表示されます。

hh....hh

JMSCorrelationID（文字列）

ii....ii

JMSXGroupID（文字列）

jj....jj

JMSXGroupSeq（10進数）

kk....kk

JMSMessageID（文字列）

ll....ll

プロパティ名（文字列）

mm....mm

プロパティ値（文字列）

プロパティの型の文字列表現で表示されます。プロパティ値にnullを設定した場合は表示されません。

nn....nn

メッセージ種別

TEXT_MESSAGE：テキストメッセージ

BYTE_MESSAGE：バイトメッセージ

OBJECT_MESSAGE：オブジェクトメッセージ

OBJECT_MESSAGE(BYTES_CONTAINER)：BytesContainerメッセージ

MESSAGE：メッセージ

BytesContainerについては，「7.8.2　BytesContainerインタフェース」を参照してください。

oo....oo

メッセージ長（10進数）

メッセージ種別がTEXT_MESSAGE，またはBYTE_MESSAGEの場合だけ表示されます。

pp....pp

メッセージ内容（16進数）

qq....qq

メッセージ内容（文字列）

次に示す文字以外の文字データがメッセージ中にある場合，その文字データはピリオド（.）に変換して出力されます。

半角文字の英数字

半角文字のパーセント（%），スラント（/），ピリオド（.），アンダースコア（_）および空白（ ）

(5)　注意事項

対象のデッドメッセージキューは，RMDeadMessageQueueNameプロパティで指定したキューです。

次のメッセージは表示されません。

アプリケーションで登録したメッセージ

Cosminexus RM 01-01以前にデッドメッセージキューに移動したメッセージ

表示されるメッセージ通番は，デッドメッセージキュー内で先頭メッセージから順番に通し番号を振られています。表示されないメッセージ（アプリケーションで登録したメッセージ，Cosminexus RM 01-01以前にデッドメッセージキューに移動したメッセージ）が混在している場合，表示されるメッセージ通番は連続しないことがあります。

表示できるメッセージの内容は，バイトおよびテキスト型のメッセージだけです。

8.3.11　hrmlsmsg（メッセージの表示）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　出力形式

(6)　注意事項

(1)　形式

hrmlsmsg -n メッセージ通番 〔-e 出力メッセージ数〕
       〔-o 出力メッセージバイト数〕
       〔-S システム名〕 キュー名

(2)　機能

キュー内のメッセージの情報を表示します。メッセージ属性やメッセージ内容が表示されます。また，アプリケーションが取り出せるメッセージの一覧が表示されます。

転送キューの場合は，転送前または転送処理中のメッセージ一覧が表示されます。

(3)　オプション

-n メッセージ通番

　～＜数字＞((1～65535))

表示するメッセージのメッセージ通番を指定します。

指定できるメッセージ通番の上限値は，コマンド引数に指定したキューに定義された最大メッセージ数です。指定したメッセージ通番のメッセージがない場合はエラーが発生します。

-e 出力メッセージ数

　～＜数字＞((1～100))《1》

表示するメッセージ数を指定します。-nオプションで指定したメッセージ通番のメッセージを先頭にして，このオプションに指定した数のメッセージが表示されます。

キューにあるメッセージ数よりも大きい値を指定した場合は，キューにある範囲で表示されます。

-o 出力メッセージバイト数

　～＜数字＞((0～1024))《0》（単位：バイト）

メッセージ内容を表示する場合に，表示するバイト数を指定します。

指定を省略した場合，または0を指定した場合は，メッセージ内容は表示されません。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

表示するメッセージがあるキューの名前を指定します。

指定したキューがない場合または送信用共用キューを指定した場合は，エラーが発生します。

(5)　出力形式

ローカルキューを指定する場合（永続版リソースアダプタの場合）

message number  ＝  aa....aa
queue name ＝ bb....bb
original queue name  ＝  cc....cc※
cause  ＝  dd....dd※
fifo id ＝ ee....ee
sequence number  ＝  ff....ff
create time  ＝  gg....gg
modify time  ＝  hh....hh
expiry time  ＝  ii....ii
entry time  ＝  jj....jj
delete flag  ＝  kk....kk
priority  ＝  ll....ll
correlation id  ＝  mm....mm
group id  ＝  nn....nn
group seq  ＝  oo....oo
message id  ＝  pp....pp
redelivery flag  ＝  qq....qq
delivery count  ＝  rr....rr
message type  ＝  ss....ss
message length  ＝  tt....tt
message
00000000[0x uu....uu  uu....uu  uu....uu  uu....uu] vv....vv
                             ：
00000000[0x uu....uu  uu....uu  uu....uu  uu....uu] vv....vv

注※

デッドメッセージキューを指定した場合だけ表示します。

ローカルキューを指定する場合（非永続版リソースアダプタの場合）

message number  ＝  aa....aa
queue name ＝ bb....bb
fifo id ＝ ee....ee
sequence number  ＝  ff....ff
create time  ＝  gg....gg
modify time  ＝  hh....hh
expiry time  ＝  ii....ii
entry time  ＝  jj....jj
delete flag  ＝  kk....kk
priority  ＝  ll....ll
correlation id  ＝  mm....mm
group id  ＝  nn....nn
group seq  ＝  oo....oo
message id  ＝  pp....pp
redelivery flag  ＝  qq....qq
delivery count  ＝  rr....rr
message type  ＝  ss....ss
message length  ＝  tt....tt
message
00000000[0x uu....uu  uu....uu  uu....uu  uu....uu] vv....vv
                             ：
00000000[0x uu....uu  uu....uu  uu....uu  uu....uu] vv....vv

受信用共用キューを指定する場合

message number  ＝  aa....aa
queue name  ＝  bb....bb
internal message number  ＝  ww....ww
message length  ＝  ss....ss
message
00000000[0x uu....uu  uu....uu  uu....uu  uu....uu] vv....vv
                             ：
00000000[0x uu....uu  uu....uu  uu....uu  uu....uu] vv....vv

転送キューを指定する場合

message number  ＝  aa....aa
queue name  ＝  bb....bb
fifo id ＝ ee....ee
sequence number  ＝  ff....ff
create time  ＝  gg....gg
modify time  ＝  hh....hh
expiry time  ＝  ii....ii
entry time  ＝  jj....jj
delete flag  ＝  kk....kk
priority  ＝  ll....ll
correlation id  ＝  mm....mm
group id  ＝  nn....nn
group seq  ＝  oo....oo
message id  ＝  pp....pp
message type  ＝  ss....ss
message length  ＝  tt....tt
message
00000000[0x uu....uu  uu....uu  uu....uu  uu....uu] vv....vv
                             ：
00000000[0x uu....uu  uu....uu  uu....uu  uu....uu] vv....vv

aa....aa

メッセージ通番（10進数）

bb....bb

キュー名（文字列）

cc....cc

デッドメッセージキュー移動前キュー名（文字列）

dd....dd

デッドメッセージキュー移動原因（文字列）

表示文字列は，API仕様のCosminexus RM固有のプロパティで，「JMS_HITACHI_DeadMessageCause」に設定される文字列と同じです。

ee....ee

FIFO ID（文字列）

ff....ff

シーケンス番号（10進数）

gg....gg

メッセージ生成時刻（文字列）

永続版リソースアダプタの場合，受信用共用キューからデッドメッセージキューへ移動されたメッセージのとき，または転送キューからローカルキューへ転送されたBytesContainerメッセージのときは，****/**/** **:**:**.*** (*************)が表示されます。

hh....hh

メッセージ更新時刻（文字列）

永続版リソースアダプタの場合，受信用共用キューからデッドメッセージキューへ移動されたメッセージのとき，または転送キューからローカルキューへ転送されたBytesContainerメッセージのときは，****/**/** **:**:**.*** (*************)が表示されます。

ii....ii

メッセージ有効期間（文字列）

無限の場合，0が表示されます。

jj....jj

メッセージ登録時刻（文字列）

kk....kk

メッセージ削除（可否）フラグ

次に示すどちらかが表示されます。

DELETE：削除できます。

NO_DELETE：削除不可です。

ll....ll

メッセージ優先度（10進数）

mm....mm

JMSCorrelationID（文字列）

メッセージ登録時に設定されていない場合，空白が表示されます。

nn....nn

JMSXGroupID（文字列）

メッセージ登録時に設定されていない場合，空白が表示されます。

oo....oo

JMSXGroupSeq（10進数）

メッセージ登録時に設定されていない場合，空白が表示されます。

pp....pp

JMSMessageID（文字列）

メッセージ登録時に設定されていない場合，空白が表示されます。

qq....qq

メッセージの再配送フラグ

次に示すどちらかが表示されます。

NON_REDELIVERY：再配送していません。

REDELIVERY：再配送しました。

rr....rr

メッセージの配送回数（10進数）

ss....ss

メッセージ種別

永続版リソースアダプタの場合
次に示すどれかが表示されます。
・TEXT_MESSAGE：テキストメッセージ
・BYTE_MESSAGE：バイトメッセージ
・OBJECT_MESSAGE：オブジェクトメッセージ
・OBJECT_MESSAGE(BYTES_CONTAINER)：BytesContainerメッセージ
・MESSAGE：メッセージ
BytesContainerについては，「7.8.2　BytesContainerインタフェース」を参照してください。

非永続版リソースアダプタの場合
次に示すどれかが表示されます。
・TEXT_MESSAGE：テキストメッセージ
・BYTE_MESSAGE：バイトメッセージ
・OBJECT_MESSAGE：オブジェクトメッセージ
・MESSAGE：メッセージ

tt....tt

メッセージ長（10進数）

メッセージ種別がTEXT_MESSAGEまたはBYTE_MESSAGEの場合だけ表示されます。

uu....uu

メッセージ内容（16進数）

vv....vv

メッセージ内容（文字列）

次に示す文字以外の文字データがメッセージ中にある場合，その文字データはピリオド（.）に変換して出力されます。

半角文字の英数字

半角文字のパーセント（%），スラント（/），ピリオド（.），アンダースコア（_）および空白（ ）

ww....ww

内部メッセージ通番（10進数）

(6)　注意事項

表示できるメッセージの内容は，バイトおよびテキスト型のメッセージだけです。

BytesContainerメッセージをローカルキューに登録した場合，ローカルキューに登録したときの情報が表示されます。

非永続版リソースアダプタの場合，ローカルキュー内のメッセージ情報だけが表示されます。

8.3.12　hrmlsque（キュー情報の表示）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　出力形式

(5)　注意事項

(1)　形式

hrmlsque {-n｜-q キュー名} 〔-S システム名〕

(2)　機能

作成済みのキュー名一覧および作成済みのキュー情報を表示します。

(3)　オプション

-n

作成済みのキュー名一覧とキューの数が出力されます。キュー情報は出力されません。

-q キュー名

　～＜1～20文字の識別子＞

キュー情報を表示するキューの名前を指定します。

非永続版リソースアダプタの場合は，ローカルキューだけ指定できます。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　出力形式

-nオプションを指定する場合

queue name
 aa....aa
   ：
 aa....aa
all queue count  ＝  yy....yy

-qオプションにキュー名を指定する場合

ローカルキューのとき

queue name  ＝  aa....aa
display name  ＝  NN....NN
queue mode  ＝  bb....bb
queue type  ＝  cc....cc
create date  ＝  dd....dd
modify date  ＝  ee....ee
ap delivery mode  ＝  ff....ff
max message number  ＝  hh....hh
max cache message number  ＝  ii....ii
expiry time  ＝  jj....jj
local fifo id  ＝  kk....kk
queue state  ＝  ll....ll
message count  ＝  uu....uu
delivered message count  ＝  vv....vv
total message count  ＝  ww....ww
cache message count  ＝  xx....xx
expiry time pattern  ＝  BB....BB

受信用共用キューのとき

queue name  ＝  aa....aa
display name  ＝  NN....NN
queue mode  ＝  bb....bb
queue type  ＝  cc....cc
share queue version  ＝  MM....MM
create date  ＝  dd....dd
modify date  ＝  ee....ee
ap delivery mode  ＝  ff....ff
max message size  ＝  gg....gg
max message number  ＝  hh....hh
max cache message number  ＝  ii....ii
local fifo id  ＝  kk....kk
queue state  ＝  ll....ll
message count  ＝  uu....uu
cache message count  ＝  xx....xx

送信用共用キューのとき

queue name  ＝  aa....aa
display name  ＝  NN....NN
queue mode  ＝  bb....bb
queue type  ＝  cc....cc
share queue version  ＝  MM....MM
create date  ＝  dd....dd
modify date  ＝  ee....ee
ap delivery mode  ＝  ff....ff
max message size  ＝  gg....gg
local fifo id  ＝  kk....kk
queue state  ＝  ll....ll
share queue host  ＝  mm....mm
share queue port  ＝  nn....nn
share queue name  ＝  oo....oo

転送キューのとき

queue name  ＝  aa....aa
display name  ＝  NN....NN
queue mode  ＝  bb....bb
queue type  ＝  cc....cc
create date  ＝  dd....dd
modify date  ＝  ee....ee
max message number  ＝  hh....hh
max cache message number  ＝  ii....ii
expiry time  ＝  jj....jj
local fifo id  ＝  kk....kk
queue state  ＝  ll....ll
message count  ＝  uu....uu
delivered message count  ＝  vv....vv
total message count  ＝  ww....ww
cache message count  ＝  xx....xx
address name  ＝  CC....CC
url  ＝  DD....DD
address queue name  ＝  EE....EE
user id  ＝  FF....FF
password  ＝  GG....GG
transmission mode  ＝  HH....HH
qos  ＝  II....II
transmission group expiry time  ＝  KK....KK  
transmission expiry time  ＝  LL....LL

aa....aa

キュー名（文字列）

bb....bb

キューモード

永続版リソースアダプタの場合
次に示すどちらかが表示されます。
・PERSISTENT：永続キュー
・NON_PERSISTENT：非永続キュー
受信用共用キューおよび送信用共用キューの場合はPERSISTENTが表示されます。

非永続版リソースアダプタの場合
・NON_PERSISTENT：非永続キュー

cc....cc

キュータイプ

永続版リソースアダプタの場合
次に示すどれかが表示されます。
・LOCAL：ローカルキュー
・SHARE_RECEIVE：受信用共用キュー
・SHARE_SEND：送信用共用キュー
・TRANSMIT：転送キュー

非永続版リソースアダプタの場合
・LOCAL：ローカルキュー

dd....dd

永続版リソースアダプタの場合
キューを作成した日付（文字列）

非永続版リソースアダプタの場合
キュー作成ファイルを読み込んだときの日付が表示されます。キュー作成ファイルについては，「3.5.1　キュー作成ファイルの作成」を参照してください。

ee....ee

永続版リソースアダプタの場合
キューを更新した日付（文字列）

非永続版リソースアダプタの場合
キューを作成した日付（dd....dd）と同じ値が表示されます。

ff....ff

メッセージ取り出しモード

次に示すどちらかが表示されます。

SERIAL：シリアル取り出し属性

PARALLEL：パラレル取り出し属性

永続版リソースアダプタの受信用共用キューおよび送信用共用キューの場合はSERIALが表示されます。

gg....gg

最大メッセージ長（10進数）

hh....hh

最大メッセージ数（10進数）

ii....ii

永続版リソースアダプタの場合
最大キャッシュメッセージ数（10進数）

非永続版リソースアダプタの場合
最大メッセージ数（hh....hh）と同じ値が表示されます。

jj....jj

メッセージの有効期間（10進数）

kk....kk

ローカル書き込み用のFIFO ID（文字列）

FIFO IDは管理情報としてシステム内部で使用しているキュー情報です。

ll....ll

キューの状態（文字列）

永続版リソースアダプタの場合
次に示すどれかが表示されます。
・NORMAL：正常状態
・AP_SEND_DISABLED：メッセージの送信抑止状態
・AP_RECEIVE_DISABLED：メッセージの受信抑止状態
・TRS_SEND_DISABLED：キュー間転送メッセージの送信抑止状態
・TRS_RECEIVE_DISABLED：キュー間転送メッセージの受信抑止状態
・BLOCKED：閉塞状態
複数の抑止をしている場合は，これらがすべて表示されます。閉塞状態のキューは，hrmlsqueコマンドとhrmdelqueコマンド以外は受け付けません。また，キューが閉塞状態にある場合に出力される形式は異なります。詳細は「(5)　注意事項」を参照してください。

非永続版リソースアダプタの場合
次に示すどれかが表示されます。
・NORMAL：正常状態
・AP_SEND_DISABLED：メッセージの送信抑止状態
・AP_RECEIVE_DISABLED：メッセージの受信抑止状態
複数の抑止をしている場合は，これらがすべて表示されます。

mm....mm

共用キューを使用して複数システム間でのアプリケーション連携をする場合のイベント送信先ホスト名またはIPアドレス（文字列）

nn....nn

共用キューを使用して複数システム間でのアプリケーション連携をする場合のイベント送信先ポート番号（10進数）

oo....oo

共用キューを使用して複数システム間でのアプリケーション連携をする場合の登録先キュー名（文字列）

uu....uu

仕掛かり中メッセージ数（10進数）

未配信メッセージの数です。有効期限切れメッセージおよび受信処理中メッセージの数を含みます。

転送キューの場合，転送待ちメッセージの数および転送処理中メッセージの数も含みます。

vv....vv

配送済みメッセージ数（10進数）

ローカルキューの場合，hrmdelmsgコマンドによって削除されたメッセージなども数に含みます。

転送キューの場合，Acknowledgment受信済みメッセージの数が表示されます。

ww....ww

総メッセージ数（10進数）

仕掛かり中メッセージの数，配信済みメッセージの数および滞留メッセージの数の和です。

転送キューの場合，滞留メッセージの数は常に0となります。

xx....xx

キャッシュに格納されているメッセージ数（10進数）

ローカルキューの場合，キャッシュに格納されている滞留メッセージの数も含みます。

yy....yy

全キューの個数（10進数）

BB....BB

メッセージ有効期間の選択

永続版リソースアダプタの場合
次に示すどちらかが表示されます。
・SENDER：送信側の有効期間
・RECEIVER：受信側の有効期間

非永続版リソースアダプタの場合
「***」が表示されます。

CC....CC

あて先名（文字列）

DD....DD

あて先アドレス（文字列）

EE....EE

転送先キュー名 （識別子）

転送先キューを使用しない場合，空白で表示されます。

FF....FF

BASIC認証のためのユーザID（英数字）

BASIC認証を使用しない場合，空白で表示されます。

GG....GG

BASIC認証のためのパスワード（"********"）

BASIC認証を使用しない場合，空白で表示されます。

HH....HH

転送モード

永続版リソースアダプタの転送キューの場合，次に示すどちらかが表示されます。

NORMAL：通常モード

COMPATIBLE：互換モード

II....II

QoS（通信品質）の種別

次に示すどちらかが表示されます。

EXACTLY_ONCE：配送保証および重複防止

IN_ORDER：順序保証

KK....KK

通信層のグループ有効期間（10進数）

LL....LL

通信層のメッセージ有効期間（10進数）

MM....MM

共用キューのバージョン

送信用共用キューの場合は，対応する受信用共用キューのバージョンを表示します。

NN....NN

キューに対応する表示名（文字列）

キュー定義ファイルの使用有無に関係なく出力します。表示名が指定されていない場合は，キュー名称が表示名として出力されます。

(5)　注意事項

キューが閉塞状態であった場合，次の形式で出力されます。

queue name  ＝  aa....aa
queue type  ＝  cc....cc
queue state  =  BLOCKED

Cosminexus RM起動時に，キューの種類の値不正によってキューが閉塞した場合は，queue typeには"UNKNOWN"が出力されます。キューの閉塞状態および閉塞した場合の対処方法については「9.2　キューの障害」，またはキューが閉塞するときに出力されるメッセージログを参照してください。
非永続版リソースアダプタではキューは閉塞しないため，"BLOCKED"は表示されません。

送信用共用キューの参照時に，メッセージの送信先のシステムが停止中などでイベントが送信できない場合，share queue hostとshare queue portの値は空白で表示されることがあります。

送信用共用キューの参照時に，対応する受信用共用キューが接続先のDB上に存在しない場合，エラーが発生します。

非永続版リソースアダプタの場合，ローカルキューについてのキュー情報だけが表示されます。

8.3.13　hrmlsstat（システム状態の表示）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　出力形式

(1)　形式

hrmlsstat 〔-S システム名〕

(2)　機能

Cosminexus RMの内部状態を表示します。Cosminexus RMの内部状態については，次の個所を参照してください。

永続版リソースアダプタの場合「4.1.4　Cosminexus RMの状態遷移（永続版リソースアダプタの場合）」

非永続版リソースアダプタの場合「5.1.4　Cosminexus RMの状態遷移（非永続版リソースアダプタの場合）」

(3)　オプション

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　出力形式

system status  ＝  aa....aa

aa....aa

システム状態が表示されます。

次に示すどれかが表示されます。

永続版リソースアダプタの場合
・EXECUTED_STATE：実行状態
・MANAGED_STATE：管理状態
・BLOCKADE_STATE：閉塞状態
・CREATED_STATE：開始中状態

非永続版リソースアダプタの場合
・EXECUTED_STATE：実行状態
・BLOCKADE_STATE：閉塞状態
・CREATED_STATE：開始中状態

8.3.14　hrmlstrn（トランザクション状態の表示）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　出力形式

(5)　注意事項

(1)　形式

hrmlstrn 〔-S システム名〕

(2)　機能

トランザクションの状態を表示します。

(3)　オプション

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　出力形式

ローカルトランザクションの場合

timestamp ＝ aa....aa
transaction id
 bb....bb
transaction state ＝ cc....cc

トランザクションマネジャでのグローバルトランザクションの場合

timestamp ＝ aa....aa
transaction id
  XID(dd....dd,ee....ee)
transaction state ＝ cc....cc

aa....aa

トランザクション開始時刻（文字列）

YYYY/MM/DD hh:mm:ssの形式で表示されます。不明の場合はアスタリスク（*）が表示されます。

YYYY：西暦

MM：月

DD：日

hh：時間

mm：分

ss：秒

bb....bb

ローカルトランザクション識別子（文字列）

cc....cc

トランザクションの状態（文字列）

次に示すどれかが表示されます。

永続版リソースアダプタの場合
・NON_EXISTENT：初期状態
・ACTIVE：トランザクション処理中
・IDLE：トランザクション指示待ち
・PREPARED：トランザクション決着指示待ち
・ROLLBACK_ONLY：ロールバック指示待ち
・HEURISTIC_COMPLETED（詳細情報）：ヒューリスティック決着済み
　詳細情報として，次に示すどちらかが表示されます。
・HEURCOM：ヒューリスティックコミット
・HEURRB：ヒューリスティックロールバック
・PREPARED_OR_HEURISTIC：トランザクション決着指示待ちまたは
　ヒューリスティック決着済み
・LOCAL_ACTIVE：ローカルトランザクション処理中

非永続版リソースアダプタの場合
・LOCAL_ACTIVE：ローカルトランザクション処理中

次に示すオプションは永続版リソースアダプタでだけ使用できます。

dd....dd

グローバルトランザクション識別子（文字列）

ee....ee

ブランチ識別子（文字列）

(5)　注意事項

アプリケーションが使用するトランザクションの状態だけが表示されます。Cosminexus RMが内部で使用するトランザクションの状態は表示されません。

非永続版リソースアダプタの場合，ローカルトランザクションの状態だけ表示されます。

8.3.15　hrmlstrs（通信状態表示）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(6)　出力形式

(1)　形式

hrmlstrs {-n｜-g グループID} 〔-m 通信層グループ内メッセージ通番〕
        〔-e 出力メッセージ数〕〔-S システム名〕 キュー名

(2)　機能

メッセージ転送中に通信層のグループの状態やグループ内のメッセージ通信状態を表示します。

(3)　オプション

-n

キューに存在する通信層のグループID一覧と送信用/受信用の種別，グループの有効/無効を表示します。

-g グループID

　～＜1～256文字の文字列＞

通信状態を参照するグループのグループIDを指定します。

グループが無効の場合はグループの参照はできません。グループが無効の場合にこのオプションを指定するとエラーが発生します。

-m 通信層グループ内メッセージ通番

　～＜数字＞((1～65535))

出力するメッセージのメッセージ通番を指定します。指定するメッセージ通番の上限値は，指定したキューに定義された最大メッセージ数となります。

指定したメッセージ通番のメッセージが指定したキュー内に存在しない場合はエラーが発生します。-gオプションを指定していて，さらに指定したグループが有効の場合だけ指定できます。-gオプションを指定しない，または指定したグループが無効であった場合，このオプションを指定するとエラーが発生します。

-e 出力メッセージ数

　～＜数字＞((1～100))《1》

メッセージ情報を表示するメッセージ数を指定します。-mオプションで指定したメッセージ通番から，このオプションで指定された出力メッセージ数のメッセージ情報を表示します。指定を省略した場合，1メッセージ情報を表示します。

組み込まれているメッセージ数より大きい値を指定した場合は，組み込まれているメッセージ数までを表示します。

-gと-mオプションを両方指定したときだけ，このオプションは有効です。それ以外の場合はエラーが発生します。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

状態を参照するキューの名前を指定します。

指定したキューが存在しない，またはローカルキュー，転送キュー以外のキューを指定した場合はエラーが発生します。

(5)　注意事項

表示されるメッセージ通番は通信層のグループ内の通番です。hrmlsmsgコマンドで表示されるmessage numberと異なります。また，通信層グループ内メッセージ有効期限に到達したメッセージは出力対象になりません。

(6)　出力形式

-nオプション指定の場合

transmission group id : group type : group state
 aa....aa: bb....bb: cc....cc
    ：        ：        ：
 aa....aa: bb....bb: cc....cc
all group count = dd....dd

-gオプション グループID指定の場合
受信用グループのとき

transmission group id  ＝  aa....aa
qos  ＝  ee....ee
non received messages  ＝  ff....ff....ff....ff  (FF....FF)
skipped messages  ＝  gg....gg....gg....gg  (GG....GG)
transmission group expiry time  ＝  hh....hh

送信用グループのとき

transmission group id  ＝  aa....aa
qos  ＝  ee....ee
delivering messages  ＝  ii....ii....ii....ii (II....II)
transmission group expiry time  ＝  hh....hh

-gオプション グループID　-mオプション 1 指定の場合

transmission group message number  ＝  jj....jj
transmission sequence number ＝ kk....kk
message state  ＝  ll....ll
correlation id  ＝  mm....mm
group id  ＝  nn....nn
group seq  ＝  oo....oo
message id  ＝  pp....pp
transmission expiry time  ＝  qq....qq

aa....aa

通信層のグループID（文字列）

bb....bb

グループの種別

次に示すどちらかが表示されます。

SEND：送信用グループ

RECEIVE：受信用グループ

cc....cc

グループの状態

次に示すどちらかが表示されます。

NOT_CLOSED：有効

CLOSED：無効

dd....dd

グループの総数（10進数）

ee....ee

QoS（通信品質）の種別

次に示すどちらかが表示されます。

EXACTLY_ONCE：配送保証および重複防止

IN_ORDER：順序保証

ff....ff (FF....FF)

受信待ち（未受信）シーケンス番号（受信待ちメッセージ総数）（10進数）

受信済みシーケンス番号の最大値未満のシーケンス番号で最大10メッセージが表示されます。

gg....gg (GG....GG)

スキップ済みシーケンス番号（スキップ済みメッセージ総数）（10進数）

受信待ちスキップコマンドでスキップされたシーケンス番号で最大10メッセージが表示されます。

hh....hh

通信層グループ有効期限（文字列）

ii....ii (II....II)

転送中シーケンス番号（転送中メッセージ総数）（10進数）

最大10メッセージが表示されます。

jj....jj

通信層グループ内メッセージ通番（10進数）

kk....kk

通信層グループ内シーケンス番号（10進数）

ll....ll

メッセージ状態

次に示すどちらかが表示されます。

NON_DELIVERED：配信待ちまたは転送待ち

DELIVERING：転送中
再起動後の未送信メッセージも含みます。

mm....mm

JMSCorrelationID（文字列）

メッセージ登録時に設定されていない場合，空白が表示されます。

nn....nn

JMSXGroupID（文字列）

メッセージ登録時に設定されていない場合，空白が表示されます。

oo....oo

JMSXGroupSeq（10進数）

メッセージ登録時に設定されていない場合，空白が表示されます。

pp....pp

JMSMessageID（文字列）

メッセージ登録時に設定されていない場合，空白が表示されます。

qq....qq

通信層グループ内メッセージ有効期限（文字列）

8.3.16　hrmmkaddr（あて先登録）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmmkaddr -u あて先アドレス 〔-i ユーザID -p パスワード〕
       〔-S システム名〕 あて先名

(2)　機能

サーバ間転送に使用するあて先情報を，あて先情報テーブルに登録します。

(3)　オプション

-u あて先アドレス

　～＜1～512文字の文字列＞

メッセージを転送するあて先アドレスを指定します。

転送先システムのキュー間転送用WebアプリケーションのURLを指定してください。なお，指定する文字列は，RFC2396で規定された文字とします。

-i ユーザID

　～＜1～16文字の英数字＞

BASIC認証のためのユーザIDを指定します。

このオプションは-pオプションと同時に指定してください。このオプションを指定して-pオプションを指定していない場合は，エラーが発生します。

-p パスワード

　～＜1～16文字の英数字＞

BASIC認証のためのパスワードを指定します。

このオプションは-iオプションと同時に指定してください。このオプションを指定して-iオプションを指定していない場合は，エラーが発生します。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンド操作対象となるシステムのシステム名（プロパティのRMSystemName）を指定します。

指定を省略した場合は，環境変数に設定されたシステム名を指定したものとみなされます。

環境変数にもシステム名が設定されていない場合はエラーが発生します。

(4)　コマンド引数

あて先名

　～＜1～32文字の識別子＞

あて先情報に対応する論理名を指定します。

指定したあて先名がすでに実在する場合はエラーが発生します。

(5)　注意事項

転送キューはこのコマンドのあて先名に対応するあて先情報を基にメッセージを転送します。

-uオプションで，自システムのキュー間転送用WebアプリケーションのURLを指定しないでください。

8.3.17　hrmmkque（ローカルキューの作成）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmmkque -t local 〔-m {persistent｜non_persistent}〕
       〔-d {serial｜parallel}〕 〔-n 最大メッセージ数〕
       〔-c キャッシュメッセージ数〕 〔-e メッセージ有効期間〕
       〔-w {sender｜receiver}〕 〔-x 表示名〕
       〔-r RDエリア名〕 〔-S システム名〕 キュー名

(2)　機能

指定されたキュー属性で，ローカルキューを作成します。

非永続版リソースアダプタの場合，キューはキュー作成ファイルの定義によって作成されます。キュー作成ファイルの詳細については，「3.5.1　キュー作成ファイルの作成」を参照してください。

(3)　オプション

-t local

作成するキューの種類を指定します。ローカルキューが指定されます。

-m {persistent｜non_persistent}

　～《persistent》

作成するキューの永続性を指定します。

persistent：永続キュー属性

non_persistent：非永続キュー属性

各属性を指定したときのメッセージの処理については，「2.3.1　キューの永続性」を参照してください。

-d {serial｜parallel}

　～《parallel》

作成するキューのメッセージ取り出しモードを指定します。

serial：シリアル取り出し属性

parallel：パラレル取り出し属性

各属性を指定したときのメッセージの処理については，「2.3.2　メッセージ取り出しモード」を参照してください。

-n 最大メッセージ数

　～＜数字＞((1～65535))《1024》

キューに格納するメッセージの最大数を指定します。

-c キャッシュメッセージ数

　～＜数字＞((0～65535))《最大メッセージ数》

キャッシュに格納するメッセージの数を指定します。

指定を省略した場合，-nオプションに指定する最大メッセージ数が設定されます。0を指定する場合，キャッシュにメッセージは格納されません。

このオプションに大きな値を指定する場合，メモリを消費しますがメッセージ受信の性能が向上します。小さい値を指定する場合，メモリの消費は抑えられますが，DBアクセス回数が増えることによってメッセージ受信の性能が低下します。

-e メッセージ有効期間

　～＜数字＞((0～2592000))《0》（単位：秒）

キューに格納するメッセージの有効期間を指定します。

0を指定する場合，メッセージの有効期間は無限です。

有効期間を指定するときのメッセージの処理については，「2.3.5　メッセージの有効期間」を参照してください。有効期間に達すると，そのメッセージはデッドメッセージとして扱われます。

-w {sender｜receiver}

　～《sender》

転送キューからメッセージを受信する場合，メッセージの有効期間については，送信側の有効期間を使用するのか，または受信側で更新するのかを選択します。転送キューの詳細については，「8.3.20　hrmmkque（転送キューの作成）」を参照してください。

sender：送信側の有効期間

receiver：受信側の有効期間

receiverを指定した場合，-eオプションで指定した値がメッセージの有効期間となります。

-x 表示名

　～＜1～64文字の英数字および_（アンダースコア）＞

キューの表示名を指定します。表示名とは，アプリケーションがJNDIネーミングサービスからキューを取得するときの，キューの論理名のことです。

指定を省略した場合はコマンド引数で指定したキュー名と同じ名称を指定したものとみなされます。

指定した表示名と同じ名称を持つキューがすでに存在している場合，エラーとなります。詳細は「(5)　注意事項」を参照してください。

-r RDエリア名

　～＜1～30文字の識別子および空白＞

メッセージ情報テーブルを格納するRDエリアの名前を指定します。

このオプションを指定する場合，メッセージ情報テーブルを格納するRDエリアをあらかじめ用意してください。HiRDBのRDエリアの作成については，マニュアル「HiRDB コマンドリファレンス」を参照してください。

このオプションを省略する場合，格納するRDエリアをHiRDBが決定します。HiRDBが決定するRDエリアについては，マニュアル「HiRDB SQLリファレンス」を参照してください。

なお，-mオプションで"non_persistent"を指定した場合またはDBにOracleを使用している場合，このオプションの指定値は無効になります。

注意

RDエリア名に空白を含む場合は，次のように指定してください。
Windowsの場合
引用符（"）で囲んでください。
UNIXの場合
アポストロフィ（’）で囲み，さらにその外側を引用符（"）で囲んでください。

RDエリア名は大文字と小文字が区別されます。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

作成するキューの名前を指定します。

既存のキューの名前を指定した場合はエラーが発生します。

(5)　注意事項

コマンド引数に指定するキュー名は，英字の大文字と小文字が区別されません。英字の大文字と小文字の違いだけのキュー名がすでにある場合，エラーが発生します。
キュー定義ファイルを使用していない場合，-xオプションで指定したキューの表示名でJNDIネーミングサービスに登録されます。
キュー定義ファイルを使用している場合は，キュー定義ファイルの指定が優先され，-xオプションで指定した表示名でのJNDIネーミングサービスへの登録はされません。
キュー定義ファイルを使用してCosminexus RMを運用している場合，キュー定義ファイルを使用しないでCosminexus RMを再開始したときは，-xオプションで指定した表示名がJNDIネーミングサービスに登録されます。
キュー定義ファイルの使用有無の詳細については，「3.4.4　キュー定義ファイルの作成（永続版リソースアダプタの場合）」，または「3.5.2　キュー定義ファイルの作成（非永続版リソースアダプタの場合）」を参照してください。

-xオプションで表示名を指定しなくても，作成するキューのキュー名が，作成済みキューの表示名と重複した場合，キューの作成は失敗します。

8.3.18　hrmmkque（受信用共用キューの作成）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmmkque -t shr_receive 〔-l 最大メッセージ長〕
       〔-n 最大メッセージ数〕 〔-c キャッシュメッセージ数〕
       〔-r RDエリア名〕 〔-x 表示名〕
       〔-S システム名〕 キュー名

(2)　機能

指定されたキュー属性で，受信用共用キューを作成します。

(3)　オプション

-t shr_receive

作成するキューの種類を指定します。受信用共用キューが指定されます。

-l 最大メッセージ長

　～＜数字＞((1000～1048576))《33000》（単位：バイト）

キューに格納するメッセージの最大長（ペイロードの最大長）を指定します。

-n 最大メッセージ数

　～＜数字＞((1～65535))《1024》

キューに格納するメッセージの最大数を指定します。

-c キャッシュメッセージ数

　～＜数字＞((0～65535))《最大メッセージ数》

キャッシュに格納するメッセージの数を指定します。

指定を省略した場合，-nオプションに指定する最大メッセージ数が設定されます。0を指定する場合，キャッシュにメッセージは格納されません。

このオプションに大きな値を指定する場合，メモリを消費しますがメッセージ受信の性能が向上します。小さい値を指定する場合，メモリの消費は抑えられますが，DBアクセス回数が増えることによってメッセージ受信の性能が低下します。

-r RDエリア名

　～＜1～30文字の識別子および空白＞

次に示す管理情報テーブルを格納するRDエリアの名前を指定します。

共用キュー受信用メッセージ情報テーブル

共用キュー受信用ライト管理テーブル

共用キュー受信用リード管理テーブル

このオプションを指定する場合，これらの管理情報テーブルを格納するRDエリアをあらかじめ用意してください。また，これらの管理情報テーブルは，受信用共用キューごとに同じRDエリアに格納する必要があります。HiRDBのRDエリアの作成については，マニュアル「HiRDB コマンドリファレンス」を参照してください。

このオプションを省略する場合，格納するRDエリアをHiRDBが決定します。HiRDBが決定するRDエリアについては，マニュアル「HiRDB SQLリファレンス」を参照してください。

注意

RDエリア名に空白を含む場合は，次のように指定してください。
Windowsの場合
引用符（"）で囲んでください。
UNIXの場合
アポストロフィ（’）で囲み，さらにその外側を引用符（"）で囲んでください。

RDエリア名は大文字と小文字が区別されます。

-x 表示名

　～＜1～64文字の英数字および_（アンダースコア）＞

キューの表示名を指定します。表示名とは，アプリケーションがJNDIネーミングサービスからキューを取得するときの，キューの論理名のことです。

指定を省略した場合はコマンド引数で指定したキュー名と同じ名称を指定したものとみなされます。

指定した表示名と同じ名称を持つキューがすでに存在している場合，エラーとなります。詳細は「(5)　注意事項」を参照してください。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

作成するキューの名前を指定します。

既存のキューの名前を指定した場合はエラーが発生します。

TP1/EEとシステム間連携をする場合は1～19文字のキュー名を指定してください。キュー名が20文字の場合はTP1/EEとシステム間連携ができません。

(5)　注意事項

受信用共用キューは，接続先のデータベースの種別がHiRDBの場合だけ作成できます。接続先のデータベースの種別がOracleの場合に受信用共用キューを作成するとエラーが発生します。

コマンド引数に指定するキュー名は，英字の大文字と小文字が区別されません。英字の大文字と小文字の違いだけのキュー名がすでにある場合，エラーが発生します。

Cosminexus RMのバージョンによって使用できる共用キューのバージョンが決められています。したがって，共用キューを使用する場合は，送信側システムと受信側システムのCosminexus RMのバージョンを統一し，必要に応じて共用キューをバージョンアップする必要があります。
共用キューのバージョンアップの詳細については，「付録H.4　共用キューのバージョンアップ」を参照してください。

キュー定義ファイルを使用していない場合，-xオプションで指定したキューの表示名でJNDIネーミングサービスに登録されます。
キュー定義ファイルを使用している場合は，キュー定義ファイルの指定が優先され，-xオプションで指定した表示名でのJNDIネーミングサービスへの登録はされません。
キュー定義ファイルを使用してCosminexus RMを運用している場合，キュー定義ファイルを使用しないでCosminexus RMを再開始したときは，-xオプションで指定した表示名がJNDIネーミングサービスに登録されます。
キュー定義ファイルの使用有無の詳細については，「3.4.4　キュー定義ファイルの作成（永続版リソースアダプタの場合）」を参照してください。

-xオプションで表示名を指定しなくても，作成するキューのキュー名が，作成済みキューの表示名と重複した場合，キューの作成は失敗します。

8.3.19　hrmmkque（送信用共用キューの作成）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmmkque -t shr_send 〔-l 最大メッセージ長〕
        -b 共用キューを使用する場合の登録先キュー名
       〔-x 表示名〕 〔-S システム名〕 キュー名

(2)　機能

指定されたキュー属性で，送信用共用キューを作成します。

(3)　オプション

-t shr_send

作成するキューの種類を指定します。送信用共用キューが指定されます。

-l 最大メッセージ長

　～＜数字＞((0または1～1048576))《0》（単位：バイト）

キューに格納するメッセージの最大長（ペイロードの最大長）を指定します。

メッセージを送信する際のメッセージ長チェックの基準値となります。指定する値は，受信側システムの受信用共用キューに指定された最大メッセージ長と同じにしてください。

メッセージ長をチェックしない場合は，指定を省略するか0を指定してください。

-b 共用キューを使用する場合の登録先キュー名

　～＜文字列＞

共用キューを使用して複数システム間でのアプリケーション連携をする場合にメッセージを登録する，登録先キュー名を指定します。

自システムの送信用共用キューは定義だけのキューです。メッセージが格納されるメモリやディスク領域などの実体は，相手システムの受信用共用キューです。このオプションでは，自システムの送信したメッセージが登録される登録先キュー名を，相手システムの受信用共用キュー名を基に次に示す形式で指定します。

Cosminexus RM間で連携する場合

<システム名>_SHR_<受信用共用キュー名>

システム名は相手システムのRMSystemNameプロパティ指定値です。受信用共用キュー名は，相手システムで定義している受信用共用キュー名です。

他システム間で連携する場合

接続先のシステムで定義しているキュー名を指定してください。

-x 表示名

　～＜1～64文字の英数字および_（アンダースコア）＞

キューの表示名を指定します。表示名とは，アプリケーションがJNDIネーミングサービスからキューを取得するときの，キューの論理名のことです。

指定を省略した場合はコマンド引数で指定したキュー名と同じ名称を指定したものとみなされます。

指定した表示名と同じ名称を持つキューがすでに存在している場合，エラーとなります。詳細は「(5)　注意事項」を参照してください。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

作成するキューの名前を指定します。

既存のキューの名前を指定した場合はエラーが発生します。

(5)　注意事項

送信用共用キューは，接続先のデータベースの種別がHiRDBのときだけ作成できます。接続先のデータベースの種別がOracleのときに送信用共用キューを作成するとエラーが発生します。

-bオプションに対して，Cosminexus RM間の連携の場合に指定する受信用共用キュー名は，英字の大文字と小文字が区別されません。

コマンド引数に指定するキュー名は，英字の大文字と小文字が区別されません。英字の大文字と小文字の違いだけのキュー名がすでにある場合，エラーが発生します。

-bオプションで指定したキュー名に対応する受信用共用キューが接続先のデータベースに存在しない場合，エラーが発生します。

-bオプションで指定したキュー名に対応する受信用共用キューが連携できる共用キューのバージョンではない場合，エラーが発生します。

Cosminexus RMのバージョンによって使用できる共用キューのバージョンが決められています。したがって，共用キューを使用する場合は，送信側システムと受信側システムのCosminexus RMのバージョンを統一し，必要に応じて共用キューをバージョンアップする必要があります。
共用キューのバージョンアップの詳細については，「付録H.4　共用キューのバージョンアップ」を参照してください。

キュー定義ファイルを使用していない場合，-xオプションで指定したキューの表示名でJNDIネーミングサービスに登録されます。
キュー定義ファイルを使用している場合は，キュー定義ファイルの指定が優先され，-xオプションで指定した表示名でのJNDIネーミングサービスへの登録はされません。
キュー定義ファイルを使用してCosminexus RMを運用している場合，キュー定義ファイルを使用しないでCosminexus RMを再開始したときは，-xオプションで指定した表示名がJNDIネーミングサービスに登録されます。
キュー定義ファイルの使用有無の詳細については，「3.4.4　キュー定義ファイルの作成（永続版リソースアダプタの場合）」を参照してください。

-xオプションで表示名を指定しなくても，作成するキューのキュー名が，作成済みキューの表示名と重複した場合，キューの作成は失敗します。

8.3.20　hrmmkque（転送キューの作成）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmmkque -t transmit 〔-m {persistent｜non_persistent}〕
       〔-n 最大メッセージ数〕 〔-c キャッシュメッセージ数〕
       〔-e メッセージ有効期間〕  
        -a あて先名 {-v 転送先キュー名｜-y} 〔-i {normal | compatible}〕
       〔-j {exactly_once｜in_order}〕 〔-g 通信層のグループ有効期間〕
       〔-s 通信層のメッセージ有効期間〕 〔-x 表示名〕
       〔-r RDエリア名〕 〔-S システム名〕 キュー名

(2)　機能

指定されたキュー属性で，転送キューを作成します。

(3)　オプション

-t transmit

作成するキューの種類を指定します。転送キューが指定されます。

-m {persistent｜non_persistent}

　～《persistent》

作成するキューの永続性を指定します。

persistent：永続キュー属性

non_persistent：非永続キュー属性

各属性を指定したときのメッセージの処理については，「2.3.1　キューの永続性」を参照してください。

-jオプションにin_orderを指定した場合，このオプションの指定はpersistent（永続キュー）だけとなります。-jオプションにin_orderを指定して，同時にキューモードにnon_persistent（非永続キュー）を指定した場合はエラーが発生します。

-n 最大メッセージ数

　～＜数字＞((1～65535))《1024》

キューに格納するメッセージの最大数を指定します。

-c キャッシュメッセージ数

　～＜数字＞((0～65535))《1024》

キャッシュに格納するメッセージの数を指定します。

指定を省略した場合，-nオプションに指定した最大メッセージ数が設定されます。0を指定した場合，キャッシュにメッセージは格納されません。

このオプションに大きな値を指定する場合，メモリを消費しますがメッセージ転送の性能が向上します。小さい値を指定する場合，メモリの消費は抑えられますが，DBアクセス回数が増えることによってメッセージ転送の性能が低下します。

-e メッセージ有効期間

　～＜数字＞((1～2592000))《2592000》（単位：秒）

キューに格納するメッセージの有効期間を指定します。

有効期間を指定するときのメッセージの処理については，「2.3.5　メッセージの有効期間」を参照してください。

有効期間に達すると，そのメッセージはデッドメッセージとして扱われます。

-sオプションで指定した値以下の値を指定してください。-sオプションで指定した値より大きい値を指定するとエラーが発生します。

-a あて先名

　～＜1～32文字の文字列＞

メッセージを転送するあて先のあて先名を指定します。hrmmkaddrコマンドで，事前にあて先名を登録する必要があります。登録されていないあて先名を指定するとエラーが発生します。

-v 転送先キュー名

　～＜1～20文字の識別子＞

メッセージを転送する場合，転送したメッセージを登録するキューの名前を指定します。キュー間転送のあて先の詳細については，「2.4.2　キュー間転送のあて先指定」を参照してください。

-y

-vオプションを省略して，-aオプションで指定したあて先名に対応するあて先アドレスだけを送信アドレスとする場合に指定します。キュー間転送のあて先の詳細については，「2.4.2　キュー間転送のあて先指定」を参照してください。

-i {normal | compatible}

　～《normal》

作成するキューの転送モードを指定します。

normal：通常モード

compatible：互換モード

転送先のCosminexus RMのバージョンが01-03の場合はnormalを指定します。バージョンが01-02以前の場合はcompatibleを指定します。

normalを指定して作成した転送キューを使用して，01-02以前のCosminexus RMにメッセージを転送した場合，ペイロードが空のメッセージとして受信されることがありますので，注意してください。

-j {exactly_once｜in_order}

　～《exactly_once》

転送に使用するQoS（通信品質）の種別を指定します。

exactly_once：配送保証および重複防止

in_order：順序保証

-g 通信層のグループ有効期間

　～＜数字＞((10～2592000))（単位：秒）《2592000》

通信層のグループの有効期間を指定します。

このオプションの値は，通信層でメッセージを送受信するために使用するグループの有効期間を示します。このオプションで指定した有効期間に達すると，新たにグループが作成され，メッセージは新しいグループに格納されます。

-s 通信層のメッセージ有効期間

　～＜数字＞((10～2592000))（単位：秒）《-eオプションの値》

通信層のグループに格納するメッセージの有効期間を指定します。

このオプションの値は，メッセージがグループ内で管理される期間を示します。このオプションで指定した有効期間に達すると，そのメッセージはデッドメッセージとして扱われます。

-eオプションで指定した値以上の値を指定してください。-eオプションで指定した値未満の値を指定した場合，エラーが発生します。-eオプションで指定した値が1～9の場合，このオプションを省略すると値は10を指定したとみなされます。

-x 表示名

　～＜1～64文字の英数字および_（アンダースコア）＞

キューの表示名を指定します。表示名とは，アプリケーションがJNDIネーミングサービスからキューを取得するときの，キューの論理名のことです。

指定を省略した場合は，コマンド引数で指定したキュー名と同じ名称を指定したものとみなされます。

指定した表示名と同じ名称を持つキューがすでに存在している場合，エラーとなります。詳細は「(5)　注意事項」を参照してください。

-r RDエリア名

　～＜1～30文字の識別子および空白＞

メッセージ情報テーブルを格納するRDエリアの名前を指定します。メッセージ情報テーブルを格納するRDエリアをあらかじめ用意してください。HiRDBのRDエリアの作成については，マニュアル「HiRDB コマンドリファレンス」を参照してください。

-mオプションにnon_persistentを指定した場合，またはDBにOracleを使用している場合，このオプションの指定値は無効になります。

このオプションを省略した場合，格納するRDエリアをHiRDBが決定します。HiRDBが決定するRDエリアについては，マニュアル「HiRDB SQLリファレンス」を参照してください。

注意

RDエリア名に空白を含む場合は，次のように指定してください。
Windowsの場合
引用符（"）で囲んでください。
UNIXの場合
アポストロフィ（’）で囲み，さらにその外側を引用符（"）で囲んでください。

RDエリア名は大文字と小文字が区別されます。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

作成するキューの名前を指定します。

既存のキューの名前を指定した場合はエラーが発生します。

(5)　注意事項

コマンド引数に指定するキュー名は，英字の大文字と小文字が区別されません。英字の大文字と小文字の違いだけのキュー名がすでにある場合，エラーが発生します。

-gオプションおよび-sオプションを使うと，受信側のリソースの使用量に影響します。運用方法に合わせた値を指定してください。例えばWebサービスなど，不特定多数が通信をする運用の場合は，-gオプションおよび-sオプションの値を大きくすると，受信側にリソースを蓄積させてしまうので，小さい値を指定することをお勧めします。

キュー定義ファイルを使用していない場合，-xオプションで指定したキューの表示名でJNDIネーミングサービスに登録されます。
キュー定義ファイルを使用している場合は，キュー定義ファイルの指定が優先され，-xオプションで指定した表示名でのJNDIネーミングサービスへの登録はされません。
キュー定義ファイルを使用してCosminexus RMを運用している場合，キュー定義ファイルを使用しないでCosminexus RMを再開始したときは，-xオプションで指定した表示名がJNDIネーミングサービスに登録されます。
キュー定義ファイルの使用有無の詳細については，「3.4.4　キュー定義ファイルの作成（永続版リソースアダプタの場合）」を参照してください。

-xオプションで表示名を指定しなくても，作成するキューのキュー名が，作成済みキューの表示名と重複した場合，キューの作成は失敗します。

Cosminexus RMを01-03にバージョンアップした場合，Cosminexus RM 01-02以前で作成した転送キューは，転送モードがcompatible（互換モード）の転送キューとして扱われます。

8.3.21　hrmregdmsg（デッドメッセージの再登録）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　注意事項

(1)　形式

hrmregdmsg {-i デッドメッセージID｜-q 移動前キュー名} 〔-S システム名〕

(2)　機能

デッドメッセージを，デッドメッセージキューに移動される前のキューに，新しいメッセージとして再登録します。また，デッドメッセージキュー内の該当のデッドメッセージを削除します。

(3)　オプション

-i デッドメッセージID

　～＜1～39文字の識別子＞

再登録するデッドメッセージのデッドメッセージID（DMID）を指定します。

指定したDMIDのメッセージがデッドメッセージキュー内にない場合はエラーが発生します。

-q 移動前キュー名

　～＜1～20文字の識別子＞

デッドメッセージキューに移動する前にメッセージが存在したキュー名を指定します。

指定したキュー名から移動されたすべてのデッドメッセージが，再登録されます。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　注意事項

対象のデッドメッセージキューは，RMDeadMessageQueueNameプロパティで指定したキューです。

キュー間転送時の送信側デッドメッセージキューには，受信側システムに到達しているメッセージが存在する場合があります。このデッドメッセージを再登録すると，受信側で別のメッセージとして受信されます。そのため，受信側システムのメッセージ到達状態を確認してから再登録してください。詳細は，「4.2.4(2)　サーバ間転送での注意事項」を参照してください。

次に示すデッドメッセージは，再登録できません。また，-qオプションで移動前キュー名を指定した場合，次に示すメッセージは再登録しないで，そのほかのメッセージを再登録します。

配信中のメッセージ

配信済みのメッセージ

移動前キューの最大メッセージ長より大きいメッセージ

デッドメッセージキュー移動時と移動前キューの種類が変わっているメッセージ

Cosminexus RM 01-01以前にデッドメッセージキューに移動したメッセージ

移動前キューがメッセージの登録を抑止されている場合，デッドメッセージは再登録できません。メッセージの登録抑止については，「8.3.27　hrmstopque（キューの抑止）」を参照してください。

-qオプションで移動前キュー名を指定した場合で，再登録対象のメッセージが複数あるときは，1メッセージごとに再登録処理が繰り返されます。再登録処理の途中で次に示すような処理を続行できない障害が発生した場合，処理が中止され，以降のメッセージは再登録されません。

移動前のキューの最大メッセージ数を超えた場合

移動前のキューで，DB障害が発生した場合

デッドメッセージの再登録では，メッセージの再登録処理の順番は保証されません。

Cosminexus RMが管理状態の場合，共用キューにデッドメッセージを再登録したとき，共用キューの状態は更新されません（メッセージが登録された状態になりません）。共用キューの状態は次のタイミングで更新されます。

Cosminexus RMを実行状態にする

Cosminexus RMを再起動する

8.3.22　hrmskipmsg（受信待ちメッセージのスキップ）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmskipmsg -n 受信待ちグループ内シーケンス番号 -g グループID
         〔-S システム名〕 キュー名

(2)　機能

受信待ちになっているメッセージをスキップします。このコマンドはQoS（通信品質）が順序保証の転送メッセージを受信しているグループに対して，順序が前のメッセージが障害などで受信されないで，あとのメッセージがグループに滞留した場合に使用します。

(3)　オプション

-n 受信待ちグループ内シーケンス番号

　～＜数字＞((0～18446744073709551615))

スキップしたい受信待ちメッセージの，通信層グループ内シーケンス番号を指定します。

最小の受信待ちメッセージ番号だけ指定できます。それ以外の受信待ちメッセージ番号を指定した場合はエラーが発生します。

-g グループID

　～＜1～256文字の文字列＞

コマンド操作対象となる通信層のグループIDを指定します。QoSがin-orderの場合だけ指定できます。QoSがexactly-onceのグループIDを指定した場合はエラーが発生します。

グループが無効の場合は，メッセージのスキップはできません。グループが無効の場合にこのオプションを指定するとエラーが発生します。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

スキップしたいメッセージが送信側から転送される予定のキューの名前を指定します。

指定したキューが存在しない，またはローカルキュー以外のキューを指定した場合はエラーが発生します。

(5)　注意事項

受信済みであるメッセージはスキップできません。受信済みであるメッセージ通番を指定するとエラーが発生します。メッセージが受信か未受信かは，hrmlstrsコマンドで確認してください。

メッセージのスキップ後にそのメッセージが再送された場合は，エラーが発生します。メッセージは送信側のデッドメッセージキューに格納されます。

スキップしたメッセージ以降は再び順序保証が保たれます。

8.3.23　hrmstart（実行状態への移行）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　注意事項

(1)　形式

hrmstart 〔-S システム名〕

(2)　機能

Cosminexus RMを管理状態から実行状態に移行します。管理状態および実行状態については，「4.1.4　Cosminexus RMの状態遷移（永続版リソースアダプタの場合）」を参照してください。

(3)　オプション

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　注意事項

Cosminexus RMが実行状態のときにこのコマンドを実行するとエラーが発生します。

8.3.24　hrmstartque（キューの抑止解除）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(1)　形式

永続版リソースアダプタの場合

hrmstopque -y {ap_send｜ap_receive｜trs_send｜trs_receive｜ap_all｜all}
         〔-S　システム名〕 キュー名

非永続版リソースアダプタの場合

hrmstopque -y {ap_send｜ap_receive｜ap_all｜all}
         〔-S　システム名〕 キュー名

(2)　機能

キューのメッセージの送受信を抑止解除します。

非永続版リソースアダプタの場合，ローカルキューの抑止解除だけできます。

(3)　オプション

永続版リソースアダプタの場合

-y {ap_send｜ap_receive｜trs_send｜trs_receive｜ap_all｜all}

抑止解除の形態を指定します。

ap_send：メッセージの送信抑止の解除

ap_receive：メッセージの受信抑止の解除

trs_send：転送キューのキュー間転送メッセージの送信抑止の解除

trs_receive：ローカルキューの転送メッセージの受信抑止の解除

ap_all：メッセージの送受信抑止の解除

all：指定するキューの種類に応じて，抑止状態をすべて解除

非永続版リソースアダプタの場合

-y {ap_send｜ap_receive｜ap_all｜all}

抑止解除の形態を指定します。

ap_send：メッセージの送信抑止の解除

ap_receive：メッセージの受信抑止の解除

ap_all：メッセージの送受信抑止の解除

all：ap_allと同じ意味になります。

キューの種類によって，指定できる抑止解除の形態が異なります。キューと抑止解除の形態との対応を次の表に示します。

表8-3　キューと抑止解除できる形態

抑止解除の形態 | ローカルキュー | 転送キュー | 送信用共用キュー | 受信用共用キュー | デッドメッセージキュー
永続版 | 非永続版
ap_send | ○ | ○ | ○ | × | ○ | ×
ap_receive | ○ | ○ | × | × | ○ | ○
trs_send | × | × | ○ | × | × | ×
trs_receive | ○ | × | × | × | × | ×
ap_all | ○ | ○ | × | × | ○ | ×
all | ○ | ○※ | ○ | × | ○ | ○

（凡例）

○：指定できます。

×：指定できません。指定した場合，エラーが発生します。

注※

非永続版リソースアダプタでall指定すると，ap_allを指定したときと同じになります。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

抑止状態を解除するキューの名前を指定します。

永続版リソースアダプタの場合
指定したキューが存在しない，または送信用共用キューを指定した場合はエラーが発生します。

非永続版リソースアダプタの場合
指定したキューが存在しない場合はエラーが発生します。

8.3.25　hrmstarttrs（送受信抑止解除）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmstarttrs -y {send｜receive} 〔-S システム名〕 キュー名

(2)　機能

転送メッセージの送受信抑止状態を元の状態に戻します。

(3)　オプション

-y {send｜receive}

抑止を解除する形式を指定します。

send：送信抑止解除

receive：受信抑止解除

ローカルキューの場合，receiveを指定してください。転送キューの場合，sendを指定してください。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

送受信抑止を解除するキューの名前を指定します。

指定したキューが存在しない，またはローカルキュー，転送キュー以外のキューを指定した場合はエラーが発生します。

(5)　注意事項

Cosminexus RM 01-01以降での，このコマンドの使用は推奨しません。キュー間転送の抑止を解除する場合は，hrmstartqueコマンドの-yオプションにtrs_sendまたはtrs_receiveを指定してください。hrmstartqueコマンドについては，「8.3.24　hrmstartque（キューの抑止解除）」を参照してください。

8.3.26　hrmstop（管理状態への移行）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　注意事項

(1)　形式

hrmstop 〔-S システム名〕

(2)　機能

Cosminexus RMを実行状態から管理状態に移行します。

実行状態および管理状態については，「4.1.4　Cosminexus RMの状態遷移（永続版リソースアダプタの場合）」を参照してください。

(3)　オプション

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　注意事項

Cosminexus RMが管理状態のときにこのコマンドを実行するとエラーが発生します。

アプリケーションの稼働中に管理状態に移行すると，アプリケーションでエラーが発生するおそれがあります。

8.3.27　hrmstopque（キューの抑止）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

永続版リソースアダプタの場合

hrmstopque -y {ap_send｜ap_receive｜trs_send｜trs_receive｜ap_all｜all}
         〔-S　システム名〕 キュー名

非永続版リソースアダプタの場合

hrmstopque -y {ap_send｜ap_receive｜ap_all｜all}
         〔-S　システム名〕 キュー名

(2)　機能

キューのメッセージの送受信を抑止します。

非永続版リソースアダプタの場合，ローカルキューの抑止だけができます。

(3)　オプション

永続版リソースアダプタの場合

-y {ap_send｜ap_receive｜trs_send｜trs_receive｜ap_all｜all}

抑止形態を指定します。

ap_send：メッセージの送信抑止

ap_receive：メッセージの受信抑止

trs_send：キュー間転送メッセージの送信抑止

trs_receive：キュー間転送メッセージの受信抑止

ap_all：メッセージの送受信抑止

all：指定するキューの種類に応じて，抑止できる形態をすべて抑止

非永続版リソースアダプタの場合

-y {ap_send｜ap_receive｜ap_all｜all}

抑止形態を指定します。

ap_send：メッセージの送信抑止の解除

ap_receive：メッセージの受信抑止の解除

ap_all：メッセージの送受信抑止の解除

all：ap_allと同じ意味になります

キューの種類によって，指定できる抑止形態が異なります。キューと抑止形態との対応を次の表に示します。

表8-4　キューと抑止できる形態

抑止形態 | ローカルキュー | 転送キュー | 送信用共用キュー | 受信用共用キュー※1 | デッドメッセージキュー
永続版 | 非永続版
ap_send | ○ | ○ | ○ | × | ○ | ×
ap_receive | ○ | ○ | × | × | ○ | ○
trs_send | × | × | ○ | × | × | ×
trs_receive | ○ | × | × | × | × | ×
ap_all | ○ | ○ | × | × | ○ | ×
all | ○ | ○※2 | ○ | × | ○ | ○

（凡例）

○：指定できます。

×：指定できません。指定した場合，エラーが発生します。

注※1

受信用共用キューへの送信抑止は，すべてのシステムからのメッセージの送信を抑止します。

注※2

非永続版リソースアダプタでall指定すると，ap_allを指定したときと同じになります。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

メッセージを抑止するキューの名前を指定します。

永続版リソースアダプタの場合
指定したキューが存在しない，または送信用共用キューを指定した場合はエラーが発生します。

非永続版リソースアダプタの場合
指定したキューが存在しない場合はエラーが発生します。

(5)　注意事項

Cosminexus RMの実行状態でこのコマンドを実行した場合，該当のキューに対してのメッセージ送信または受信のトランザクションがすでに存在していたとき，そのトランザクションは有効となります。

永続版リソースアダプタの場合
デッドメッセージキューへのメッセージの移動は抑止されません。

非永続版リソースアダプタの場合
Cosminexus RMを再起動したときは，抑止状態は引き継がれません。再起動後は抑止が解除されます。

8.3.28　hrmstoptrs（送受信抑止）

＜この項の構成＞

(1)　形式

(2)　機能

(3)　オプション

(4)　コマンド引数

(5)　注意事項

(1)　形式

hrmstoptrs -y {send｜receive} 〔-S システム名〕 キュー名

(2)　機能

転送メッセージの受信や転送メッセージの送信を抑止します。

(3)　オプション

-y {send｜receive}

抑止する形式を指定します。

send：送信抑止

receive：受信抑止

ローカルキューの場合，receiveだけ指定できます。転送キューの場合，sendだけ指定できます。

-S システム名

　～＜先頭が英字の1～3文字の大文字英字または数字＞

コマンドの操作対象となるシステム名（RMSystemNameプロパティ指定値）を指定します。

指定を省略した場合は，HRM_SYSTEM_NAME環境変数に指定したシステム名が設定されます。HRM_SYSTEM_NAME環境変数にもシステム名が指定されていないときはエラーが発生します。

(4)　コマンド引数

キュー名

　～＜1～20文字の識別子＞

送受信を抑止するキューの名前を指定します。

指定したキューが存在しない，またはローカルキュー，転送キュー以外のキューを指定した場合はエラーが発生します。

(5)　注意事項

Cosminexus RM 01-01以降での，このコマンドの使用は推奨しません。キュー間転送の抑止をする場合は，hrmstopqueコマンドの-yオプションにtrs_sendまたはtrs_receiveを指定してください。hrmstopqueコマンドについては，「8.3.27　hrmstopque（キューの抑止）」を参照してください。

9.　障害対策

Cosminexus RMは障害対策のためにメッセージログとトレースを出力します。

この章では，メッセージログとトレースの種類，場所，形式およびメッセージ内容について説明します。

＜この章の構成＞

9.1　障害時の出力情報

9.2　キューの障害

9.3　メッセージの形式

9.4　メッセージの詳細

9.1　障害時の出力情報

Cosminexus RMの運用時に障害が発生した場合は，メッセージログとトレースを参照して原因を調査し，対策してください。

Cosminexus RMのメッセージログとトレースについて，次の表に示します。

表9-1　Cosminexus RMのメッセージログとトレース

項番
種類
名称
説明
使用可否

永続版リソースアダプタ
非永続版リソースアダプタ

1
メッセージログ
開始停止メッセージログ
Cosminexus RMの開始と停止についての情報とユーザが指定したプロパティの値が出力されます。
詳細については，「9.1.1　開始停止メッセージログ」を参照してください。
○
○

2
Cosminexus用メッセージログ
Cosminexus RMの開始と停止についての情報と動作中の情報が出力されます。
詳細については，「9.1.2　Cosminexus用メッセージログ」を参照してください。
○
○

3
トレース
メソッドトレース
メソッドの入口情報，出口情報，デバッグ情報およびエラー情報が出力されます。
詳細については，「9.1.3　メソッドトレース」を参照してください。
○
○

4
共用キューイベントトレース
共用キューにメッセージが格納されたことを表すイベントの情報が出力されます。
詳細については，「9.1.4　共用キューイベントトレース」を参照してください。
○
×

5
回線トレース
キュー間転送でやり取りされる電文の情報を出力します。
詳細については，「9.1.5　回線トレース」を参照してください。
○
×

6
PRFトレース
Cosminexus RMの性能問題の特定と早期解決を目的とした性能解析トレース情報が出力されます。
詳細については，「9.1.6　PRFトレース」を参照してください。
○
○

（凡例）

○：使用できます。

×：使用できません。

Cosminexus RMの起動時に各メッセージログおよびトレースを新規作成できない場合または開くことができない場合は，Cosminexus RMの起動を中止します。

永続版リソースアダプタでは，Cosminexus RMの管理情報テーブルを格納するDBで障害が発生した場合は，Cosminexus RMを停止し，DBMSの機能によって原因を調査し対策してください。対象となるテーブルについては，「4.3.6　管理情報テーブルの一覧」を参照してください。DBの回復方法については，HiRDBまたはOracleのマニュアルを参照してください。DBの回復後，Cosminexus RMを再度開始します。

＜この節の構成＞

9.1.1　開始停止メッセージログ

9.1.2　Cosminexus用メッセージログ

9.1.3　メソッドトレース

9.1.4　共用キューイベントトレース

9.1.5　回線トレース

9.1.6　PRFトレース

9.1.1　開始停止メッセージログ

開始停止メッセージログには，Cosminexus RMの開始と停止についての情報，およびユーザが指定したプロパティの値が出力されます。

出力先ディレクトリ

<Cosminexusのインストールディレクトリ>/CC/server/public/ejb/<サーバ名称>/logs/connectors

出力ファイル名

<Cosminexus RMの表示名><面番号>.log

Cosminexus RMの表示名については，永続版リソースアダプタの場合は「3.4.4(1)　キュー定義ファイルの記述形式」を，非永続版リソースアダプタの場合は「3.5.2(1)　キュー定義ファイルの記述形式」を参照してください。初期値は"Cosminexus_Reliable_Messaging"です。
面番号およびファイルサイズは，Cosminexusの設定に従います。詳細については，マニュアル「Cosminexus システム運用ガイド」を参照してください。

出力形式
開始停止メッセージログの出力形式について，次の図に示します。

図9-1　開始停止メッセージログの出力形式

開始停止メッセージログの出力項目について，次の表に示します。

表9-2　開始停止メッセージログの出力項目

項番
出力項目
長さ
（バイト）
説明

1
番号
4
開始停止メッセージログの出力通番です。

2
日付
10
yyyy/mm/dd形式の出力日付です。

3
時刻
12
hh:mm:ss.sss形式の出力時刻です。
ローカル時刻でミリ秒単位の時刻です。

4
製品ID
16
製品を識別するための識別子です。Cosminexus Component Containerを表す"HEJB"が出力されます。

5
pid
8
プロセスIDです。

6
tid
8
スレッドIDです。

7
ID
11
空白が出力されます。

8
メッセージID
11
KFRMnnnnn-Y形式のメッセージIDです。

9
メッセージテキスト
0～512※
（可変長）
メッセージテキストです。

10
CRLF
2
終端記号です。

注※

長さの上限は目安となる値です。上限値を超えて出力されることがあります。ただし，メッセージログ1行の長さは4185バイトが上限であり，これを超える情報は切り捨てられます。

注意事項
開始停止メッセージログを出力するには，リソースアダプタの稼働ログが出力されるようにCosminexusを設定する必要があります。詳細については，マニュアル「Cosminexus システム運用ガイド」を参照してください。

9.1.2　Cosminexus用メッセージログ

Cosminexus用メッセージログには，Cosminexus RMの開始と停止についての情報，および動作中の情報が出力されます。

出力先ディレクトリ

<Cosminexusのインストールディレクトリ>/CC/server/public/ejb/<サーバ名称>/logs

出力ファイル名
Cosminexus用メッセージログは，Cosminexusの稼働ログです。出力ファイル名については，マニュアル「Cosminexus システム運用ガイド」を参照してください。

出力形式
Cosminexus用メッセージログの出力形式について，次の図に示します。

図9-2　Cosminexus用メッセージログの出力形式

Cosminexus用メッセージログの出力項目について，次の表に示します。

表9-3　Cosminexus用メッセージログの出力項目

項番
出力項目
長さ
（バイト）
説明

1
番号
4
Cosminexus用メッセージログの出力通番です。

2
日付
10
yyyy/mm/dd形式の出力日付です。

3
時刻
12
hh:mm:ss.sss形式の出力時刻です。
ローカル時刻でミリ秒単位の時刻です。

4
製品ID
16
製品を識別するための識別子です。Cosminexus Component Containerを表す"HEJB"が出力されます。

5
pid
8
プロセスIDです。

6
tid
8
スレッドIDです。

7
メッセージID
11
KFRMnnnnn-Y形式のメッセージIDです。

8
システム名
3
Cosminexus RMのシステム名です。

9
メッセージテキスト
0～512※
（可変長）
メッセージテキストです。

10
CRLF
2
終端記号です。

注※

長さの上限は目安となる値です。上限値を超えて出力されることがあります。ただし，メッセージログ1行の長さは4185バイトが上限であり，これを超える情報は切り捨てられます。

注意事項
出力レベルを指定することで，Cosminexusのメッセージログファイルに出力するメッセージログの出力量を制御できます。出力レベルは，Cosminexusのログレベルの設定に従います。Cosminexusのログレベルの設定については，マニュアル「Cosminexus システム構築ガイド」を参照してください。
なお，次に示すメッセージは出力レベルに関係なく稼働ログに出力されます。

KFRM01009-I

KFRM01807-W

KFRM13006-W※

KFRM13007-W

KFRM13011-W

KFRM13024-W

KFRM13025-I

KFRM13026-I

KFRM13027-I

KFRM13028-W

KFRM13029-I

KFRM16010-I

KFRM16010-I

KFRM17007-W

KFRM17008-W

KFRM17009-W

KFRM17010-W

KFRM17011-W

KFRM17012-W

KFRM17014-W

KFRM20094-W

KFRM20121-W

KFRM20122-W

KFRM20123-W

KFRM40004-W※

KFRM40012-I
注※
　デッドメッセージキュー利用時だけ出力レベルに関係なく出力されます。

9.1.3　メソッドトレース

メソッドトレースには，メソッドの入口情報，出口情報，デバッグ情報およびエラー情報が出力されます。

出力先ディレクトリ

<Cosminexusのインストールディレクトリ>/CC/server/public/ejb/<サーバ名称>/logs/RM/maintenance

出力ファイル名

mtd_<Cosminexus RMの表示名>_<面番号>.log

Cosminexus RMの表示名については，永続版リソースアダプタの場合は「3.4.4(1)　キュー定義ファイルの記述形式」を，非永続版リソースアダプタの場合は「3.5.2(1)　キュー定義ファイルの記述形式」を参照してください。
面番号はRMLogTraceFileNumプロパティ指定値が最大数です。また，ファイルサイズはRMLogTraceFileSizeプロパティ指定値が最大長（単位：バイト）です。

出力形式
メソッドトレースの出力形式について，次の図に示します。

図9-3　メソッドトレースの出力形式

メソッドトレースの出力項目について，次の表に示します。

表9-4　メソッドトレースの出力項目

項番
出力項目
長さ
（バイト）
説明

1
番号
4
メソッドトレースの出力通番です。

2
日付
10
yyyy/mm/dd形式の出力日付です。

3
時刻
12
hh:mm:ss.sss形式の出力時刻です。
ローカル時刻でミリ秒単位の時刻です。

4
製品ID
16
製品を識別するための識別子です。
Cosminexus RMを表す"RM"が出力されます。

5
pid
8
プロセスIDです。

6
tid
8
スレッドIDです。

7
ID
11
空白が出力されます。

8
ハッシュコード
1～11
トレースを出力するオブジェクトのハッシュコード（16進数）です。

9
コンポーネントID
3
トレースを出力するコンポーネントを識別するための識別子です。

10
クラス名
1～25※1
（可変長）
トレースを出力するクラスの名前です。

11
メソッド名
1～25※1
（可変長）
トレースを出力するメソッドの名前です。

12
目的識別子
3
トレースの出力目的を表す識別子※2です。

13
トレース
0～512※1
（可変長）
次に示す情報が出力されます。

メソッド入口または出口情報
メソッドの引数または戻り値の値です。

他製品呼び出し情報
Cosminexusまたは他製品のクラス名，メソッド名および引数です。

エラー情報
障害要因となったエラー情報です。
なお，他製品から例外が発生した場合は，スタックトレース※3が出力されます。

デバッグ情報
デバッグ情報です。メソッド内の処理分岐では，分岐の要因となった情報が出力されます。

RMMethodTraceLevelプロパティに指定する出力レベル※4によって出力情報は異なります。

14
CRLF
2
終端記号です。

注※1

長さの上限は目安となる値です。上限値を超えて出力されることがあります。ただし，メソッドトレース1行の長さは4185バイトが上限であり，これを超える情報は切り捨てられます。

注※2

目的識別子の一覧について，次の表に示します。

表9-5　目的識別子の一覧

項番 | 目的識別子 | 意味
1 | STA（start） | メソッドの開始
2 | END（end） | メソッドの終了
3 | CAL（call） | メソッドの呼び出し
4 | RET（return） | メソッドの戻り
5 | ERR（error） | メソッドの例外
6 | DBG（debug） | メソッドのデバッグ情報（分岐など）
7 | INF（information） | メソッドの処理情報（注意，警告など）
8 | OPR（operation） | メソッドの処理情報（処理実行情報）

注※3

他製品から例外が発生した場合は，スタックトレースが出力されます。その際，ハッシュコードからトレースまでの出力項目が出力されず，スタックトレースが出力されます。スタックトレースは可変長（0～512）のデータです。

スタックトレースの出力例について，次の図に示します。

図9-4　スタックトレースの出力例

注※4

RMMethodTraceLevelプロパティに指定する出力レベルによって，トレースに出力される情報は異なります。出力情報と出力レベルについて，次の表に示します。

表9-6　メソッドトレースの出力情報と出力レベル

項番
出力情報
レベル1
レベル2
レベル3
レベル4
レベル5

1
エラー情報
（例外発生原因）
○
○
○
○
○

2
Cosminexus RM内部スレッドの処理の入口／出口情報
（クラス名，メソッド名，引数，戻り値）
○
○
○
○
○

3
Cosminexus RMのユーザインタフェースのメソッド入口／出口情報
（クラス名，メソッド名，引数，戻り値）
×
○
○
○
○

4
他製品のインタフェースの入口／出口情報
（クラス名，メソッド名，引数，戻り値）
×
×
○
○
○

5
Cosminexus RM内部インタフェース間の入口／出口情報
（クラス名，メソッド名，引数，戻り値）
×
×
×
○
○

6
Cosminexus RMのデバッグ情報
（処理の分岐などの情報）
×
×
×
×
○

7
Cosminexus RMの処理情報（注意，警告などを示す情報）
×
×
○
○
○

8
Cosminexus RMの処理情報（処理の実行を示す情報）
○
○
○
○
○

（凡例）

○：出力されます。

×：出力されません。

9.1.4　共用キューイベントトレース

共用キューイベントトレースには，イベントの送受信情報が出力されます。

出力先ディレクトリ

<Cosminexusのインストールディレクトリ>/CC/server/public/ejb/<サーバ名称>/logs/RM/maintenance

出力ファイル名

shq_<Cosminexus RMの表示名>_<面番号>.log

Cosminexus RMの表示名については，永続版リソースアダプタの場合は「3.4.4(1)　キュー定義ファイルの記述形式」を，非永続版リソースアダプタの場合は「3.5.2(1)　キュー定義ファイルの記述形式」を参照してください。
面番号はRMLogTraceFileNumプロパティ指定値が最大数です。また，ファイルサイズはRMLogTraceFileSizeプロパティ指定値が最大長（単位：バイト）です。

出力形式
共用キューイベントトレースの出力形式について，次の図に示します。

図9-5　共用キューイベントトレースの出力形式

共用キューイベントトレースの出力項目について，次の表に示します。

表9-7　共用キューイベントトレースの出力項目

項番
出力項目
長さ
（バイト）
説明

1
番号
4
共用キューイベントトレースの出力通番です。

2
日付
10
yyyy/mm/dd形式の出力日付です。

3
時刻
12
hh:mm:ss.sss形式の出力時刻です。
ローカル時刻でミリ秒単位の時刻です。

4
製品ID
16
製品を識別するための識別子です。
Cosminexus RMを表す"RM"が出力されます。

5
pid
8
プロセスIDです。

6
tid
8
スレッドIDです。

7
ID
11
空白が出力されます。

8
電文種別
1～8
受信した電文を特定するための電文種別です。

9
送受信識別子
3
イベントを送信したのか受信したのかを表す識別子です。
送信の場合：SND
受信の場合：RCV

10
あて先情報
1～64
（可変長）
イベントを送信したマシンのホスト名またはIPアドレスです。

11
ポート番号
1～11
（可変長）
イベントを送信したポート番号です。

12
バージョン
1～8
（可変長）
イベント転送プロトコルのバージョンです。

13
トータルサイズ
1～11
（可変長）
イベントのヘッダとデータの合計サイズ（10進数，単位：バイト）です。

14
基盤種別
1～8
（可変長）
イベントの送信元を特定するための基盤種別です。Cosminexus RMが送信元の場合は"CosmiRM"が出力されます。

15
システム識別
1～16
（可変長）
イベントの送信元を特定するためのシステム種別です。Cosminexus RMが送信元の場合はRMSystemNameプロパティ指定値が出力されます。

16
キュー名
1～32
（可変長）
メッセージが格納されたキューの名前です。

17
ライト通番
1～11
（可変長）
共用キューのメッセージ情報テーブルに書き込んだ際に何番目まで書き込んだかを表す通番です。

18
ラップカウンタ
1～11
（可変長）
共用キューのメッセージ情報テーブルに書き込んだメッセージが書き込み限界数に達したため，1番目から上書きで書き込みした回数です。

19
CRLF
2
終端記号です。

矛盾不正イベントトレース出力時は，上記の表の項番12～18は出力しないで，イベントデータを16進数と文字列として最大128バイト出力します。

不正イベントトレースの出力形式について次の図に示します。

図9-6　不正イベントトレース出力時の共用キューイベントトレースの出力形式

9.1.5　回線トレース

キュー間転送でやり取りされる電文の情報を回線トレースファイルに出力します。

出力先ディレクトリ

<Cosminexusのインストールディレクトリ>/CC/server/public/ejb/<サーバ名称>/logs/RM/maintenance

出力ファイル名

lin_<Cosminexus RMの表示名>_<面番号>.log

Cosminexus RMの表示名については，永続版リソースアダプタの場合は「3.4.4(1)　キュー定義ファイルの記述形式」を，非永続版リソースアダプタの場合は「3.5.2(1)　キュー定義ファイルの記述形式」を参照してください。
面番号はRMLogTraceFileNumプロパティ指定値が最大数です。また，ファイルサイズはRMLogTraceFileSizeプロパティ指定値が最大長（単位：バイト）です。

出力形式
回線トレースの出力形式について，次の図に示します。

図9-7　回線トレースの出力形式

回線トレースの出力項目について，次の表に示します。

表9-8　回線トレースの出力項目

項番
出力項目
長さ
（バイト）
説明

1
番号
4
トレースレコードの通番です。

2
日付
10
トレースの取得日付です。
形式はyyyy/mm/ddです。

3
時刻
12
トレースの取得時刻です。
形式はhh:mm:ss.sssです。
ローカル時刻でミリ秒単位の時刻です。

4
製品ID
16
製品を識別するための識別子です。
Cosminexus RMを表す"RM"が出力されます。

5
pid
8
プロセスIDです。

6
tid
8
スレッドIDです。

7
ID
11
空白が出力されます。

8
送受信識別子
7
出力する電文の種別と送受信タイミングを判別する識別子です。識別子の種類は次のとおりです。

リクエストメッセージの送信：SND_REQ

リクエストメッセージの受信：RCV_REQ

レスポンスメッセージの送信：SND_RES

レスポンスメッセージの受信：RCV_RES

9
送信先/送信元アドレス
0～533
送信時は出力する電文の送信先アドレス，受信時は，電文を送信した送信元アドレスを示します。

10
電文情報
0～512※1
RMLineTraceLevelプロパティに指定する出力レベル※2によって出力情報は異なります。
次に示す情報が出力されます。

プロトコル固有ヘッダ情報
SOAPヘッダに含まれるプロトコル固有のヘッダ情報です。

SOAPヘッダ

SOAPエンベロープ
SOAPエンベロープ（SOAPヘッダ＋SOAPボディ）情報です。

SOAPエンベロープ + SOAPアタッチメント情報

11
CRLF
2
終端記号です。

注※1

長さの上限は目安となる値です。上限値を超えて出力されることがあります。SOAPヘッダを出力する場合は，電文情報を1000文字まで出力します。SOAPヘッダ以外を出力する場合は，トレース1行で出力できる範囲まで電文情報を出力します。出力できる範囲を超えた情報は切り捨てます。

注※2

出力情報と出力レベルについて，次の表に示します。

表9-9　回線トレースの出力情報と出力レベル

項番
出力情報
レベル1
レベル2
レベル3
レベル4
レベル5

1
SOAPヘッダ
×
×
○
×
×

2
SOAPエンベロープ
（SOAPヘッダ+SOAPボディ）
×
×
×
○
×

3
SOAPエンベロープ+SOAPアタッチメント情報
×
×
×
×
○

（凡例）

○：出力されます。

×：出力されません。

電文情報の出力範囲と出力レベルについて，次の図に示します。

図9-8　電文情報の出力範囲と出力レベル

9.1.6　PRFトレース

PRFトレースとは，クライアントからのリクエストがEISに至るまで，およびその処理結果がクライアントに返されるまでの，リクエストの一連の処理で出力される性能解析トレース情報です。Cosminexus RMでは，アプリケーションからのメッセージ送受信処理やCosminexus Component Container（TM）からのトランザクション制御などでPRFトレースを取得します。これによって，Cosminexus RMでの性能問題を特定でき，早期に問題を解決できます。

PRFトレースの運用方法および機能の詳細については，「4.4　PRFトレースファイルの運用（永続版リソースアダプタの場合）」，「5.3　PRFトレースファイルの運用（非永続版リソースアダプタの場合）」，およびマニュアル「Cosminexus 機能解説」を参照してください。

また，出力先ディレクトリおよび出力ファイル名については，マニュアル「Cosminexus システム運用ガイド」の性能解析トレースファイルの出力先と出力情報に関する内容を参照してください。

＜この項の構成＞

(1)　トレース取得ポイント

(2)　PRFトレースの取得情報

(1)　トレース取得ポイント

Cosminexus RMでは，次に示す処理の入口と出口でPRFトレースを取得します。なお，トレース取得ポイントの詳細については，マニュアル「Cosminexus システム運用ガイド」を参照してください。

アプリケーションからのコネクションの取得と解放処理

J2EEサーバ（Cosminexus Component Container）からのコネクションのアソシエート処理

アプリケーションからのメッセージ送受信処理

J2EEサーバ（Cosminexus Component Container）からのトランザクション制御

JMSアプリケーションからのJMSセッションの決着処理

J2EEサーバ（Cosminexus Component Container）と連携したMessage-driven Beanメッセージ配信処理

各処理でのPRFトレースの出力ポイントと位置情報を表すイベントID，およびトレースの取得レベルについては，「付録D　PRFトレース取得時のイベントID」を参照してください。

(2)　PRFトレースの取得情報

Cosminexus RMではPRFトレースから戻り値やキュー名称などが取得できます。PRFトレース情報のヘッダが，Rc，INT，OPR，およびOPTの項目がCosminexus RMで取得できる情報です。また，取得できる情報はPRFトレースの出力ポイントと位置情報を表すイベントIDによって異なります。PRFトレースの出力ポイントと位置情報を表すイベントIDについては，「付録D　PRFトレース取得時のイベントID」を参照してください。

Cosminexus RMでPRFトレースから取得できる情報について，次に説明します。

(a)　永続版リソースアダプタの場合

永続版リソースアダプタの場合のCosminexus RMでPRFトレースから取得できる情報を次の表に示します。

Cosminexus RMで取得できる情報以外のPRFトレースの情報については，マニュアル「Cosminexus システム運用ガイド」の性能解析トレースファイルの説明を参照してください。

表9-10　PRFトレースの取得情報（永続版リソースアダプタの場合）

イベントID
取得情報

Rc
INT
OPR
OPT

0x9360
入口トレースの場合，常に「0」が出力されます。
出口トレースおよび呼び出し後トレースの場合，次のように出力されます。

正常終了：0

異常終了：0以外

トランザクション制御では，XAのエラーコードが出力されます。そのほかのエラー出口では，1が出力されます。
transacted引数に指定した値
次のどちらかが出力されます。

true

false

acknowledgeMode引数に指定した値
次のどれかが出力されます。※1

AUTO_ACKNOWLEDGE

DUPS_OK_ACKNOWLEDGE

CLIENT_ACKNOWLEDGE

－

0x9361
－
－
－

0x9362
－
－
－

0x9363
－
－
－

0x9364
－
－
－

0x9365
－
－
－

0x9366
－
－
－

0x9367
－
－
－

0x9368
キュー名称
－
－

0x9369
－
－
－

0x936A
キュー名称
メッセージ送信の優先度
－

0x936B
－
－
－

0x936C
キュー名称
－
－

0x936D
－
－
－

0x936E
キュー名称
メッセージ送信の優先度
－

0x936F
－
－
－

0x9370
キュー名称
メッセージセレクタ※2
－

0x9371
メッセージ取得の可否
次のどちらかが出力されます。

取得成功：true

取得失敗：false

－
メッセージ送信元のルートアプリケーション情報※3

0x9372
キュー名称
タイムアウト値（ミリ秒）
－

0x9373
メッセージ取得の可否
次のどちらかが出力されます。

取得成功：true

取得失敗：false

メッセージセレクタ※2
メッセージ送信元のルートアプリケーション情報※3

0x9374
キュー名称
メッセージセレクタ※2
－

0x9375
メッセージ取得の可否
次のどちらかが出力されます。

取得成功：true

取得失敗：false

－
メッセージ送信元のルートアプリケーション情報※3

0x9376
キュー名称
メッセージセレクタ※2
－

0x9377
－
－
メッセージ送信元のルートアプリケーション情報※3

0x9378
flags引数の値
次のどれかが出力されます。

TMNOFLAGS

TMJOIN

TMRESUME

－
－

0x9379
－
－
－

0x937A
flags引数の値
次のどれかが出力されます。

TMSUCCESS

TMFAIL

TMSUSPEND

－
－

0x937B
－
－
－

0x937C
－
－
－

0x937D
－
－
－

0x937E
1フェーズコミットの有無
次のどちらかが出力されます。

true

false

－
－

0x937F
－
－
－

0x9380
－
－
－

0x9381
－
－
－

0x9382
－
－
－

0x9383
－
－
－

0x9384
flags引数の値
次のどれかが出力されます。

TMSTARTRSCAN

TMENDRSCAN

TMNOFLAGS

－
－

0x9385
－
－
－

0x9386
－
－
－

0x9387
－
－
－

0x9388
－
－
－

0x9389
－
－
－

0x938A
－
－
－

0x938B
－
－
－

0x938C
－
－
－

0x938D
－
－
－

0x938E
－
－
－

0x938F
－
－
－

0x9390
－
－
－

0x9391
－
－
－

0x9392
－
－
－

0x9393
－
－
－

0x9394
－
－
－

0x9395
キュー名称
－
－

0x9396※4
－
－
メッセージ送信元のルートアプリケーション情報※3

0x9397
－
－
－

（凡例）

－：出力されません。

注※1

AUTO_ACKNOWLEDGE，DUPS_OK_ACKNOWLEDGE，またはCLIENT_ACKNOWLEDGE以外を指定した場合は出力されません。

注※2

文字列が32文字を超える場合，後半が削除されて，前から数えて32文字が出力されます。また，取得できなかった場合は，nullが返されます。

注※3

OPT列に出力されるルートアプリケーション情報（各イベントで一連の処理の先頭になるプロセスで取得した情報）はバイト配列で出力され，ASCII列（OPT列の次の列）にはOPT列に出力されるルートアプリケーション情報のASCII文字列が出力されます。

ただし，次のメッセージを受信した場合，OPT列にルートアプリケーション情報は出力されません。

・01-02以前のバージョンのCosminexus RMで登録されたメッセージ

・共用キューに登録されたメッセージ

・BytesContainerを利用して転送されたメッセージ

・デッドメッセージキューから再登録されたメッセージ

注※4

正常に処理が終了したときだけ出力されます。エラーが発生したときは出力されません。

(b)　非永続版リソースアダプタの場合

非永続版リソースアダプタの場合のCosminexus RMでPRFトレースから取得できる情報を次の表に示します。

Cosminexus RMで取得できる情報以外のPRFトレースの情報については，マニュアル「Cosminexus システム運用ガイド」の性能解析トレースファイルの説明を参照してください。

表9-11　PRFトレースの取得情報（非永続版リソースアダプタの場合）

イベントID
取得情報

Rc
INT
OPR
OPT

0x9300
入口トレースの場合，常に「0」が出力されます。
出口トレースおよび呼び出し後トレースの場合，次のように出力されます。

正常終了：0

異常終了：0以外

トランザクション制御では，XAのエラーコードが出力されます。そのほかのエラー出口では，1が出力されます。
transacted引数に指定した値
次のどちらかが出力されます。

true

false

acknowledgeMode引数に指定した値
次のどれかが出力されます。※1

AUTO_ACKNOWLEDGE

DUPS_OK_ACKNOWLEDGE

CLIENT_ACKNOWLEDGE

－

0x9301
－
－
－

0x9302
－
－
－

0x9303
－
－
－

0x9304
－
－
－

0x9305
－
－
－

0x9306
－
－
－

0x9307
－
－
－

0x9308
キュー名称
－
－

0x9309
－
－
－

0x930A
キュー名称
メッセージ送信の優先度
－

0x930B
－
－
－

0x930C
キュー名称
－
－

0x930D
－
－
－

0x930E
キュー名称
メッセージ送信の優先度
－

0x930F
－
－
－

0x9310
キュー名称
メッセージセレクタ※2
－

0x9311
メッセージ取得の可否
次のどちらかが出力されます。

取得成功：true

取得失敗：false

－
メッセージ送信元のルートアプリケーション情報※3

0x9312
キュー名称
タイムアウト値（ミリ秒）
－

0x9313
メッセージ取得の可否
次のどちらかが出力されます。

取得成功：true

取得失敗：false

メッセージセレクタ※2
メッセージ送信元のルートアプリケーション情報※3

0x9314
キュー名称
メッセージセレクタ※2
－

0x9315
メッセージ取得の可否
次のどちらかが出力されます。

取得成功：true

取得失敗：false

－
メッセージ送信元のルートアプリケーション情報※3

0x9316
キュー名称
メッセージセレクタ※2
－

0x9317
－
－
メッセージ送信元のルートアプリケーション情報※3

0x9318
flags引数の値
次のどれかが出力されます。

TMNOFLAGS

TMJOIN

TMRESUME

－
－

0x9319
－
－
－

0x931A
flags引数の値
次のどれかが出力されます。

TMSUCCESS

TMFAIL

TMSUSPEND

－
－

0x931B
－
－
－

0x931C
－
－
－

0x931D
－
－
－

0x931E
1フェーズコミットの有無
次のどちらかが出力されます。

true

false

－
－

0x931F
－
－
－

0x9320
－
－
－

0x9321
－
－
－

0x9322
－
－
－

0x9323
－
－
－

0x9324
flags引数の値
次のどれかが出力されます。

TMSTARTRSCAN

TMENDRSCAN

TMNOFLAGS

－
－

0x9325
－
－
－

0x9326
－
－
－

0x9327
－
－
－

0x9328
－
－
－

0x9329
－
－
－

0x932A
－
－
－

0x932B
－
－
－

0x932C
－
－
－

0x932D
－
－
－

0x932E
－
－
－

0x932F
－
－
－

0x9330
－
－
－

0x9331
－
－
－

0x9332
－
－
－

0x9333
－
－
－

0x9335
－
－
－

0x9336
キュー名称
－
－

0x9337※4
－
－
メッセージ送信元のルートアプリケーション情報※3

0x9338
－
－
－

（凡例）

－：出力されません。

注※1

AUTO_ACKNOWLEDGE，DUPS_OK_ACKNOWLEDGE，またはCLIENT_ACKNOWLEDGE以外を指定した場合は出力されません。

注※2

文字列が32文字を超える場合，後半が削除されて，前から数えて32文字が出力されます。また，取得できなかった場合は，nullが返されます。

注※3

OPT列に出力されるルートアプリケーション情報（各イベントで一連の処理の先頭になるプロセスで取得した情報）はバイト配列で出力され，ASCII列（OPT列の次の列）にはOPT列に出力されるルートアプリケーション情報のASCII文字列が出力されます。

注※4

正常に処理が終了したときだけ出力されます。エラーが発生したときは出力されません。

9.2　キューの障害

Cosminexus RMがキューに関連する障害を検知した場合，該当のキューが閉塞状態になる場合があります。閉塞状態のキューは，hrmdelqueコマンドおよびhrmlsqueコマンドだけ受け付け，それ以外のコマンドおよびメッセージの送受信は実行できません。Cosminexus RMは，次の契機でキューの障害を検知します。

Cosminexus RMの復元処理時の管理情報テーブルの不正

共用キューのキュー復元時のバージョン不正

共用キューが保持するデータの不正および矛盾

キューの障害が発生したときの対処方法について次に説明します。

＜この節の構成＞

(1)　Cosminexus RMの復元処理時の管理情報テーブルの不正

(2)　共用キューのキュー復元時のバージョン不正

(3)　共用キューが保持するデータの不正および矛盾

(1)　Cosminexus RMの復元処理時の管理情報テーブルの不正

Cosminexus RMの復元処理時に，管理情報テーブル（キュー情報テーブル，FIFO情報テーブル，およびメッセージ情報テーブル）のレコードの不正が検知された場合，キューが閉塞します。復元対象と対処方法を次の表に示します。

表9-12　管理情報テーブルのレコード不正検知時の復元対象とその対処方法

復元対象 | 対処方法
キュー情報テーブル | hrmdelqueコマンドで該当のキューを削除してください。
FIFO情報テーブル | hrmdelqueコマンドで該当のキューを削除してください。※
メッセージ情報テーブル | Cosminexus RMを停止したあと，不正なメッセージ情報テーブルのレコードを削除してください。

注※

該当のFIFOが属するキュー名が不正（存在しない）である場合は，Cosminexus RMがメッセージを出力して，FIFOを削除します。

(2)　共用キューのキュー復元時のバージョン不正

共用キューの復元時に，復元した共用キューのバージョンが，使用中のCosminexus RMのバージョンに対応する共用キューバージョンと互換性がなかった場合，該当の共用キューを閉塞します。受信用共用キューの場合は，共用キュー用のDBテーブルに格納されているバージョンをチェックし，送信用共用キューの場合は，格納先のDBテーブルに格納されているバージョンをチェックします。なお，格納先のDBテーブルが存在しない場合も不正とみなして閉塞します。

Cosminexus RMを停止したあと，受信用共用キューの場合は該当の共用キューを，送信用共用キューの場合は格納先の受信用共用キューをバージョンアップしてください。共用キューのバージョンアップについては，「付録H.4　共用キューのバージョンアップ」を参照してください。

(3)　共用キューが保持するデータの不正および矛盾

Cosminexus RM起動時，メッセージ送受信時，コマンド実行時など，共用キューのDBテーブルにアクセスする契機でDBの情報に不正や矛盾を検知すると閉塞します。なお，閉塞した共用キューは使用できないため，hrmdelqueコマンドで削除してください。

9.3　メッセージの形式

メッセージの記述形式について，次に示します。

KFRMnnnnn-Y　（Z）

メッセージテキスト

可変値についての説明

説明

メッセージテキストに対する補足説明

対処

ユーザが実施する対処

なお，「可変値についての説明」，「説明」および「対処」はメッセージによって記述しないものもあります。

各項目について説明します。

KFRM

Cosminexus RMが出力したメッセージであることを表すIDです。

nnnnn

Cosminexus RMで管理するメッセージ番号を表します。それぞれのメッセージには，5けたの固有の番号が付いています。

Y

メッセージのレベルを表します。メッセージのレベルは英字1文字で示します。

メッセージのレベルを示す文字とその意味を次に示します。

E（Error）

エラーレベルのトラブルが発生したことを通知するメッセージです。

このメッセージが出力されたときは，処理を中断します。

W（Warning）

警告レベルのトラブルが発生したことを通知するメッセージです。

メッセージが出力されたあとも処理を続行します。

I（Information）

システムの動作を通知するメッセージです。

メッセージが出力されたあとも処理を続行します。

（Z）

メッセージの出力先を表します。出力先は英字1文字で示します。

出力先を示す文字とその意味を次に示します。

C：Cosminexus Component Containerのコンソールに出力されます。

O：Cosminexus用メッセージログに出力されます。

S：開始停止メッセージログに出力されます。

T：Cosminexus RMのコマンド出力として標準出力に出力されます。

U：Cosminexus RMのコマンド出力として標準エラー出力に出力されます。

これらの文字はメッセージには出力されません。複数の出力先がある場合はスラント（/）で区切ります。

メッセージテキスト

Cosminexus RMが出力したメッセージテキストを示します。

なお，メッセージテキスト中の可変値（メッセージが出力される状況によって変わる値）は「xx....xx」（xxは英小文字）の形式で示します。

可変値についての説明

メッセージテキスト中の可変値に表示される情報を「xx....xx：表示される情報」（xxは英小文字）の形式で示します。可変値についての説明の記述例を次に示します。

（例）

aa....aa：ファイル名

bb....bb：アプリケーション名

説明

メッセージが通知された要因やメッセージを出力したソフトウェアの動作など，メッセージに対する補足説明を示します。

対処

ユーザが実施する対処を表します。なお，対処方法の「保守員に連絡してください」とは，購入時の契約に基づいて，ユーザが弊社問い合わせ窓口へ連絡することを示します。

9.4　メッセージの詳細

Cosminexus RMが出力するメッセージの一覧を次に示します。

＜この節の構成＞

KFRM00002-W（C／O）

KFRM00003-W（C／O）

KFRM00004-W（C／O）

KFRM00005-W（C／O）

KFRM01000-E（S）

KFRM01001-E（S）

KFRM01002-E（S）

KFRM01003-W（S）

KFRM01004-I（S）

KFRM01005-I（S）

KFRM01006-I（S）

KFRM01007-I（S）

KFRM01008-I（S）

KFRM01009-I（C／O／S）

KFRM01010-I（S）

KFRM01011-I（S）

KFRM01012-E（S）

KFRM01013-E（S）

KFRM01014-I（S）

KFRM01015-I（S）

KFRM01016-I（S）

KFRM01017-E（C／O）

KFRM01018-E（C／O）

KFRM01019-I（S）

KFRM01020-I（S）

KFRM01800-E（C／O）

KFRM01801-E（C／O）

KFRM01802-E（C／O）

KFRM01803-W（C／O）

KFRM01804-I（C／O）

KFRM01805-I（C／O）

KFRM01806-E（C／O）

KFRM01807-W（C／O）

KFRM02000-E（C／O）

KFRM10000-E（C／O）

KFRM10001-E（C／O）

KFRM10002-E（C／O）

KFRM10003-E（C／O）

KFRM10022-E（C／O）

KFRM10023-E（C／O）

KFRM11000-E（C／O）

KFRM11001-E（C／O）

KFRM11002-W（C／O）

KFRM12000-E（C／O）

KFRM12001-E（C／O）

KFRM13000-E（C／O）

KFRM13001-I（C／O）

KFRM13004-W（C／O）

KFRM13005-E（C／O）

KFRM13006-W（C／O）

KFRM13007-W（C／O）

KFRM13011-W（C／O）

KFRM13012-W（C／O）

KFRM13013-I（C／O）

KFRM13015-I（C／O）

KFRM13016-E（C／O）

KFRM13017-E（C／O）

KFRM13018-E（C／O）

KFRM13019-E（C／O）

KFRM13020-E（C／O）

KFRM13021-E（C／O）

KFRM13022-W（C／O）

KFRM13023-E（C／O）

KFRM13024-W（C／O）

KFRM13025-I（C／O）

KFRM13026-I（C／O）

KFRM13027-I（C／O）

KFRM13028-W（C／O）

KFRM13029-I（C／O）

KFRM14000-E（C／O）

KFRM14001-E（C／O）

KFRM14002-E（C／O）

KFRM14003-E（C／O）

KFRM14004-E（C／O）

KFRM14005-E（C／O）

KFRM14008-E（C／O）

KFRM14009-E（C／O）

KFRM14010-E（C／O）

KFRM14012-W（C／O）

KFRM14013-E（C／O）

KFRM14014-E（C／O）

KFRM14015-E（C／O）

KFRM14016-E（C／O）

KFRM14017-E（C／O）

KFRM14018-E（C／O）

KFRM14019-E（C／O）

KFRM14020-E（C／O）

KFRM14021-E（C／O）

KFRM14022-E（C／O）

KFRM15000-E（C／O）

KFRM16000-E（C／O）

KFRM16001-E（C／O）

KFRM16002-E（C／O）

KFRM16003-W（C／O）

KFRM16005-E（C／O）

KFRM16006-E（C／O）

KFRM16008-E（C／O）

KFRM16009-I（C／O）

KFRM16010-I（C／O）

KFRM16011-E（C／O）

KFRM16012-E（C／O）

KFRM16013-E（C／O）

KFRM16014-E（C／O）

KFRM17000-E（C／O）

KFRM17001-E（C／O）

KFRM17002-E（C／O）

KFRM17003-E（C／O）

KFRM17004-E（C／O）

KFRM17005-E（C／O）

KFRM17006-E（C／O）

KFRM17007-W（C／O）

KFRM17008-W（C／O）

KFRM17009-W（C／O）

KFRM17010-W（C／O）

KFRM17011-W（C／O）

KFRM17012-W（C／O）

KFRM17013-E（C／O）

KFRM17014-W（C／O）

KFRM20000-E（U）

KFRM20001-E（U）

KFRM20002-E（U）

KFRM20003-E（U）

KFRM20004-E（U）

KFRM20005-E（U）

KFRM20006-E（U）

KFRM20007-E（U）

KFRM20008-E（U）

KFRM20009-E（U）

KFRM20010-E（U）

KFRM20011-E（U）

KFRM20012-E（U）

KFRM20014-I（T）

KFRM20016-I（T）

KFRM20017-I（T）

KFRM20018-I（T）

KFRM20019-I（T）

KFRM20020-I（T）

KFRM20021-I（T）

KFRM20022-I（T）

KFRM20024-I（T）

KFRM20025-I（C／O）

KFRM20026-I（C／O）

KFRM20027-I（C／O）

KFRM20028-E（U）

KFRM20029-E（U）

KFRM20030-E（U）

KFRM20031-I（C／O）

KFRM20032-E（U）

KFRM20033-E（U）

KFRM20034-E（U）

KFRM20035-E（U）

KFRM20036-E（U）

KFRM20037-E（U）

KFRM20038-E（U）

KFRM20039-E（U）

KFRM20040-E（U）

KFRM20041-E（U）

KFRM20042-E（U）

KFRM20043-E（U）

KFRM20044-E（U）

KFRM20045-E（U）

KFRM20046-E（U）

KFRM20047-I（C／O）

KFRM20048-I（C／O）

KFRM20049-I（C／O）

KFRM20050-I（T）

KFRM20051-I（T）

KFRM20052-I（T）

KFRM20053-I（T）

KFRM20055-I（T）

KFRM20056-I（T）

KFRM20057-I（T）

KFRM20058-I（T）

KFRM20059-E（U）

KFRM20060-E（U）

KFRM20061-E（U）

KFRM20062-E（U）

KFRM20063-E（U）

KFRM20064-E（U）

KFRM20065-E（U）

KFRM20066-E（U）

KFRM20067-E（U）

KFRM20068-E（U）

KFRM20071-E（U）

KFRM20072-E（U）

KFRM20074-I（T）

KFRM20075-I（T）

KFRM20078-I（T）

KFRM20079-I（T）

KFRM20080-I（C／O）

KFRM20081-W（C／O）

KFRM20082-E（U）

KFRM20083-E（U）

KFRM20084-E（U）

KFRM20085-E（U）

KFRM20086-E（U）

KFRM20087-E（U）

KFRM20088-E（U）

KFRM20089-E（U）

KFRM20090-E（U）

KFRM20091-E（U）

KFRM20092-E（C／O）

KFRM20093-E（C／O）

KFRM20094-W（C／O）

KFRM20095-E（C／O）

KFRM20096-W（U）

KFRM20097-W（C／O）

KFRM20098-I（T）

KFRM20099-I（T）

KFRM20100-E（U）

KFRM20121-W（C／O）

KFRM20122-W（C／O）

KFRM20123-W（C／O）

KFRM20125-E（U）

KFRM20126-E（U）

KFRM32000-E（S）

KFRM32001-E（S）

KFRM32002-W（S）

KFRM32003-I（S）

KFRM32006-W（C／O）

KFRM32007-W（S）

KFRM32008-W（C／O）

KFRM32009-E（C／O）

KFRM34000-E（C／O）

KFRM40001-I（C／O）

KFRM40003-W（C／O）

KFRM40004-W（C／O）

KFRM40005-E（C／O）

KFRM40006-W（C／O）

KFRM40007-I（C／O）

KFRM40008-W（C／O）

KFRM40009-W（C／O）

KFRM40010-W（C／O）

KFRM40011-E（C／O）

KFRM40012-I（C／O）

KFRM40013-E（C／O）

KFRM41000-W（C／O）

KFRM42000-W（C／O）

KFRM42002-W（C／O）

KFRM42003-W（C／O）

KFRM42004-W（C）

KFRM42005-W（C）

KFRM99000-E（C／O）

KFRM00002-W（C／O）

An error was detected during QueueSession close processing. Method name=aa....aa, Exception name=bb....bb, Output location=cc....cc

aa....aa：メソッド名
bb....bb：例外名および例外発生原因を示す文字列
cc....cc：出力個所

説明

QueueSessionオブジェクトのクローズ処理で異常を検知しました。

対処

このメッセージの前にエラーメッセージが出力されている場合には，そのメッセージの対処に従ってください。

KFRM00003-W（C／O）

When the message-reception method was executed, the value returned was null because QueueConnection was in an undeliverable state.

説明

メッセージ受信メソッドを実行した際，QueueConnectionオブジェクトがメッセージを配送できない状態だったので，メッセージ受信メソッドの戻り値がnullになりました。

KFRM00004-W（C／O）

After Connection.start() (reception start processing) was called, there was a mixture of QueueSession states because QueueSession reception start processing was sometimes successful and sometimes unsuccessful.

説明

Connection.start()メソッド（受信開始処理）の発行後，受信開始処理に成功したQueueSessionオブジェクトと受信開始処理に失敗したQueueSessionオブジェクトが混在する状態になりました。

対処

必要に応じてアプリケーションを停止し，障害要因を取り除いたあと，アプリケーションを再度開始してください。

KFRM00005-W（C／O）

After Connection.stop() (reception stop processing) was called, there was a mixture of QueueSession states because QueueSession reception stop processing was sometimes successful and sometimes unsuccessful.

説明

Connection.stop()メソッド（受信終了処理）の発行後，受信終了処理に成功したQueueSessionオブジェクトと受信終了処理に失敗したQueueSessionオブジェクトが混在する状態になりました。

対処

必要に応じてアプリケーションを停止し，障害要因を取り除いたあと，アプリケーションを再度開始してください。

KFRM01000-E（S）

An attempt to start uCosminexus Reliable Messaging has failed.

説明

Cosminexus RMの開始に失敗しました。

対処

メッセージログファイルを参照し，直前のエラーメッセージから障害要因を特定してください。障害要因を対処したあと，Cosminexus RMを再度開始してください。

KFRM01001-E（S）

An attempt to start Logger has failed. cause=aa....aa

aa....aa：原因

説明

ロガーの開始に失敗しました。Cosminexus RMの開始は失敗します。

対処

原因を参照し，障害要因を取り除いてください。

KFRM01002-E（S）

An attempt to start the resource manager has failed.

説明

リソースマネジャの開始に失敗しました。Cosminexus RMの開始は失敗します。

対処

メッセージログファイルを参照し，直前のエラーメッセージから障害要因を特定してください。障害要因を対処したあと，Cosminexus RMを再度開始してください。

KFRM01003-W（S）

An error was detected during the processing to stop uCosminexus Reliable Messaging.

説明

Cosminexus RMの停止処理中に異常を検知しました。Cosminexus RMの停止は完了します。

対処

メッセージログファイルを参照し，直前のメッセージの対処方法に従って障害要因を取り除いてください。

KFRM01004-I（S）

uCosminexus Reliable Messaging will now start.

説明

Cosminexus RMを開始します。

KFRM01005-I（S）

Logger will now start.

説明

ロガーを開始します。

KFRM01006-I（S）

Logger has started.

説明

ロガーを開始しました。

KFRM01007-I（S）

The resource manager will now start.

説明

リソースマネジャを開始します。

KFRM01008-I（S）

The resource manager has started.

説明

リソースマネジャを開始しました。

KFRM01009-I（C／O／S）

uCosminexus Reliable Messaging has started.

説明

Cosminexus RMを開始しました。

KFRM01010-I（S）

uCosminexus Reliable Messaging will now stop.

説明

Cosminexus RMを停止します。

KFRM01011-I（S）

uCosminexus Reliable Messaging has stopped.

説明

Cosminexus RMを停止しました。

KFRM01012-E（S）

An attempt to register the message log writer has failed.

説明

メッセージログライターの登録に失敗しました。Cosminexus RMの開始は失敗します。

対処

メッセージログとトレースを採取し，保守員に連絡してください。

KFRM01013-E（S）

The format of the value input for container authentication is invalid. Input item=aa....aa

aa....aa：入力項目

説明

コンテナ認証で入力した値のフォーマットが不正です。Cosminexus RMの開始は失敗します。

対処

コンテナ認証の指定値を見直して，Cosminexus RMを再度開始してください。

KFRM01014-I（S）

Container authentication information has been set. Entered item for container authentication=aa....aa

aa....aa：コンテナ認証の入力項目

説明

コンテナ認証情報がセットされました。

KFRM01015-I（S）

The server name has been set. Server name=aa....aa

aa....aa：サーバ名

説明

サーバ名がセットされました。

KFRM01016-I（S）

The display name has been set. Display name=aa....aa

aa....aa：表示名

説明

表示名がセットされました。

KFRM01017-E（C／O）

An attempt to create the queueSession has failed. cause=aa....aa

aa....aa：原因

説明

QueueSessionオブジェクトの生成に失敗しました。

対処

原因を調査し，障害要因を取り除いてください。

KFRM01018-E（C／O）

An attempt to create the physical connection has failed. cause=aa....aa

aa....aa：原因

説明

物理コネクションの生成に失敗しました。

対処

原因を調査し，障害要因を取り除いてください。

KFRM01019-I（S）

The Transaction Support Level has been set. Transaction support level=aa....aa

aa....aa：トランザクションサポートレベル

説明

トランザクションサポートレベルがセットされました。

KFRM01020-I（S）

The version of starting Cosminexus Reliable Messaging=aa....aa

aa....aa：Cosminexus RMのバージョン

説明

稼働中のCosminexus RMのバージョンを表示します。

KFRM01800-E（C／O）

The MDB queue monitoring function has stopped. Name of the monitored queue=aa....aa

aa....aa：監視対象のキュー名

説明

Message-driven Beanのキュー監視機能が終了しました。Cosminexus RMはこれ以降，そのMessage-driven Beanと連携しません。Message-driven Beanはキューの監視をしない状態で継続します。

対処

このメッセージを出力する要因としてDBが停止していることが考えられます。DBの状態を確認し，一度Message-driven Beanを終了したあと，Message-driven Beanを再度開始してください。

KFRM01801-E（C／O）

The value defined for MDB is invalid. Property name=aa....aa

aa....aa：プロパティ名

説明

Message-driven Bean定義の値が不正です。

Message-driven Beanの開始は失敗します。Cosminexus RMはそのMessage-driven Beanと連携しません。

対処

プロパティ名がQueue nameの場合はキュー名を，Multiplex degreeの場合はMessage-driven Beanの多重度を，Message selectorの場合はメッセージセレクタを変更して，Message-driven Beanを再度開始してください。

KFRM01802-E（C／O）

The message was returned to the queue, and again became a candidate for distribution. Queue name=aa....aa

aa....aa：キュー名

説明

メッセージはキューに戻り，再び配送対象となります。メッセージがキューに戻り，Cosminexus RMは継続します。

対処

メッセージログファイルを参照し，直前のメッセージの対処方法に従って障害要因を取り除いてください。

KFRM01803-W（C／O）

Multiple instances of the MDB queue monitoring function were reduced by one. Name of the monitored queue=aa....aa

aa....aa：監視対象のキュー名

説明

Message-driven Beanのキュー監視機能の多重度が一つ減りました。Cosminexus RMはそのMessage-driven Beanとの連携を減らして継続します。

対処

このメッセージを出力する要因としてDBが停止しているか，ユーザ定義のクラスが読み込めないことが考えられます。システムの状態を確認し，一度Message-driven Beanを終了してください。そのあと，障害要因を取り除いて，Message-driven Beanを再度開始してください。それでも状態が回復しない場合は，メッセージログとトレースを採取し，保守員に連絡してください。

KFRM01804-I（C／O）

MDB queue monitoring will now start. Queue name=aa....aa

aa....aa：キュー名

説明

Message-driven Beanのキューの監視を開始します。

KFRM01805-I（C／O）

MDB queue monitoring will now end. Queue name=aa....aa

aa....aa：キュー名

説明

Message-driven Beanのキューの監視を終了します。

KFRM01806-E（C／O）

The system definition information conflicts with the queue attribute information.

説明

システムの状態とキューの状態に矛盾があります。Message-driven Beanの開始は失敗します。Cosminexus RMは該当するMessage-driven Beanと連携しません。

対処

RMSHConnectFlagプロパティに適正な値が指定されているかどうかを確認してください。

KFRM01807-W（C／O）

MDB is started in Cosminexus Reliable Messaging of blocked state.

説明

Cosminexus RMが閉塞状態のまま，Message-driven Beanを開始しました。

対処

Message-driven Beanは開始しますが，メッセージは配信されません。Cosminexus RMを正常に開始できる環境にしてから，次のどちらかの操作を実行してください。

Cosminexusを再起動する。

Message-driven Beanを終了してから，Cosminexus RMを再度開始する。その後，Message-driven Beanを開始する。

KFRM02000-E（C／O）

An error was detected during processing of a transaction request from the transaction manager. Name of the method that detected the error=aa....aa, Transaction identifier=bb....bb, Error code=cc....cc, Maintenance information:dd....dd

aa....aa：異常を検知したメソッド名
bb....bb：トランザクション識別子
cc....cc：エラーコード（保守情報）
dd....dd：保守情報

説明

トランザクションマネジャからのトランザクション要求の処理中に異常を検知しました。

Cosminexus RMは処理を続行します。ただし，KFRM10002-Eを出力した場合は，Cosminexus RMを閉塞します。

対処

このメッセージを出力する原因として，DBが停止している，または管理状態でトランザクションを開始したことが考えられます。システムの状態を確認してください。それ以外の場合は，メッセージログとトレースを採取し，保守員に連絡してください。

KFRM10000-E（C／O）

Resource manager initialization failed because the user lacked access permission.

説明

アクセス権がなかったため，リソースマネジャの初期化に失敗しました。Cosminexus RMの開始は失敗します。

対処

server.policyファイルのpermission設定を見直してください。

KFRM10001-E（C／O）

Processing failed because the system status is aa....aa.

aa....aa：Cosminexus RMのシステム状態

説明

システム状態が不正なため，処理実行に失敗しました。

対処

システム状態が管理状態の場合はhrmstartコマンドでシステムを実行状態にしたあと，アプリケーションを再度実行してください。

閉塞状態の場合はCosminexus RMの閉塞状態を回復したあと，アプリケーションを再度実行してください。なお，閉塞状態でCosminexus RMを停止すると，このメッセージが出力される場合があります。

KFRM10002-E（C／O）

The system state changed to a blocked state.

説明

システム状態が閉塞状態に移行しました。この状態で要求される処理はすべて実行できません。

対処

Cosminexus RMを再度開始してください。

KFRM10003-E（C／O）

The version of the database table to be used by this uCosminexus Reliable Messaging version does not match the version of the table in the database. Version of the table that an attempt was made to use= aa....aa, Version of the table used by the started system= bb....bb

説明

Cosminexus RMが利用するDBテーブルのバージョンと，DBにあるテーブルのバージョンが一致していません。

aa....aa：使用しようとしたテーブルのバージョン

bb....bb：起動したCosminexus RMが用いるテーブルのバージョン

対処

DBのテーブルバージョンの値を確認してください。旧バージョンのテーブルを使用している場合は，新たにテーブルを作成してください。使用しようとしたテーブルバージョンよりも新しいバージョンのテーブルであった場合，Cosminexus RMをあわせてバージョンアップしてください。

KFRM10022-E（C／O）

An attempt to register the queue into the JNDI name space has failed. Maintenance information=aa....aa

aa....aa：保守情報

説明

キューがJNDIネーミングサービスへの登録に失敗しました。

Cosminexus RMは閉塞状態になります。

対処

Cosminexus RMを再度開始してください。

開始後もJNDIネーミングサービスに関連するエラーや警告などが出力される場合は，保守員に連絡してください。

KFRM10023-E（C／O）

The processing to retry starting of Cosminexus Reliable Messaging will now stop because the RMStartTimeout time has elapsed. RMStartTimeout value=aa....aa

aa....aa：コンフィグレーションプロパティRMStartTimeoutプロパティ値

説明

Cosminexus RMの開始処理のリトライが，RMStartTimeoutプロパティの時間を経過しました。開始処理が中止され，Cosminexus RMは閉塞状態になります。

対処

次の要因が考えられます。

DBが停止している。

DBへの接続情報（ユーザ名，パスワードなど）に誤りがある。

メッセージログファイルを参照し，直前のエラーメッセージから障害要因を特定してください。障害要因を対処したあと，Cosminexus RMを再度開始してください。

KFRM11000-E（C／O）

An attempt to create a thread has failed.

説明

スレッドの生成に失敗しました。Cosminexus RMの開始に失敗します。

対処

スレッドの生成に必要なメモリ量がJavaVMのヒープ領域に確保できることを確認し，Cosminexus RMを再度開始してください。

KFRM11001-E（C／O）

An internal error occurred. Maintenance information=aa....aa

aa....aa：保守情報

説明

内部エラーが発生しました。Cosminexus RMは閉塞状態になります。

対処

メッセージログとトレースを採取し，保守員に連絡してください。

KFRM11002-W（C／O）

An attempt to start an asynchronous message delivery has failed. Thread pool identifier=aa....aa

aa....aa：スレッドプール識別子

説明

非同期メッセージの配送開始に失敗しました。

スレッドプール識別子がMDBの場合，Message-driven Beanの監視スレッドが一つ減ります。

対処

メッセージログとトレースを採取し，保守員に連絡してください。

KFRM12000-E（C／O）

An error was detected in the transaction control of uCosminexus Reliable Messaging. Name of the internal method that detected the error=aa....aa, Transaction identifier=bb....bb, Error code=cc....cc, Maintenance information:dd....dd

aa....aa：異常を検知した内部メソッド名
bb....bb：トランザクション識別子
cc....cc：エラーコード（保守情報）
dd....dd：保守情報

説明

Cosminexus RMのトランザクション制御内で異常を検知しました。

Cosminexus RMは処理を続行します。ただし，KFRM10002-Eを出力した場合はCosminexus RMを閉塞します。

対処

メッセージログとトレースを採取し，保守員に連絡してください。

KFRM12001-E（C／O）

An error was detected during the issuing of a transaction to a database. Transaction request to database=aa....aa, Transaction identifier=bb....bb, Error code=cc....cc, Maintenance information:dd....dd

aa....aa：DBに対するトランザクション命令
bb....bb：トランザクション識別子
cc....cc：エラーコード（保守情報）
dd....dd：保守情報

説明

DBへのトランザクション発行中に異常を検知しました。Cosminexus RMは処理を続行します。ただし，KFRM10002-Eを出力した場合はCosminexus RMを閉塞します。

対処

DBが正常に稼働していることを確認してください。DBの状態が正常な場合はメッセージログとトレースを採取し，保守員に連絡してください。

DBに対するトランザクション命令に"end"または"rollback"が表示されている場合，Cosminexus RMはHiRDBのロールバックを待ちます。HiRDBでは，PDSWAITTIMEの指定時間が経過した時点で，該当のトランザクションをロールバックする場合があります。この場合，同一のキューに対するアプリケーションの処理はロールバック実行時点まで待たされることになるので，注意してください。PDSWAITTIMEについては，「3.4.1(2)(b)　HiRDBの環境変数グループの登録」を参照してください。

KFRM13000-E（C／O）

An attempt to restore management information failed because of a database error. Exception=aa....aa

aa....aa：発生した例外名

説明

DB障害によって管理情報の復元に失敗しました。Cosminexus RMは復元処理を再試行します。

対処

メッセージログファイルを参照して，DBの障害要因を取り除いてください。

KFRM13001-I（C／O）

A message exceeding its valid term was deleted. Queue name=aa....aa, JMSMessageID=bb....bb, JMSCorrelationID=cc....cc

aa....aa：削除元のキュー名
bb....bb：削除したメッセージのJMSMessageIDヘッダ値
cc....cc：削除したメッセージのJMSCorrelationIDヘッダ値

説明

有効期限に達したメッセージを削除しました。

KFRM13004-W（C／O）

The queue specified by RMDeadMessageQueueName does not exist.

説明

RMDeadMessageQueueNameプロパティに指定したキューがありません。Cosminexus RMは処理を続行します。

対処

デッドメッセージキューを使用する場合は，次に示すどちらかの対策を実施してください。

RMDeadMessageQueueNameプロパティに正しいローカルキュー名を指定してCosminexus RMを再度開始します。

RMDeadMessageQueueNameプロパティに指定したローカルキューを作成します。

KFRM13005-E（C／O）

A queue other than a local queue is specified in RMDeadMessageQueueName.

説明

RMDeadMessageQueueNameプロパティにローカルキュー以外のキューを指定しています。Cosminexus RMは閉塞します。

対処

RMDeadMessageQueueNameプロパティに正しいローカルキュー名を指定して，Cosminexus RMを再度開始してください。

KFRM13006-W（C／O）

A message exceeding its valid term was not deleted because an exception occurred. Queue name=aa....aa, JMSMessageID=bb....bb, JMSCorrelationID=cc....cc, Exception=dd....dd

aa....aa：キュー名
bb....bb：メッセージのJMSMessageIDヘッダ値
cc....cc：メッセージのJMSCorrelationIDヘッダ値
dd....dd：発生した例外

説明

例外が発生したため，有効期限に達したメッセージを削除できません。Cosminexus RMは処理を続行します。

対処

メッセージログファイルを参照して，障害要因を取り除いてください。

KFRM13007-W（C／O）

A message exceeding the maximum number of delivery attempts was not moved to the dead message queue because an exception occurred. Queue name=aa....aa, JMSMessageID=bb....bb, JMSCorrelationID=cc....cc, Number of deliveries=dd....dd, Exception=ee....ee

aa....aa：キュー名
bb....bb：メッセージのJMSMessageIDヘッダ値
cc....cc：メッセージのJMSCorrelationIDヘッダ値
dd....dd：メッセージの配送回数
ee....ee：発生した例外

説明

例外が発生したため，配送回数が最大値に達したメッセージをデッドメッセージキューに移動できません。

Cosminexus RMは処理を続行します。

対処

メッセージログファイルを参照して，障害要因を取り除いてください。

KFRM13011-W（C／O）

The accumulating time of the message exceeded the value for RMTRPendingNotifyInterval.Queue name= aa....aa, Transmission group ID= bb....bb, Transmission sequence number in the group of unreceived messages that are causing the accumulation=cc....cc

aa....aa：キュー名
bb....bb：グループID
cc....cc：滞留の原因となっている未受信メッセージのグループ内シーケンス番号

説明

メッセージの滞留時間がRMTRPendingNotifyIntervalプロパティの値を超えました。Cosminexus RMは処理を続行します。

対処

通信路で障害が発生していないか，または送信側システムがダウンしていないかなどを調査してください。滞留原因となっている未受信のメッセージを破棄してよい場合は，hrmskipmsg（受信待ちメッセージのスキップ）コマンドを実行してスキップしてください。

KFRM13012-W（C／O）

The accumulated messages that reached the valid period for transmission-level messages could not be deleted because an exception occurred. Queue name= aa....aa, JMSMessageID= bb....bb, JMSCorrelationID=cc....cc, Transmission group ID=dd....dd, Transmission sequence number=ee....ee, Exception= ff....ff

aa....aa：配信予定だったキュー名
bb....bb：メッセージのJMSMessageIDヘッダ値
cc....cc：メッセージのJMSCorrelationIDヘッダ値
dd....dd：メッセージの通信層のグループID
ee....ee：メッセージの通信層のグループ内シーケンス番号
ff....ff：発生した例外

説明

例外が発生したため，通信層のメッセージ有効期限を過ぎた滞留メッセージを削除できません。Cosminexus RMは処理を続行します。

対処

メッセージログファイルを参照して，障害要因を取り除いてください。

KFRM13013-I（C／O）

The accumulating messages were deleted because they exceeded the valid period for transmission-level messages. Queue name=aa....aa, JMSMessageID=bb....bb, JMSCorrelationID=cc....cc, Transmission GroupID=dd....dd, Transmission sequence number=ee....ee

aa....aa：配信予定だったキュー名
bb....bb：削除したメッセージのJMSMessageIDヘッダ値
cc....cc：削除したメッセージのJMSCorrelationIDヘッダ値
dd....dd：削除したメッセージのグループID
ee....ee：削除したメッセージのグループ内シーケンス番号

説明

滞留しているメッセージが通信層のメッセージ有効期限を過ぎたため，削除しました。

対処

送信側システムがダウンしていないか，または通信路で障害が発生していないかを確認してください。

KFRM13015-I（C／O）

The group was closed in accordance with the deletion of the accumulated messages or the movement of the dead message queue. Queue name=aa....aa, Transmission group ID=bb....bb

aa....aa：滞留メッセージの配信先キュー名
bb....bb：閉鎖したグループのグループID

説明

滞留メッセージの削除，またはデッドメッセージキュー移動に伴い，グループを閉鎖しました。

KFRM13016-E（C／O）

An attempt to restore management information failed because the queue information was invalid. Queue name=aa....aa, Reason code=bb....bb, Column name=cc....cc, Value=dd....dd

aa....aa：キュー名
bb....bb：理由コード（保守情報）
cc....cc：テーブルの列名
dd....dd：値

説明

キュー情報が不正なため，管理情報の復元に失敗しました。該当のキューは閉塞します。

対処

キューの削除コマンドで，該当のキューを削除してください。ただし，テーブルの列名が"QUEUE_TYPE"の場合は，キューの削除コマンドでキューを削除することはできません。この場合，Cosminexus RMを停止したあと，キュー情報テーブルとFIFO情報テーブルから不正な情報が含まれる行を削除してください。なお，メッセージ情報テーブルの削除は，キューの種類ごとに対応したテーブルが存在しているかどうかを確認し，存在している場合は削除してください。

テーブルの列名が"PERSISTENCE_MODE"の場合，キューの削除コマンドが正常に完了しても，DBのメッセージ情報テーブルが残っている可能性があります。キュー情報テーブル，FIFO情報テーブルから不正な情報の含まれる行を削除する，およびメッセージ情報テーブルを削除するためのSQL文を次に示します。なお，SQL文を実行する前に，必ずDBのバックアップを取得してください。

(a)　キュー情報テーブル

キュー情報テーブルから不正な情報が含まれる行を削除するには，次に示すSQL文を実行します。

DELETE FROM <RMSystemNameプロパティ指定値>_QUEUEINFORMATION
 WHERE QUEUE_NAME ='<エラーが発生したキュー名>';
COMMIT;

(b)　FIFO情報テーブル

FIFO情報テーブルから不正な情報が含まれる行を削除するには，次に示すSQL文を実行します。

DELETE FROM <RMSystemNameプロパティ指定値>_FIFOINFORMATION
 WHERE QUEUE_NAME ='<エラーが発生したキュー名>';
COMMIT;

(c)　メッセージ情報テーブル

メッセージ情報テーブルを削除するには，キューの種類に応じて次に示すSQL文を実行します。キューの種類によってメッセージ情報テーブル名が定まっています。キューの種類が不明な場合は実際のDBにあるテーブル名と次に示すSQL文のテーブル名（DROP TABLE文のオペランド）を比較して判断してください。

・ローカルキューおよび転送キューの場合

DROP TABLE <RMSystemNameプロパティ指定値>_MSG_<エラーが発生したキュー名>;

・受信用共用キューの場合

DROP TABLE <RMSystemNameプロパティ指定値>_SHR_<エラーが発生したキュー名>MG;
DROP TABLE <RMSystemNameプロパティ指定値>_SHR_<エラーが発生したキュー名>RD;
DROP TABLE <RMSystemNameプロパティ指定値>_SHR_<エラーが発生したキュー名>WT;

・送信用共用キューの場合

削除するメッセージ情報テーブルはありません。

KFRM13017-E（C／O）

An attempt to restore management information failed because the FIFO information was invalid. FIFO ID=aa....aa, Belonging Queue name=bb....bb, Reason code=cc....cc, Column name=dd....dd, Value=ee....ee

aa....aa：FIFO ID
bb....bb：属するキュー名
cc....cc：理由コード（保守情報）
dd....dd：テーブルの列名
ee....ee：値

説明

FIFO情報が不正なため，管理情報の復元に失敗しました。該当のFIFOが属するキューを閉塞します。

対処

キューの削除コマンドで，該当のキューを削除してください。

KFRM13018-E（C／O）

An attempt to restore management information failed because the message information was invalid. Queue name=aa....aa, FIFO ID=bb....bb, Sequence number=cc....cc, Transmission group ID=dd....dd, Transmission sequence number=ee....ee, Reason code=ff....ff, Column name=gg....gg, Value=hh....hh

aa....aa：キュー名
bb....bb：FIFO ID
cc....cc：シーケンス番号
dd....dd：通信層のグループID
ee....ee：通信層のグループ内シーケンス番号
ff....ff：理由コード（保守情報）
gg....gg：テーブルの列名
hh....hh：値

説明

メッセージ情報が不正なため管理情報の復元に失敗しました。このメッセージを保持するキューを閉塞します。

対処

Cosminexus RMを停止したあと，メッセージ情報テーブルから不正な情報が含まれる行を削除してください。不正な情報が含まれる行を削除するには，次に示すSQL文を実行します。なお，SQL文を実行する前に，必ずDBのバックアップを取得してください。

DELETE FROM <RMSystemNameプロパティ指定値>_MSG_<キュー名>
 WHERE FIFO_ID ='<エラーが発生したメッセージのFIFO ID>' AND
 SEQUENCE_NO=’<エラーが発生したメッセージのシーケンス番号>' AND
GROUP_NAME=’<エラーが発生したメッセージの通信層のグループID>’ AND
GROUP_MESSAGE_NUMBER=’<エラーが発生したメッセージの通信層のグループ内シーケンス番号>’;
COMMIT;

ただし，エラーが発生したメッセージの通信層のグループIDは，値が入っていないことがあります。その場合は，上記のSQL文で「AND GROUP_NAME=’<エラーが発生したメッセージの通信層のグループID>’」部分を除いて実行してください。

KFRM13019-E（C／O）

Queue is blocked because this share queue is invalid version. Queue name=aa....aa, Queue type=bb....bb, Current version=cc....cc, Required version=dd....dd

aa....aa：キュー名
bb....bb：キューの種類
cc....cc：現在の共用キューのバージョン
dd....dd：Cosminexus RMがサポートする共用キューのバージョン

説明

キューの種類が"SHARE_RECEIVE"の場合，受信用共用キューのバージョンが無効のため，キューを閉塞しました。キューの種類が"SHARE_SEND"の場合，該当の送信用共用キューに対応する受信用共用キューのバージョンが無効のため，キューを閉塞しました。

対処

Cosminexus RMを停止したのち，次の対処をしてください。

現在の共用キューのバージョンが，Cosminexus RMがサポートする共用キューバージョンよりも上の場合，現在の共用キューのバージョンをサポートするシステムにバージョンアップしてください。

現在の共用キューのバージョンが，Cosminexus RMがサポートする共用キューバージョンよりも下の場合で，キューの種類が受信用共用キューのとき，該当の共用キューのバージョンをCosminexus RMがサポートする共用キューのバージョンにバージョンアップしてください。

現在の共用キューのバージョンが，Cosminexus RMがサポートする共用キューバージョンよりも下の場合で，キューの種類が送信用共用キューのとき，送信先となる受信用共用キューをCosminexus RMがサポートする共用キューのバージョンにバージョンアップし，システムもサポートするバージョンにバージョンアップしてください。共用キューのバージョンアップについては，「付録H.4　共用キューのバージョンアップ」を参照してください。

KFRM13020-E（C／O）

Queue is blocked, because of an error occurred at during database access. Queue name=aa....aa

aa....aa：閉塞したキュー名

説明

DBアクセス時にエラーが発生したため，キューを閉塞しました。

対処

このメッセージを出力する要因として，次の要因が考えられます。

DBが停止している。

受信用共用キュー（閉塞したキューが送信用共用キューの場合は，対応する受信用共用キュー）のDBテーブルが存在しない。

テーブル内のデータが不正である。

DBの停止が原因の場合は，DBを起動してからCosminexus RMを再起動してください。それ以外の原因の場合は，キューの削除コマンドで，該当のキューを削除してください。

KFRM13021-E（C／O）

The queue specified for RMDeadMessageQueueName is blocked. Queue name=aa....aa

aa....aa：キュー名

説明

RMDeadMessageQueueNameプロパティに指定したキューは閉塞状態です。Cosminexus RMは閉塞状態となります。

対処

Cosminexus RMを停止したのち，RMDeadMessageQueueNameプロパティに空白または別のキューを指定して，再度開始してください。そのあと，最初にRMDeadMessageQueueNameプロパティに指定したキューを，キューの削除コマンドで削除してください。

KFRM13022-W（C／O）

Invalid data detected in the FIFO information table was deleted. FIFO_ID=aa....aa, QUEUE_NAME=bb....bb

aa....aa：FIFO情報テーブルの主キーであるFIFO_ID列の値
bb....bb：FIFO情報テーブルのQUEUE_NAME列の値

説明

FIFO情報テーブルから不正なデータを検知したため，該当のデータを削除しました。Cosminexus RMは処理を続行します。

KFRM13023-E（C／O）

The transmission queue was blocked because the group used for sending does not exist. Queue name=aa....aa

aa....aa：閉塞したキュー名

説明

送信用グループが存在しないため，転送キューを閉塞しました。

対処

キューの削除コマンドで，該当のキューを削除してください。

KFRM13024-W（C／O）

A message exceeding its valid term was not moved to the dead message queue because an exception occurred. Queue name=aa....aa, JMSMessageID=bb....bb, JMSCorrelationID=cc....cc, Exception=dd....dd

aa....aa：キュー名
bb....bb：メッセージのJMSMessageIDヘッダ値
cc....cc：メッセージのJMSCorrelationIDヘッダ値
dd....dd：発生した例外

説明

例外が発生したため，有効期限に達したメッセージをデッドメッセージキューに移動できませんでした。このメッセージは削除されます。Cosminexus RMは処理を続行します。

対処

メッセージログファイルを参照して，障害要因を取り除いてください。

KFRM13025-I（C／O）

A message exceeding its valid term was moved to the dead message queue. Queue name=aa....aa, Dead message ID=bb....bb, JMSMessageID=cc....cc, JMSCorrelationID=dd....dd

aa....aa：移動元のキュー名
bb....bb：移動したメッセージのデッドメッセージID （JMS_HITACHI_DeadMessageIDプロパティ値）
cc....cc：移動したメッセージのJMSMessageIDヘッダ値
dd....dd：移動したメッセージのJMSCorrelationIDヘッダ値

説明

有効期限に達したメッセージをデッドメッセージキューに移動しました。

KFRM13026-I（C／O）

A message exceeding the maximum number of delivery attempts was moved to the dead message queue. Queue name=aa....aa, Dead message ID=bb....bb, JMSMessageID=cc....cc, JMSCorrelationID=dd....dd, Number of deliveries=ee....ee

aa....aa：移動元のキュー名
bb....bb：移動したメッセージのデッドメッセージID（JMS_HITACHI_DeadMessageIDプロパティ値）
cc....cc：移動したメッセージのJMSMessageIDヘッダ値
dd....dd：移動したメッセージのJMSCorrelationIDヘッダ値
ee....ee：移動したメッセージの配送回数

説明

配送回数の最大値に達したメッセージをデッドメッセージキューに移動しました。

KFRM13027-I（C／O）

The accumulating messages were moved to the dead message queue because the valid period for transmission-level messages had expired or because a group was closed. Queue name=aa....aa, Dead message ID=bb....bb, JMSMessageID=cc....cc, JMSCorrelationID=dd....dd, Transmission group ID=ee....ee, Transmission sequence number=ff....ff

aa....aa：配信予定だったキュー名
bb....bb：移動したメッセージのデッドメッセージID（JMS_HITACHI_DeadMessageIDプロパティ値）
cc....cc：移動したメッセージのJMSMessageIDヘッダ値
dd....dd：移動したメッセージのJMSCorrelationIDヘッダ値
ee....ee：移動したメッセージのグループID
ff....ff：移動したメッセージのグループ内シーケンス番号

説明

滞留しているメッセージが通信層のメッセージ有効期限を超過した，またはグループが閉鎖したため，デッドメッセージキューに移動しました。

対処

送信側システムがダウンしていないか，または通信路で障害が発生していないかを確認してください。

KFRM13028-W（C／O）

The accumulating messages for which the valid period for transmission-level messages had expired or for which a group was closed could not be moved to the dead message queue because an exception occurred. Queue name=aa....aa, JMSMessageID=bb....bb, JMSCorrelationID=cc....cc, Transmission group ID=dd....dd, Transmission sequence number=ee....ee, Exception=ff....ff

aa....aa：配信予定だったキュー名
bb....bb：メッセージのJMSMessageIDヘッダ値
cc....cc：メッセージのJMSCorrelationIDヘッダ値
dd....dd：メッセージの通信層でのグループID
ee....ee：メッセージの通信層でのグループ内シーケンス番号
ff....ff：発生した例外

説明

例外が発生したため，通信層のメッセージ有効期限に達したまたはグループが閉鎖された滞留メッセージを，デッドメッセージキューに移動できませんでした。Cosminexus RMは処理を続行します。

対処

メッセージログファイルを参照して，障害要因を取り除いてください。

KFRM13029-I（C／O）

A message exceeding the maximum number of delivery attempts was deleted. Queue name=aa....aa, JMSMessage ID=bb....bb, JMSCorrelation ID=cc....cc, Number of deliveries=dd....dd

aa....aa：削除元のキュー名称
bb....bb：削除したメッセージのJMSMessageIDヘッダ値
cc....cc：削除したメッセージのJMSCorrelationIDヘッダ値
dd....dd：削除したメッセージの配送回数

説明

配送回数の最大値に達したメッセージを削除しました。

KFRM14000-E（C／O）

An error occurred during queue access. Queue name=aa....aa, Error information=bb....bb

aa....aa：キュー名
bb....bb：DB Connectorのエラー情報

説明

キューアクセス時にエラーが発生しました。

使用中のコネクションを切断し，JMSExceptionを発生します。またはコマンド処理を中断します。

対処

DB Connectorのエラー情報を参照してエラーの要因を調査し，対策してください。ただし，このメッセージのあとにKFRM16010-Iメッセージが出力されている場合，対処は不要です。また，DBを再起動した場合，メッセージの削除処理の延長でこのメッセージが出力されることがあります。その場合は対処する必要はありません。

エラーの要因が運用上の問題でない場合は，メッセージログとトレースを採取し，保守員に連絡してください。

KFRM14001-E（C／O）

An error occurred during database access. Error information=aa....aa

aa....aa：DB Connectorのエラー情報

説明

DBアクセス時にエラーが発生しました。

使用中のコネクションを切断し，JMSExceptionを発生します。またはコマンド処理を中断します。

対処

DB Connectorのエラー情報を参照してエラーの要因を調査し，対策してください。

エラーの要因が運用上の問題でない場合は，メッセージログとトレースを採取し，保守員に連絡してください。

KFRM14002-E（C／O）

An error occurred in transaction control for a database. Transaction control type=aa....aa, Error information=bb....bb

aa....aa：トランザクション制御種別（begin，commitまたはrollback）
bb....bb：DB Connectorのエラー情報

説明

DBへのトランザクション制御でエラーが発生しました。

使用中のコネクションを切断し，JMSExceptionを発生します。またはコマンド処理を中断します。

対処

DB Connectorのエラー情報を参照してエラーの要因を調査し，対策してください。ただし，このメッセージのあとにKFRM16010-Iメッセージが出力されている場合，対処は不要です。また，DBを再起動した場合，メッセージの削除処理の延長でこのメッセージが出力されることがあります。その場合は対処する必要はありません。

エラーの要因が運用上の問題でない場合は，メッセージログとトレースを採取し，保守員に連絡してください。

KFRM14003-E（C／O）

An attempt to acquire a connection to the database has failed. Error information=aa....aa

aa....aa：DB Connectorのエラー情報

説明

DBへのコネクションの取得に失敗しました。

DBへのコネクション取得処理を中断し，JMSExceptionを発生します。Cosminexus RMの開始処理の場合，開始処理を中断します。またはコマンド処理を中断します。

対処

DB ConnectorおよびDBの指定値に誤りがあることが考えられます。DB Connectorのエラー情報を参照してエラーの要因を調査し，対策してください。

エラーの要因が運用上の問題でない場合は，メッセージログとトレースを採取し，保守員に連絡してください。

KFRM14004-E（C／O）

An attempt to release the connection to the database has failed. Error information=aa....aa

aa....aa：DB Connectorのエラー情報

説明

DBへのコネクションの解放に失敗しました。処理を続行します。

対処

次に示す内容を確認してください。

DB Connectorのエラー情報を参照してエラーの要因を調査し，対策してください。エラーの要因が運用上の問題でない場合は，メッセージログとトレースを採取し，保守員に連絡してください。

Cosminexus RMが起動中にDBを再起動するとこのメッセージが出力されます。その場合，このメッセージは無視してください。

KFRM14005-E（C／O）

The configuration property value is invalid. Configuration property name=aa....aa, Configuration property value=bb....bb, Error information=cc....cc

aa....aa：コンフィグレーションプロパティ名
bb....bb：コンフィグレーションプロパティ指定値
cc....cc：DB Connectorのエラー情報

説明

コンフィグレーションプロパティの指定値が不正です。

Cosminexus RMの開始処理を中断します。

対処

コンフィグレーションプロパティ名称が表示されている場合はコンフィグレーションプロパティの指定値を見直してください。該当しないコンフィグレーションプロパティ名称が表示されている場合はメッセージログとトレースを採取し，保守員に連絡してください。

KFRM14008-E（C／O）

The shared queue changed to a blocked state, because the table management information of the shared queue was invalid. Queue name=aa....aa, Write number=bb....bb, Lap counter of the write number=cc....cc, Maximum value of the write number=dd....dd, Read number=ee....ee, Lap counter of the read number=ff....ff

aa....aa：キュー名
bb....bb：ライト通番
cc....cc：ライト通番のラップカウンタ
dd....dd：ライト通番の最大値
ee....ee：リード通番
ff....ff：リード通番のラップカウンタ

説明

共用キューのテーブル管理情報が不正なため，共用キューを閉塞状態にしました。キューを閉塞後，JMSExceptionを発生します。またはコマンド処理を中断します。

対処

キューを再度作成してください。また，このメッセージが頻繁に出力される場合はメッセージログとトレースを採取し，保守員に連絡してください。

KFRM14009-E（C／O）

An attempt to register a message failed because the size of the message exceeded the maximum length of messages that can be registered in the queue. Queue name=aa....aa

aa....aa：キュー名

説明

登録しようとしたメッセージのサイズがキューに登録できるメッセージ長を超えたため，メッセージの登録に失敗しました。JMSExceptionを発生します。

対処

登録先のキューがローカルキューの場合，メッセージのペイロード，プロパティおよびヘッダの指定値を見直し，メッセージのサイズを小さくしてください。送信用共用キューの場合は，メッセージのペイロードのサイズを小さくするか，共用キューを使用する場合の登録先キューとなる受信用共用キューの最大メッセージ長を増やしてください。

KFRM14010-E（C／O）

The table remained incorrect because an attempt to perform deletion of the table failed. Queue name=aa....aa, Table name=bb....bb, Error information=cc....cc

aa....aa：キュー名
bb....bb：テーブル名称
cc....cc：DB Connectorのエラー情報

説明

テーブルの削除または起動処理に失敗したため，テーブルが不正に残りました。コマンド処理を中断または起動処理を続行します。

対処

DB Connectorのエラー情報を参照してエラーの要因を調査し，対策してください。障害を取り除いたあと，テーブル名称で示されるテーブルを手動で削除してください。なお，削除対象のキューが受信用共用キューの場合，複数のテーブル名称が表示されることがありますが，表示されるすべてのテーブルがDB上に残っているとはかぎりません。

テーブルを削除するには，次に示すSQL文を実行します。

DROP TABLE <テーブル名称>;

KFRM14012-W（C／O）

Close processing has failed. Java class name=aa....aa

aa....aa：Javaのクラス名

説明

クローズ処理に失敗しました。処理を続行します。

対処

オブジェクトが不正に残る場合があります。必要に応じてCosminexus RMを再度開始してください。また，このメッセージが頻繁に出力される場合はメッセージログとトレースを採取し，保守員に連絡してください。

KFRM14013-E（C／O）

Queue and FIFO information remained incorrect because an attempt to perform post-processing after the error occurred failed. Queue name=aa....aa, FIFO ID=bb....bb, Error information=cc....cc

aa....aa：キュー名
bb....bb：FIFO ID
cc....cc：DB Connectorのエラー情報

説明

障害後の後処理に失敗したため，キュー情報およびFIFO情報が不正に残りました。コマンド処理を中断します。

対処

DB Connectorのエラー情報を参照してエラーとなった原因を調査し，対策してください。障害を取り除いたあと次に示す処理を実行し，必要に応じてキューを再度作成してください。

キュー情報とFIFOの情報がキュー情報テーブルおよびFIFO情報テーブルに残っているため，キュー名とFIFO IDで示される値をキーに，各情報をテーブルから削除する必要があります。

キュー情報を削除するには，次に示すSQL文を実行します。

DELETE FROM <RMSystemNameプロパティ指定値>_QUEUEINFORMATION
WHERE QUEUE_NAME='<キュー名>';
COMMIT;

FIFO情報を削除するには，次に示すSQL文を実行します。

DELETE FROM <RMSystemNameプロパティ指定値>_FIFOINFORMATION
WHERE QUEUE_NAME='<キュー名>';
COMMIT;

KFRM14014-E（C／O）

Share queues cannot be created in Oracle.

説明

共用キューをOracleに作成できません。コマンド処理を中断します。

対処

接続先のDBをHiRDBに変更し，必要に応じてコマンドを再度実行してください。

KFRM14015-E（C／O）

An attempt to register a message failed because queue capacity or the number of messages exceeded the maximum. Queue name=aa....aa

aa....aa：キュー名

説明

キューの容量やメッセージ数の上限値を超過したため，メッセージの登録に失敗しました。

JMSExceptionを発生します。

対処

キューの最大メッセージ数を増やすか，またはhrmdelmsgコマンドを使用してメッセージを削除してください。

KFRM14016-E（C／O）

An attempt to read a message failed because the end of the stream was unexpectedly reached while reading the message. Queue name=aa....aa

aa....aa：キュー名

説明

メッセージ読み取り中に予期しないストリームの終端に達したため，メッセージの読み取りに失敗しました。

JMSExceptionを発生します。

対処

DABroker対応のDB Connector for Cosminexus RMを使用している場合は，DABroker Libraryの環境設定の［リモートアクセス設定］タブで［BLOB/LONG/CLOB型データ受取バッファサイズ］に適切な値を設定してください。そのあと，必要に応じてJ2EEサーバを再度開始してください。HiRDB Type4 JDBCドライバ対応のDB Connector for Cosminexus RMを使用している場合は，DB Connector for Cosminexus RMのmaxBinarySizeプロパティに適切な値を設定してください。そのあと，Cosminexus RMとDB Connector for Cosminexus RMを再度開始してください。バッファサイズの見積もりについては「6.3(1)　Cosminexus DABroker Libraryを使用してOracleまたはHiRDBに接続する場合」を参照してください。を参照してください。解決されない場合はメッセージログとトレースを採取し，保守員に連絡してください。

KFRM14017-E（C／O）

System management information has not been registered.

説明

システム管理情報が登録されていません。Cosminexus RMの開始処理を続行します。

対処

SQLファイルの実行が失敗していないかどうかを確認してください。失敗していた場合は，障害を取り除いたあと必要に応じてSQLファイルを再度実行してください。

KFRM14018-E（C／O）

Authentication Information is not set.

説明

認証情報が登録されていません。

対処

認証情報が登録されているか確認してください。

KFRM14019-E（C／O）

An error occurred during creating queue. Queue name=aa....aa, Table name=bb....bb, Error information=cc....cc

aa....aa：キュー名
bb....bb：テーブル名称
cc....cc：DB Connectorのエラー情報

説明

キュー作成時にエラーが発生しました。コマンド処理を中断します。

対処

DBアクセスに失敗したか，テーブルが不正に残っている可能性があります。DB Connectorのエラー情報を参照してエラーの要因を調査し，対策してください。障害を取り除いたあと，テーブル名称で示されるテーブルを手動で削除してください。なお，対象のキューが受信用共用キューの場合，複数のテーブル名称が表示されることがありますが，表示されるすべてのテーブルがDB上に残っているとはかぎりません。

テーブルを削除するには，次に示すSQL文を実行します。

DROP TABLE <テーブル名称>;

KFRM14020-E（C／O）

The shared queue used for sending was blocked because the destination queue had been deleted. Queue name=aa....aa, Destination table name=bb....bb

aa....aa：閉塞したキュー名
bb....bb：閉塞したキューの書き込み先のテーブル名称

説明

送信先のキューが削除されていたため，送信用共用キューを閉塞しました。

対処

閉塞した送信用共用キューは利用することができないので，キューの削除コマンドで削除してください。

KFRM14021-E（C／O）

An error occurred during database access. Table name=aa....aa, Error information=bb....bb

aa....aa：アクセスしようとしたテーブル名称
bb....bb：DB Connectorのエラー情報

説明

DBアクセス時にエラーが発生しました。開始処理で発生した場合，Cosminexus RMの処理を続行します。または，コマンド処理を中断します。

対処

DB Connectorのエラー情報を参照してエラーの要因を調査し，対策してください。

KFRM14022-E（C／O）

An attempt to read a group information failed because the end of the stream was unexpectedly reached while reading the group information.

説明

グループ情報の読み込み中に予期しないストリームの終端に達したため，グループ情報の読み込みに失敗しました。

対処

DABroker対応のDB Connector for Cosminexus RMを使用している場合は，DABroker Libraryの環境設定の［リモートアクセス設定］タブで［BLOB/LONG/CLOB型データ受取バッファサイズ］の値を増やしてください。そのあと，J2EEサーバを再度開始してください。HiRDB Type4 JDBCドライバ対応のDB Connector for Cosminexus RMを使用している場合は，DB Connector for Cosminexus RMのmaxBinarySizeプロパティの値を増やしてください。そのあと，Cosminexus RMとDB Connectorを再度開始してください。バッファサイズの見積もりについては「6.3(1)　Cosminexus DABroker Libraryを使用してOracleまたはHiRDBに接続する場合」を参照してください。解決されない場合はメッセージログとトレースを採取し，保守員に連絡してください。

KFRM15000-E（C／O）

An internal error occurred. Thread pool identifier=aa....aa, Maintenance information=bb....bb

aa....aa：スレッドプール識別子
bb....bb：保守情報

説明

内部エラーが発生しました。

スレッドプール識別子がMDBの場合，Message-driven Beanの監視スレッドが一つ減ります。

スレッドプール識別子がTRSの場合，キュー間転送の送信スレッドが一つ減ります。

対処

メッセージログとトレースを採取し，保守員に連絡してください。

KFRM16000-E（C／O）

An attempt to initialize a system-related linkage function that is using a shared queue has failed.

説明

共用キューを使用して複数システム間でのアプリケーション連携をする機能の初期化に失敗しました。RMSHPortプロパティに指定したポート番号がすでに使用されている可能性があります。Cosminexus RMの開始処理を中断します。

対処

メッセージログファイルを参照し，直前のメッセージから障害要因を特定してください。

障害要因を対処したあと，Cosminexus RMを再度開始してください。

KFRM16001-E（C／O）

Event transmission was ignored because an invalid of event data was detected transmitted from the system, which is using a system-related linkage function that is using a shared queue. aa....aa=bb....bb, IP address=cc....cc, Port number=dd....dd

aa....aa：要素
bb....bb：指定値
cc....cc：イベント送信元IPアドレス
dd....dd：イベント送信元ポート番号

説明

共用キューを使用して複数システム間でのアプリケーション連携をする機能で，イベント送信元システムから送信されたイベントデータの不正を検知しため，イベント通知を無視しました。

処理を続行します。

対処

メッセージログを参照し，障害要因を取り除いてください。障害となった要因が運用上の問題でない場合は，相手システムと自システムのメッセージログとトレースを採取し，保守員に連絡してください。

KFRM16002-E（C／O）

Event transmission or recovery was ignored because the queue is in a blocked state. Queue name=aa....aa

aa....aa：キュー名

説明

キューが閉塞状態のため，イベント通知またはリカバリを無視しました。

処理を続行します。

対処

メッセージログファイルを参照し，以前のメッセージからキューが閉塞した要因を特定してください。

障害要因を対処したあと，キューを再作成してください。

KFRM16003-W（C／O）

An attempt to connect to the system to transmit events has failed. Host name or IP address=aa....aa, Port number=bb....bb, Queue name=cc....cc

aa....aa：イベント送信先ホスト名またはIPアドレス
bb....bb：イベント送信先ポート番号
cc....cc：キュー名

説明

イベント通知を送信するための接続先システムとの接続に失敗しました。

処理を続行します。

対処

次に示す内容を確認してください。

送信用共用キューの「共用キューを使用する場合のイベント送信先ホスト名」および「共用キューを使用する場合のイベント送信先ポート番号」の指定値が正しく定義されていること。

接続先システムが正常に開始していること。

接続先システムで，共用キューを使用して複数システム間でのアプリケーション連携をする機能が利用できるようになっていること。

KFRM16005-E（C／O）

Event transmission was ignored because the system name of the specified queue name is invalid. Queue name=aa....aa, IP address=bb....bb, Port number=cc....cc

aa....aa：キュー名
bb....bb：イベント送信元IPアドレス
cc....cc：イベント送信元ポート番号

説明

指定したキューのシステム名が不正なため，イベント通知を無視しました。

処理を続行します。

対処

送信用共用キューに指定した，共用キューを使用する場合の登録先キューのシステム名を見直してください。または，イベント送信先IPアドレスおよびイベント送信先ポート番号を見直してください。

KFRM16006-E（C／O）

Event transmission was ignored because the queue with the specified queue name does not exist. Queue name=aa....aa

aa....aa：キュー名

説明

指定したキュー名のキューはないため，イベント通知を無視しました。

処理を続行します。

対処

送信用共用キューに指定した「共用キューを使用する場合の登録先キュー名」を見直してください。

KFRM16008-E（C／O）

The port number for event receiving is already used. Port number=aa....aa

aa....aa：イベント受信用のポート番号

説明

イベント受信用のポート番号は，すでに使用されています。

開始処理を中断します。

対処

ほかのプログラムで使用していないポート番号に変更したあと，再度システムを開始してください。

KFRM16009-I（C／O）

An attempt to acquire a connection to the database is performed because a connection error was detected.

説明

コネクション障害を検知したため，DBへのコネクション取得をリトライします。

処理を続行します。

KFRM16010-I（C／O）

An attempt to acquire a connection to the database was successful.

説明

DBへのコネクション取得のリトライに成功しました。

処理を続行します。

KFRM16011-E（C／O）

An attempt to acquire a connection to the database has failed.

説明

DBへのコネクション取得をリトライしましたが，失敗しました。

処理を続行します。

対処

メッセージログファイルを参照し，その直前のメッセージから障害要因を特定してください。

KFRM16012-E（C／O）

The property of RMSHConnectFlag is illegal with the combination of types of connected DB. Type of connected DB= aa....aa.

aa....aa：接続するDBの種別

説明

RMSHConnectFlagプロパティの値がtrueの状態で，HiRDB以外のDB種別と接続しようとしました。

処理を中断します。

対処

HiRDB以外のDBに接続する場合は，RMSHConnectFlagプロパティにfalseを指定して，Cosminexus RMを再度開始してください。

KFRM16013-E（C／O）

Process was aborted or ignored because the queue was not found. Queue name=aa....aa

aa....aa：キュー名

説明

キューが存在しないため，処理を中断または無視しました。

対処

処理の途中でキューが削除されました。別のキューを指定するか，またはキューを作成し直してください。

KFRM16014-E（C／O）

An attempt to bind the socket used for event reception has failed. IP address=aa....aa, Port number=bb....bb

aa....aa：バインドしようとしたIPアドレス
bb....bb：バインドしようとしたポート番号

説明

イベント受信用のソケットのバインドに失敗しました。Cosminexus RMの開始処理を中断します。

対処

RMSHPortプロパティで指定したポート番号が，すでに利用されていないか確認してください。

KFRM17000-E（C／O）

The queue make file is invalid.File = aa....aa

aa....aa：ファイル名（フルパス）

説明

初期処理失敗，またはキュー定義文の構文不正です。Cosminexus RMは閉塞状態になります。

対処

メッセージログファイルを参照して，その直前のメッセージの対処方法に従って障害要因を取り除いてください。

KFRM17001-E（C／O）

The queue make file cannot be accessed.

説明

キュー作成ファイルの読み込み権限がありません。Cosminexus RMは閉塞状態になります。

対処

キュー作成ファイルに読み込み権限があるか確認してください。

KFRM17002-E（C／O）

There is no queue make file in the specified path.

説明

指定されたパスにキュー作成ファイルがありません。Cosminexus RMは閉塞状態になります。

対処

指定したパスにファイルがあるか，または指定したファイルにアクセス権限があるか確認してください。

KFRM17003-E（C／O）

A memory shortage occurred while loading the file.

説明

キュー作成ファイルの読み込みでメモリ不足が発生しました。Cosminexus RMは閉塞状態になります。

対処

メモリ量がjavaVMのヒープ領域に確保できることを確認してください。

KFRM17004-E（C／O）

There is an invalid definition statement. Line = aa....aa

aa....aa：行番号

説明

キュー作成ファイルで不正な定義文があります。Cosminexus RMは閉塞状態になります。

対処

指定された行番号の定義文を見直してください。

KFRM17005-E（C／O）

There is no semi-colon for the hrmmkque definition statement. Line = aa....aa

aa....aa：hrmmkqueが指定された行番号

説明

キュー作成ファイルに記述されたキュー定義文が不正です。

hrmmkqueに対応するセミコロン（;）がありません。Cosminexus RMは閉塞状態になります。

対処

hrmmkqueに対応するセミコロン（;）を指定してください。

KFRM17006-E（C／O）

There is no valid queue definition statement.

説明

キュー作成ファイルに有効なキュー定義文がありません。Cosminexus RMは閉塞状態になります。

対処

キュー作成ファイルに，有効なキュー定義文を一つ以上指定してください。

KFRM17007-W（C／O）

In the queue make file, a specified queue definition statement contains an invalid option flag. Line = aa....aa

aa....aa：キュー定義文の先頭行番号

説明

キュー作成ファイルに記述されたキュー定義文が不正です。

オプションフラグが不正です。この定義文を無視して，処理を続行します。

対処

指定したオプションフラグを見直してください。

KFRM17008-W（C／O）

In the queue make file, a specified queue definition statement contains an invalid flag argument value. Line = aa....aa

aa....aa：キュー定義文の先頭行番号

説明

キュー作成ファイルに記述されたキュー定義文が不正です。

フラグ引数の値が不正です。この定義文を無視して，処理を続行します。

対処

指定したフラグ引数の値を見直してください。

オプションフラグごとに，指定できるフラグ引数の値を次の表に示します。

項番 | オプションフラグ | 指定できるフラグ引数
1 | d | 「serial」または「parallel」
2 | e | 0～2592000の範囲の数字
3 | n | 1～65535の範囲の数字
4 | x | 1～64文字の英数字と_（アンダースコア）

KFRM17009-W（C／O）

In the queue make file, a specified queue definition statement contains a queue name that has an invalid character. Line = aa....aa

aa....aa：キュー定義文の先頭行番号

説明

キュー作成ファイルに記述されたキュー定義文が不正です。

キュー名称に不正な文字が含まれています。この定義文を無視して，処理を続行します。

対処

指定したキュー名称に識別子でない文字を使用していないか見直してください。

KFRM17010-W（C／O）

In the queue make file, a specified queue definition statement contains a queue name that exceeds the maximum length of 20 characters. Line = aa....aa

aa....aa：キュー定義文の先頭行番号

説明

キュー作成ファイルに記述されたキュー定義文が不正です。

キュー名称が20文字を超えています。この定義文を無視して，処理を続行します。

対処

キュー名称には1～20文字の識別子を指定してください。

KFRM17011-W（C／O）

In the queue make file, a specified queue definition statement contains an invalid number (none, or 2 or more) of queue names. Line = aa....aa

aa....aa：キュー定義文の先頭行番号

説明

キュー作成ファイルに記述されたキュー定義文が不正です。

キュー名称が指定されていない，または二つ以上指定されています。この定義文を無視して，処理を続行します。

対処

キュー名称を一つだけ指定してください。不要なキュー名称は削除してください。

KFRM17012-W（C／O）

In the queue make file, a specified queue definition statement contains a queue name that already exists. Line = aa....aa

aa....aa：キュー定義文の先頭行番号

説明

キュー作成ファイルに記述されたキュー定義文が不正です。

指定したキュー名称はすでに存在しています。この定義文を無視して，処理を続行します。

対処

キュー名称を見直してください。

KFRM17013-E（C／O）

IOException occurred when the queue make file is accessing. ClassName#MethodName = aa....aa, Maintenance information = bb....bb

aa....aa：クラス名#メソッド名
bb....bb：保守情報

説明

例外が発生したため，キュー作成ファイルの読み込みに失敗しました。Cosminexus RMは閉塞状態になります。

対処

キュー作成ファイルの状態を確認してください。キュー作成ファイルに異常がない場合は，メッセージログとトレースを採取し，保守員に連絡してください。

KFRM17014-W（C／O）

In the queue make file, a specified queue definition statement contains a display name that already exists. Line=aa....aa, Display name=bb....bb, Name of queue that caused duplication of the display name=cc....cc

aa....aa：キュー定義文の先頭行番号
bb....bb：重複した表示名
cc....cc：表示名と重複したキュー名称

説明

キュー作成ファイルに記述されたキュー定義文が不正です。

指定した表示名はすでに存在しています。この定義文を無視して，処理を続行します。

対処

指定した表示名を見直してください。

なお，表示名を指定していなくても，指定したキュー名が定義済みのキューの表示名に重複する場合，このメッセージが出力されます。この場合は，キュー名も見直してください。

KFRM20000-E（U）

The number of characters in the specified queue name exceeded the maximum (20 characters).

説明

指定したキュー名の文字数が，上限の20文字を超えています。

対処

指定したキュー名を見直し，コマンドを再度実行してください。

KFRM20001-E（U）

The specified queue name contains an invalid character.

説明

指定したキュー名に不正な文字が含まれています。

対処

指定したキュー名に識別子でない文字を使用していないか見直し，コマンドを再度実行してください。

KFRM20002-E（U）

The specified queue name already exists. Queue name=aa....aa

aa....aa：キュー名

説明

指定したキュー名はすでにあります。

対処

指定したキュー名を見直し，コマンドを再度実行してください。

KFRM20003-E（U）

A queue with the specified queue name does not exist. Queue name=aa....aa

aa....aa：キュー名

説明

指定したキュー名のキューはありません。

対処

指定したキュー名を見直し，コマンドを再度実行してください。

KFRM20004-E（U）

A message with the specified message number does not exist. Message number=aa....aa

aa....aa：メッセージ通番

説明

指定したメッセージ通番のメッセージはありません。

対処

指定したメッセージ通番を見直し，コマンドを再度実行してください。

KFRM20005-E（U）

A timeout request occurred in the command.

説明

コマンドでリクエストタイムアウトが発生しました。

対処

コマンドのバッチファイル（Windowsの場合）またはシェルスクリプト（UNIXの場合）内のリクエストタイムアウト値を見直し，コマンドを再度実行してください。

KFRM20006-E（U）

The system status is invalid. uCosminexus Reliable Messaging system status=aa....aa

aa....aa：Cosminexus RMのシステム状態

説明

システム状態が不正です。

対処

発行したコマンドを実行できる状態であるかシステムの状態を確認し，必要に応じてシステムの状態を変更したあと，コマンドを再度実行してください。

KFRM20007-E（U）

The command cannot execute because the specified queue is in a blocked state.

説明

指定したキューは閉塞状態であるため，コマンドを実行できません。

対処

キュー状態を正常にし，コマンドを再度実行してください。

KFRM20008-E（U）

A message in the shared queue used for sending cannot be deleted.

説明

送信用共用キューのメッセージは削除できません。

対処

相手システム上でメッセージを削除してください。

KFRM20009-E（U）

The attributes of the queue cannot be updated or deleted because a message has been registered in the specified queue.

説明

指定したキューにはメッセージが登録されているため，キューの属性変更および削除はできません。

対処

必要に応じてキューのメッセージを削除したあと，コマンドを再度実行してください。hrmdelqueコマンドの場合は強制オプション（-fオプション）を利用できます。

KFRM20010-E（U）

The value specified for the command option is invalid. Invalid cause=aa....aa

aa....aa：不正原因

説明

コマンドオプションに指定した値が不正です。

対処

コマンドオプションに指定した値を見直し，コマンドを再度実行してください。

KFRM20011-E（U）

The command syntax is invalid.

説明

コマンドの形式が不正です。

対処

コマンドの形式を確認し，コマンドを再度実行してください。

KFRM20012-E（U）

The command has failed.

説明

コマンドが失敗しました。

対処

メッセージログファイルを参照し，障害要因を表すメッセージを特定したあと，そのメッセージの対処方法に従ってください。障害要因を取り除いたあと，コマンドを再度実行してください。

なお，Cosminexus RM停止処理中にコマンドを実行すると，このメッセージが出力されることがあります。この場合，Cosminexus RMを起動したあと，コマンドを再度実行してください。

KFRM20014-I（T）

Usage: hrmdelque [-f] [-S system-name] queue-name

説明

キューの削除コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20016-I（T）

Usage: hrmlsque {-n | -q queue-name} [-S system-name]

説明

キュー情報の表示コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20017-I（T）

Usage: hrmlsmsg -n message-number [-e output-message-number] [-o output-message-byte] [-S system-name] queue-name

説明

メッセージの表示コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20018-I（T）

Usage: hrmdelmsg {-a | -n message-number} [-f] [-S system-name] queue-name

説明

メッセージの削除コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20019-I（T）

Usage: hrmstart [-S system-name]

説明

実行開始コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20020-I（T）

Usage: hrmstop [-S system-name]

説明

実行終了コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20021-I（T）

Usage: hrmlsstat [-S system-name]

説明

システム状態の表示コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20022-I（T）

Usage: hrmlstrn [-S system-name]

説明

トランザクション状態の表示コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20024-I（T）

The uCosminexus Reliable Messaging command ended normally.

説明

Cosminexus RMのコマンドが正常に終了しました。

KFRM20025-I（C／O）

The queue was created. Queue name=aa....aa

aa....aa：キュー名

説明

キューを作成しました。

KFRM20026-I（C／O）

The queue was deleted. Queue name=aa....aa

aa....aa：キュー名

説明

キューを削除しました。

KFRM20027-I（C／O）

The message was deleted. Queue name=aa....aa, Message number=bb....bb

aa....aa：キュー名
bb....bb：メッセージ通番，または"ALL"

説明

メッセージを削除しました。

KFRM20028-E（U）

Initialization processing of the command has failed.

説明

コマンドの初期化処理に失敗しました。

対処

次に示す項目を確認し，コマンドを再度実行してください。

ネーミングサービスが正常に起動していること。

指定したシステム名のCosminexus RMが正常に開始していること。

HRM_CMD_PORT環境変数が正しく定義されていること。

KFRM20029-E（U）

A message in the shared queue used for sending cannot be read.

説明

送信用共用キューのメッセージは参照できません。

対処

送信用共用キューで定義されている「共用キューを使用する場合の登録先キュー名」を相手システム上で確認してください。

KFRM20030-E（U）

A message in the shared queue cannot be read because the system-related linkage function that is using the shared queue is invalid.

説明

共用キューを使用して複数システム間でのアプリケーション連携をする機能が無効となっているため，共用キューのメッセージを参照できません。

対処

RMSHConnectFlagプロパティにtrueを指定し，Cosminexus RMを再度開始したあとでコマンドを再度実行してください。

KFRM20031-I（C／O）

The state of uCosminexus Reliable Messaging has changed. System state of uCosminexus Reliable Messaging=aa....aa

aa....aa：Cosminexus RMのシステム状態

説明

Cosminexus RMのシステム状態を変更しました。

KFRM20032-E（U）

The HRMDIR environment variable has not been defined.

説明

HRMDIR環境変数は定義されていません。

対処

HRMDIR環境変数を定義したあとでコマンドを再度実行してください。

KFRM20033-E（U）

A message in the shared queue cannot be deleted because the system-related linkage function that is using the shared queue is invalid.

説明

共用キューを使用して複数システム間でのアプリケーション連携をする機能が無効となっているため，共用キューのメッセージを削除できません。

対処

RMSHConnectFlagプロパティにtrueを指定し，Cosminexus RMを再度開始したあとで，コマンドを再度実行してください。

KFRM20034-E（U）

A message cannot be deleted because it is being delivered.

説明

メッセージが配送中のため削除できません。

対処

必要に応じてhrmstopコマンドでシステムを管理状態にしたあと，コマンドを再度実行してください。

KFRM20035-E（U）

The queue is in a state where its configuration cannot be changed.

説明

キューの構成を変更できない状態です。

対処

システム状態が実行状態の場合はhrmstopコマンドでシステムを管理状態にし，Cosminexus RMを再開始後，コマンドを再度実行してください。

システム状態が管理状態の場合はCosminexus RMを再開始後，コマンドを再度実行してください。

KFRM20036-E（U）

An address with the specified address name does not exist. Address name=aa....aa

aa....aa：あて先名

説明

指定したあて先名のあて先は存在しません。

対処

指定したあて先名を見直し，コマンドを再度実行してください。

KFRM20037-E（U）

A transferring between queues cannot be used because its function is disabled.

説明

キュー間転送機能が無効となっていて，使用できない状態です。

対処

RMTRConnectFlagプロパティにtrueを指定し，Cosminexus RMを再起動したあとで再度コマンドを実行してください。

KFRM20038-E（U）

The specified address name already exists. Address name=aa....aa

aa....aa：あて先名

説明

指定したあて先名はすでに存在しています。

対処

指定したあて先名を見直し，コマンドを再度実行してください。

KFRM20039-E（U）

The specified address cannot be deleted because it is being referenced in the queue. Address name=aa....aa

aa....aa：あて先名

説明

指定したあて先はキューで参照しているため削除できません。

対処

指定したあて先名を見直してください。

KFRM20040-E（U）

An attribute of an address or queue cannot be changed because messages are being transmitted.

説明

メッセージが転送中であるため，あて先またはキューの属性を変更できません。

対処

hrmdelmsg（メッセージの削除）コマンドを実行してから，コマンドを再度実行してください。

KFRM20041-E（U）

The type of the specified queue is invalid.

説明

指定したキューの種別が不正です。

対処

正しいキュー種別のキューを指定して，コマンドを再度実行してください。

KFRM20042-E（U）

A group with the specified transmission group ID does not exist. Transmission group ID=aa....aa

aa....aa：通信層グループID

説明

指定した通信層グループIDのグループは存在しません。

対処

指定したグループを見直し，コマンドを再度実行してください。

KFRM20043-E（U）

The specified group cannot be used and referred because it is disabled.

説明

指定したグループは無効な状態なので，グループの参照や使用はできません。

対処

状態が有効であるグループを指定して，再度コマンドを実行してください。

KFRM20044-E（U）

The QoS of the specified group is invalid.

説明

指定したグループのQoS（通信品質）が不正です。

対処

指定したグループのQoSを見直してください。

KFRM20045-E（U）

The type of the specified group is invalid. Transmission group ID= aa....aa

aa....aa：通信層グループID

説明

指定したグループの種別が不正です。

対処

指定したグループを見直してください。

KFRM20046-E（U）

The transmission sequence number of the specified message is invalid. Transmission sequence number=aa....aa

aa....aa：通信層グループ内シーケンス番号

説明

指定したメッセージの通信層シーケンス番号が不正です。

対処

指定した通信層シーケンス番号を見直してください。

KFRM20047-I（C／O）

The address was registered. Address name=aa....aa

aa....aa：あて先名

説明

あて先を登録しました。

KFRM20048-I（C／O）

The address was deleted. Address name=aa....aa

aa....aa：あて先名

説明

あて先を削除しました。

KFRM20049-I（C／O）

The message was skipped. Queue name=aa....aa, Transmission sequence number=bb....bb

aa....aa：キュー名
bb....bb：通信層グループ内シーケンス番号

説明

メッセージをスキップしました。

KFRM20050-I（T）

Usage: hrmmkaddr -u url [-i user-id -p password] [-S system-name] address-name

説明

hrmmkaddr（あて先登録）コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20051-I（T）

Usage: hrmdeladdr [-S system-name] address-name

説明

hrmdeladdr（あて先削除）コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20052-I（T）

Usage: hrmchgaddr [-u url] [-i user-id -p password] [-S system-name] address-name

説明

hrmchgaddr（あて先変更）コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20053-I（T）

Usage: hrmlsaddr {-n｜-a address-name} [-S system-name]

説明

hrmlsaddr（あて先表示）コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20055-I（T）

Usage: hrmstoptrs -y {send｜receive} [-S system-name] queue-name

説明

hrmstoptrs（送受信抑止）コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20056-I（T）

Usage: hrmstarttrs -y {send | receive} [-S system-name] queue-name

説明

hrmstarttrs（送受信抑止解除）コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20057-I（T）

Usage: hrmskipmsg -n transmission-sequence-number -g transmission-group-id [-S system-name] queue-name

説明

hrmskipmsg（受信待ちメッセージスキップ）コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20058-I（T）

Usage: hrmlstrs {-n｜-g transmission-group-id} [-m transmission-group-message-number] [-e output-message-number] [-S system-name] queue-name

説明

hrmlstrs（通信状態表示）コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20059-E（U）

An attempt to delete a queue failed because the queue was monitored by an MDB.

説明

キューを監視しているMessage-driven Beanが存在するため，キューの削除に失敗しました。

対処

削除予定のキューを監視しているMessage-driven Beanを停止させたあと，キューの削除コマンドを再度実行してください。

KFRM20060-E（U）

An attempt to create a queue failed because a queue with the same name as the one specified in RMDeadMessageQueueName cannot be created under the current system status. Queue name=aa....aa

aa....aa：指定したキュー名

説明

管理状態以外のシステム状態で，RMDeadMessageQueueNameプロパティと同じキュー名を指定したため，キューの作成に失敗しました。

対処

必要に応じてhrmstopコマンドでシステムを管理状態にしたあと，コマンドを再度実行してください。

KFRM20061-E（U）

An attempt to create a queue failed because the queue to be created had the same name as a deleted queue but a different queue type. Queue name=aa....aa

aa....aa：指定したキュー名

説明

削除したキューと同じキュー名で，かつ異なる種類のキューを作成しようとしたため，キューの作成に失敗しました。

対処

Cosminexus RMを再起動したあと，コマンドを再度実行してください。

KFRM20062-E（U）

An attempt to create a queue failed because the queue to be created had the same name as a deleted queue but a different queue mode. Queue name=aa....aa

aa....aa=指定したキュー名

説明

削除したキューと同じキュー名で，かつ異なるキューモードのキューを作成しようとしたため，キューの作成に失敗しました。

対処

Cosminexus RMを再起動したあと，コマンドを再度実行してください。

KFRM20063-E（U）

An attempt to create a shared queue used for receiving failed because the queue to be created had the same name as a deleted queue but a different maximum length of messages. Queue name=aa....aa

aa....aa=指定したキュー名

説明

削除したキューと同じキュー名の受信用共用キューを作成する場合，異なる値の最大メッセージ長でキューを作成しようとしたため，キューの作成に失敗しました。

対処

Cosminexus RMを再起動したあと，コマンドを再度実行してください。

KFRM20064-E（U）

An attempt to create a shared queue failed because the version of the shared queue used for receiving is not supported. Queue name=aa....aa

aa....aa：指定したキュー名

説明

受信用共用キューがサポートしていないバージョンであるため，共用キューの作成に失敗しました。

対処

対応する受信用共用キューを適切なバージョンで作成したあと，コマンドを再度実行してください。

KFRM20065-E（U）

An attempt to create a shared queue failed because an error occurred during database access. Queue name=aa....aa

aa....aa：指定したキュー名

説明

DBアクセス時にエラーが発生したため，共用キューの作成に失敗しました。

対処

要因としてDBの停止，対応する受信用共用キューが削除されているなどが考えられます。障害要因を取り除いたあと，コマンドを再度実行してください。

KFRM20066-E（U）

An attempt to delete a queue failed because the queue was not stopped or was not blocked. Queue name=aa....aa

aa....aa：指定したキュー名

説明

キューが抑止されているまたは閉塞状態ではないため，キューの削除に失敗しました。

対処

削除予定のキューをすべての形式で抑止したあと，コマンドを再度実行してください。

KFRM20067-E（U）

An attempt to delete a queue failed because a transaction for the queue was executing. Queue name=aa....aa

aa....aa=指定したキュー名

説明

キューに対するトランザクションが実行状態のため，キューの削除に失敗しました。

対処

削除予定のキューに対するトランザクションの決着を待ち，コマンドを再度実行してください。

KFRM20068-E（U）

An attempt to delete a queue failed because a queue with the same name as the one specified in RMDeadMessageQueueName cannot be deleted under the current system status. Queue name=aa....aa

aa....aa=指定したキュー名

説明

Cosminexus RM起動直後，管理状態以外のシステム状態で，RMDeadMessageQueueNameプロパティと同じキュー名を指定したため，キューの削除に失敗しました。

対処

デッドメッセージキューを削除する場合は，hrmstopコマンドでシステムを管理状態にし，Cosminexus RMを再起動したあと，コマンドを再度実行してください。

KFRM20071-E（U）

An attempt to get queue information failed because an error occurred during database access. Queue name=aa....aa

aa....aa：指定したキュー名

説明

DBアクセス時にエラーが発生したため，キュー情報の参照に失敗しました。

対処

要因としてDBの停止，対応する受信用共用キューが削除されているなどが考えられます。障害要因を取り除いたあと，コマンドを再度実行してください。

KFRM20072-E（U）

An attempt to delete a queue failed because the queue is blocked as the result of an unknown queue type. Queue name=aa....aa

aa....aa：指定したキュー名

説明

キューの種類の値不正によってキューが閉塞状態であるため，キューの削除に失敗しました。

対処

Cosminexus RMを停止したあと，キュー情報テーブルとFIFO情報テーブルから不正な情報が含まれる行を削除してください。不正な情報が含まれる行を削除するには，次に示すSQL文を実行します。なお，メッセージ情報テーブルの削除は，キューの種類ごとに対応したテーブルが存在しているかどうかを確認し，存在している場合は削除してください。また，SQL文を実行する前に，必ずDBのバックアップを取得してください。

(a)　キュー情報テーブル

キュー情報テーブルから不正な情報が含まれる行を削除するには，次に示すSQL文を実行します。

DELETE FROM <RMSystemNameプロパティ指定値>_QUEUEINFORMATION
 WHERE QUEUE_NAME ='<エラーが発生したキュー名>';
COMMIT;

(b)　FIFO情報テーブル

FIFO情報テーブルから不正な情報が含まれる行を削除するには，次に示すSQL文を実行します。

DELETE FROM <RMSystemNameプロパティ指定値>_FIFOINFORMATION
 WHERE QUEUE_NAME ='<エラーが発生したキュー名>';
COMMIT;

(c)　メッセージ情報テーブル

メッセージ情報テーブルを削除するには，キューの種類に応じて次に示すSQL文を実行します。キューの種類によってメッセージ情報テーブル名が定まっています。キューの種類が不明な場合は実際のDBにあるテーブル名と次に示すSQL文のテーブル名（DROP TABLE文のオペランド）を比較して判断してください。

・ローカルキューおよび転送キューの場合

DROP TABLE <RMSystemNameプロパティ指定値>_MSG_<エラーが発生したキュー名>;

・受信用共用キューの場合

DROP TABLE <RMSystemNameプロパティ指定値>_SHR_<エラーが発生したキュー名>MG;
DROP TABLE <RMSystemNameプロパティ指定値>_SHR_<エラーが発生したキュー名>RD;
DROP TABLE <RMSystemNameプロパティ指定値>_SHR_<エラーが発生したキュー名>WT;

・送信用共用キューの場合

削除するメッセージ情報テーブルはありません。

KFRM20074-I（T）

Usage: hrmstopque -y {ap_send | ap_receive | trs_send | trs_receive | ap_all | all} [-S system-name] queue-name

説明

キューの抑止コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20075-I（T）

Usage: hrmstartque -y {ap_send | ap_receive | trs_send | trs_receive | ap_all | all} [-S system-name] queue-name

説明

キューの抑止解除コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20078-I（T）

Usage: hrmlsdmsg {-i dead-message-id | -n message-number [-e output-message-number]} [-o output-message-byte] [-p] [-S system-name]

説明

デッドメッセージの参照コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20079-I（T）

Usage: hrmregdmsg {-i dead-message-id | -q original-queue-name} [-S system-name]

説明

デッドメッセージの再登録コマンドの使用方法を示します。コマンドの形式が誤っている場合に出力します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20080-I（C／O）

The dead message was re-registered in the original queue. Queue name=aa....aa, Dead message ID=bb....bb, JMSMessageID=cc....cc, JMSCorrelationID=dd....dd

aa....aa：移動前のキュー名
bb....bb：再登録したメッセージのデッドメッセージID（JMS_HITACHI_DeadMessageIDプロパティ値）
cc....cc：再登録したメッセージのJMSMessageIDヘッダ値
dd....dd：再登録したメッセージのJMSCorrelationIDヘッダ値

説明

デッドメッセージをデッドメッセージキュー移動前のキューに再登録しました。

KFRM20081-W（C／O）

An attempt to re-register a dead message in the original queue has failed. Queue name=aa....aa, Dead message ID=bb....bb, JMSMessageID=cc....cc, JMSCorrelationID=dd....dd

aa....aa：移動前のキュー名
bb....bb：スキップしたメッセージのデッドメッセージID（JMS_HITACHI_DeadMessageIDプロパティ値）
cc....cc：スキップしたメッセージのJMSMessageIDヘッダ値
dd....dd：スキップしたメッセージのJMSCorrelationIDヘッダ値

説明

デッドメッセージキュー移動前のキューへのデッドメッセージの再登録に失敗しました。以降のメッセージの再登録を続行します。

対処

次の原因が考えられます。障害要因を取り除いてください。

メッセージが配信中または配信済みである

メッセージサイズが移動元キューの最大メッセージ長より大きい

移動元のキューの種類が変更された

なお，共用キューのメッセージをローカルキューに再登録しようとした場合，デッドメッセージの再登録はできません。

KFRM20082-E（U）

The command cannot be executed because the dead message queue is not being used.

説明

デッドメッセージキューを使用していないため，デッドメッセージの参照コマンドまたはデッドメッセージの再登録コマンドは実行できません。

対処

RMDeadMessageQueueNameプロパティを指定していない場合は，RMDeadMessageQueueNameプロパティを指定してください。

RMDeadMessageQueueNameプロパティに指定したローカルキュー名がない場合は，指定したローカルキューを作成してください。そのあと，コマンドを再度実行してください。

KFRM20083-E（U）

No message matches the condition specified in the command option.

説明

コマンドオプションに指定した条件に該当するメッセージがありませんでした。

対処

指定した条件を見直して，コマンドを再度実行してください。

KFRM20084-E（U）

An attempt to re-register a dead message in the original queue failed because the original queue did not exist. Queue name=aa....aa

aa....aa：キュー名

説明

再登録先のキュー（デッドメッセージキュー移動前のキュー）が存在しないため，デッドメッセージの再登録に失敗しました。

対処

再登録先のキューが存在するか確認してください。再登録先のキューが存在する状態で，コマンドを再度実行してください。

KFRM20085-E（U）

An attempt to re-register a dead message in the original queue failed because the original queue was blocked. Queue name=aa....aa

aa....aa：キュー名

説明

再登録先のキュー（デッドメッセージキュー移動前のキュー）が閉塞しているため，デッドメッセージの再登録に失敗しました。

対処

再登録先のキューを正常な状態に戻し，コマンドを再度実行してください。

KFRM20086-E（U）

An attempt to re-register a dead message in the original queue failed because the original queue was stopped. Queue name=aa....aa

aa....aa：キュー名

説明

再登録先のキュー（デッドメッセージキュー移動前のキュー）が登録抑止状態のため，デッドメッセージの再登録に失敗しました。

対処

再登録先のキューの登録抑止を解除して，コマンドを再度実行してください。

KFRM20087-E（U）

An attempt to re-register a dead message in the original queue failed because the information for the original queue and for the dead message do not match. Dead message ID=aa....aa

aa....aa：メッセージのデッドメッセージID（JMS_HITACHI_DeadMessageIDプロパティ値）

説明

デッドメッセージと再登録先のキュー（デッドメッセージキュー移動前のキュー）の情報に不一致があるため，再登録に失敗しました。

対処

次の原因が考えられます。障害要因を取り除いたあと，コマンドを再度実行してください。

メッセージサイズが再登録先のキューの最大メッセージ長より大きい

再登録先のキューの種類が変更された

なお，共用キューのメッセージをローカルキューに再登録しようとした場合，デッドメッセージの再登録はできません。

KFRM20088-E（U）

An attempt to re-register a dead message in the original queue failed because the dead message is being delivered. Dead message ID=aa....aa

aa....aa：メッセージのデッドメッセージID（JMS_HITACHI_DeadMessageIDプロパティ値）

説明

メッセージが配送中のため，デッドメッセージ再登録に失敗しました。

対処

アプリケーションがデッドメッセージキューからメッセージを取り出していない状態で，コマンドを再度実行してください。

KFRM20089-E（U）

An attempt to re-register a dead message in the original queue failed because the original queue was full. Queue name=aa....aa

aa....aa：キュー名

説明

再登録先のキュー（デッドメッセージキュー移動前のキュー）が満杯のため，デッドメッセージの再登録に失敗しました。

対処

再登録先のキューに，次のどれか一つの処置を実行したあと，コマンドを再度実行してください。

キューのメッセージを取り出す

キューの最大メッセージ数を増やす

メッセージ削除コマンドでメッセージを削除する

KFRM20090-E（U）

An attempt to re-register a dead message in the original queue failed because the system-related linkage function that is using the shared queue is invalid. Queue name=aa....aa

aa....aa：キュー名

説明

共用キューを使用して複数システム間でのアプリケーション連携をする機能が無効となっているため，共用キューへのデッドメッセージの再登録に失敗しました。

対処

RMSHConnectFlagプロパティにtrueを指定して，Cosminexus RMを再度起動してください。そのあと，コマンドを再度実行してください。

KFRM20091-E（U）

An attempt to re-register a dead message in the original queue has failed.

説明

デッドメッセージの再登録に失敗しました。

対処

原因としてメモリが不足していることが考えられます。障害要因を取り除いたあと，コマンドを再度実行してください。

KFRM20092-E（C／O）

An unsupported command option was specified. Command name = aa....aa Option name = bb....bb

aa....aa：コマンド名
bb....bb：オプションフラグ

説明

非永続版リソースアダプタでサポートしていないオプションが指定されました。

対処

オプションを見直してください。

KFRM20093-E（C／O）

An unsupported command was specified. Command name = aa....aa

aa....aa：コマンド名

説明

非永続版リソースアダプタでサポートしていないコマンドが実行されました。

対処

実行したコマンドが，非永続版リソースアダプタでサポートされているかどうかを確認してください。

KFRM20094-W（C／O）

An attempt to read messages has failed while executing hrmstopque command. Queue name=aa....aa

aa....aa：キュー名

説明

共用キューの抑止コマンドは成功しましたが，メッセージの読み取りに失敗しました。取り出しの対象とならないメッセージが残っている可能性があります。

対処

原因としてDBが停止していることが考えられます。メッセージログファイルを参照して障害要因を取り除いたあと，必要に応じて再度抑止コマンドを実行してください。

KFRM20095-E（C／O）

An attempt to bind failed because an object with the same name as an object created by Cosminexus Reliable Messaging has already been bound to the JNDI name space.

説明

Cosminexus RMと同じ名称のオブジェクトがJNDIの名前空間にバインドされているため，バインド処理に失敗しました。Cosminexus RMの開始を中断します。

対処

要因として，RMSystemNameプロパティ指定値と同じシステム名のCosminexus RMがすでに開始していることが考えられます。RMSystemNameプロパティ指定値を見直し，Cosminexus RMを再度開始してください。

KFRM20096-W（U）

An attempt to release a remote object created by Cosminexus Reliable Messaging has failed.

説明

Cosminexus RMで作成したリモートオブジェクトの解放に失敗しました。Cosminexus RMのオブジェクトがリークすることがあります。

対処

このメッセージのあとに出力されるエラー情報を参照し，障害要因を取り除いたあと，必要に応じてJ2EEサーバを再度開始してください。

KFRM20097-W（C／O）

An attempt to release a remote object created by Cosminexus Reliable Messaging has failed. cause=aa....aa

aa....aa：原因

説明

Cosminexus RMで作成したリモートオブジェクトの解放に失敗しました。

Cosminexus RMのオブジェクトがリークすることがあります。

対処

出力された原因を基に障害要因を取り除いたあと，必要に応じてCosminexus J2EEサーバを再開始してください。

KFRM20098-I（T）

Usage:
hrmmkque -t local [-m {persistent | non_persistent}] [-d {serial | parallel}] [-n max-message-number] [-c cache-message-number] [-e expiry-time] [-w {sender | receiver}] [-r rd-area-name] [-x display-name] [-S system-name] queue-name
hrmmkque -t shr_receive [-l max-message-size] [-n max-message-number] [-c cache-message-number] [-r rd-area-name] [-x display-name] [-S system-name] queue-name
hrmmkque -t shr_send [-l max-message-size] -b shared-queue-name [-x display-name] [-S system-name] queue-name
hrmmkque -t transmit [-m {persistent | non_persistent}] [-n max-message-number] [-c cache-message-number] [-e expiry-time] -a address-name {-v address-queue-name | -y} [-i {normal | compatible}] [-j {exactly_once | in_order}] [-g transmission-group-expiry-time] [-s transmission-expiry-time] [-r rd-area-name] [-x display-name] [-S system-name] queue-name

説明

コマンドの形式が誤っている場合に出力されます。キューの作成コマンドの使用方法を示します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20099-I（T）

Usage:
local : hrmchgque [-d {serial | parallel}] [-n max-message-number] [-c cache-message-number] [-e expiry-time] [-w {sender | receiver}] [-x display-name] [-S system-name] queue-name shr_receive : hrmchgque [-c cache-message-number] [-x display-name] [-S system-name] queue-name
shr_send : hrmchgque [-x display-name] [-S system-name] queue-name
transmit : hrmchgque [-n max-message-number] [-c cache-message-number] [-e expiry-time] [-a address-name] [-v address-queue-name | -y] [-i {normal | compatible}] [-j {exactly_once | in_order}] [-g transmission-group-expiry-time] [-s transmission-expiry-time] [-x display-name] [-S system-name] queue-name

説明

コマンドの形式が誤っている場合に出力されます。キューの属性変更コマンドの使用方法を示します。

対処

正しい形式でコマンドを再度実行してください。

KFRM20100-E（U）

The specified display name already exists. Display name=aa....aa, Name of queue that caused duplication of the display name=bb....bb

aa....aa：指定した表示名（指定していない場合はキュー名）
bb....bb：表示名と重複したキュー名称

説明

指定した表示名はすでに存在しています。

対処

指定した表示名を見直して，コマンドを再度実行してください。

なお，表示名を指定していなくても，指定したキュー名が定義済みのキューの表示名に重複する場合，このメッセージが出力されます。この場合は，キュー名も見直してください

KFRM20121-W（C／O）

An attempt to register the queue into the JNDI name space has failed. Queue name=aa....aa, Display name=bb....bb, Maintenance information=cc....cc

aa....aa：キュー名
bb....bb：表示名（指定していない場合はキュー名）
cc....cc：保守情報

説明

JNDIネーミングサービスへのキューの登録に失敗しました。

対処

アプリケーションが，対象のキューをJNDIネーミングサービスから取得できません。hrmdelqueコマンドでキューを削除し，再度同じキューを作成してください。また，キュー作成後にCosminexus RMを再度開始してください。

Cosminexus RMの開始後も，JNDIネーミングサービスに関連するエラーや警告が出力される場合は，保守員に連絡してください。

KFRM20122-W（C／O）

An attempt to delete the queue from the JNDI name space has failed. Queue name=aa....aa, Display name=bb....bb, Maintenance information=cc....cc

aa....aa：キュー名
bb....bb：表示名（指定していない場合はキュー名）
cc....cc：保守情報

説明

JNDIネーミングサービスからのキューの削除に失敗しました。

対処

JNDIネーミングサービスに不要なリソースが残っています。

再度，JNDIネーミングサービスに関連するエラーや警告が出力される場合は，保守員に連絡してください。

KFRM20123-W（C／O）

An attempt to register or delete the queue from the JNDI name space has failed. Queue name=aa....aa, Display name=bb....bb, Maintenance information=cc....cc

aa....aa：キュー名
bb....bb：属性変更前の表示名または属性変更後の表示名
cc....cc：保守情報

説明

キューのJNDIネーミングサービスへの登録，またはJNDIネーミングサービスからの削除に失敗しました。

対処

次の原因が考えられます。Cosminexus RMを再度開始してください。

アプリケーションが，対象のキューをJNDIネーミングサービスから取得できない。

JNDIネーミングサービスに不要なリソースが残っている。

Cosminexus RMの開始後も，JNDIネーミングサービスに関連するエラーや警告が出力される場合は，保守員に連絡してください。

KFRM20125-E（U）

An error occurred while the permissions were being checked.

説明

権限の判定中にエラーが発生しました。

対処

メモリが不足しているおそれがあります。空きメモリを増やしてから再度コマンドを実行してください。

問題が解決しない場合は，保守員に連絡してください。

KFRM20126-E（U）

The command cannot be executed because you do not have administrator privileges.

説明

管理者特権がないためコマンドを実行できません。

対処

管理者として実行したコマンドプロンプト上で，再度コマンドを実行してください。

KFRM32000-E（S）

The value specified for the property is invalid. Property name=aa....aa, Specified property value=bb....bb

aa....aa：プロパティ名
bb....bb：プロパティ指定値

説明

プロパティに指定した値が不正です。

対処

プロパティに正しい値を指定して，Cosminexus RMを再度開始してください。

KFRM32001-E（S）

A required property has not been specified or the value is invalid. uCosminexus Reliable Messaging startup will be cancelled. Required property enumeration=aa....aa

aa....aa：入力が必要なプロパティ

説明

入力必須のプロパティが指定されていない，または値が不正です。Cosminexus RMの開始を中断します。

対処

必須のプロパティを設定して，Cosminexus RMを再度開始してください。

KFRM32002-W（S）

This property will execute with the default value, because the value specified for the property is invalid. Property name=aa....aa, Specified property value=bb....bb, Default value=cc....cc

aa....aa：プロパティ名
bb....bb：プロパティ指定値
cc....cc：デフォルト値

説明

プロパティに指定した値が不正なため，このプロパティをデフォルト値で実行します。

対処

必要に応じてプロパティ指定値を見直してください。

KFRM32003-I（S）

The property has been set. Property name=aa....aa, Set property value=bb....bb

aa....aa：プロパティ名
bb....bb：プロパティ指定値

説明

プロパティがセットされました。

KFRM32006-W（C／O）

RMTRTransferControlDir will execute with default path of the client definition file, because there was no client definition file at path specified for RMTRTransferControlDir. RMTRTransferControlDir value=aa....aa, Default path=bb....bb

aa....aa：プロパティ指定値
bb....bb：デフォルトのクライアント定義ファイルがあるディレクトリのパス

説明

RMTRTransferControlDirプロパティに指定したパスにクライアント定義ファイルがないため，RMTRTransferControlDirプロパティはデフォルトのクライアント定義ファイルのパスで実行します。

対処

必要に応じてRMTRTransferControlDirプロパティに指定したパスを見直してください。

KFRM32007-W（S）

Cosminexus Reliable Messaging does not support this property. Property name=aa....aa

aa....aa：プロパティ名

説明

Cosminexus RMは，このプロパティをサポートしていません。

対処

サポートしていないプロパティを削除し，Cosminexus RMを再開始してください。

KFRM32008-W（C／O）

Cosminexus Web Services operates by the default value because there is not the client definition file on the default path=aa....aa

aa....aa：クライアント定義ファイルが存在するデフォルトのフォルダ名

説明

デフォルトのパスにクライアント定義ファイルがないため，SOAP通信基盤はデフォルト値で動作します。

対処

デフォルトのパスにクライアント定義ファイルを置いてください。

KFRM32009-E（C／O）

No value is specified in the RMTRTransferControlDir property, or the directory of the specified value contains no client definition file. RMTRTransferControlDir value=aa....aa

aa....aa：プロパティ指定値

説明

RMTRTransferControlDirプロパティに値が指定されていないか，指定したディレクトリにクライアント定義ファイルがありません。Cosminexus RMの開始を中断します。

対処

RMTRTransferControlDirプロパティに正しいクライアント定義ファイルのパスが指定されているか見直し，Cosminexus RMを再度開始してください。

KFRM34000-E（C／O）

A memory shortage occurred.

説明

メモリ不足が発生しました。

使用中のコネクションを切断し，JMSExceptionを発生します。

対処

Cosminexus RMで必要なメモリ量がJavaVMのヒープ領域に確保できることを確認し，Cosminexusを再度開始してください。

KFRM40001-I（C／O）

A message that reported reception failure during communication was deleted. Queue name=aa....aa, JMSMessageID=bb....bb, JMSCorrelationID=cc....cc, Transmission group ID=dd....dd, Transmission sequence number=ee....ee, Error code=ff....ff

aa....aa：削除元のキュー名
bb....bb：削除したメッセージのJMSMessageIDヘッダ値
cc....cc：削除したメッセージのJMSCorrelationIDヘッダ値
dd....dd：削除したメッセージのグループID
ee....ee：削除したメッセージのグループ内シーケンス番号
ff....ff：エラーコード（保守情報）

説明

通信で受信失敗が通知されたメッセージを削除しました。

対処

原因として，送信側の設定誤り，メッセージの有効期間切れ，受信側でのスキップコマンド実施，プロトコルのバージョン不正などが考えられます。障害原因を調査してください。

KFRM40003-W（C／O）

A message that reported reception failure during communication was held. Queue name=aa....aa, JMSMessageID=bb....bb, JMSCorrelationID=cc....cc, Transmission group ID=dd....dd, Transmission sequence number=ee....ee, Error code=ff....ff

aa....aa：キュー名
bb....bb：メッセージのJMSMessageIDヘッダ値
cc....cc：メッセージのJMSCorrelationIDヘッダ値
dd....dd：メッセージのグループID
ee....ee：メッセージのグループ内シーケンス番号
ff....ff：エラーコード（保守情報）

説明

通信で受信失敗が通知されたメッセージを保留しました。

対処

原因として，送信側の設定誤り，メッセージの有効期間切れ，受信側でのスキップコマンド実施，プロトコルのバージョン不正などが考えられます。障害原因を調査してください。

メッセージが不要であれば，コマンドで障害が発生したメッセージを削除してください。

KFRM40004-W（C／O）

A message that reported reception failure during communication could not be deleted because an exception occurred. Queue name=aa....aa, JMSMessageID=bb....bb, JMSCorrelationID=cc....cc, Transmission group ID=dd....dd, Transmission sequence number=ee....ee, Error code=ff....ff, Exception=gg....gg

aa....aa：キュー名
bb....bb：メッセージのJMSMessageIDヘッダ値
cc....cc：メッセージのJMSCorrelationIDヘッダ値
dd....dd：メッセージのグループID
ee....ee：メッセージのグループ内シーケンス番号
ff....ff：エラーコード（保守情報）
gg....gg：発生した例外

説明

例外が発生したため，通信で受信失敗が通知されたメッセージを削除できません。

処理を続行します。

対処

メッセージログファイルを参照して，障害要因を取り除いてください。

KFRM40005-E（C／O）

An attempt to create a thread has failed.

説明

スレッドの生成に失敗しました。

Cosminexus RMが起動できません。

対処

RMTRSendThreadNumプロパティに適正な値が指定されているかどうかを確認してください。

KFRM40006-W（C／O）

An attempt to start a transmission thread has failed. Thread pool identifier=aa....aa

aa....aa：スレッドプールの識別子

説明

送信スレッドの開始に失敗しました。

識別子がTRSの場合，キュー間転送の送信スレッドが減ります。

対処

メッセージログとトレースを採取し，保守員に連絡してください。

KFRM40007-I（C／O）

The group where the reception failure occurred during communication was closed. Queue name=aa....aa, Transmission group ID=bb....bb

aa....aa：閉鎖したグループの属するキュー名
bb....bb：閉鎖したグループのグループID

説明

通信で受信障害が発生したグループを閉鎖しました。

KFRM40008-W（C／O）

The protocol header of the received message is invalid, has not been specified, or is not supported by uCosminexus Reliable Messaging. IP address of the sender=aa....aa

aa....aa：送信元IPアドレス

説明

次のうちのどちらかが当てはまります。

受信したメッセージにプロトコルヘッダが指定されていません。

Cosminexus RMがサポートしないプロトコルヘッダ，または不正なプロトコルヘッダが指定されています。

対処

通信相手システムに応じて対処してください。

相手システムがCosminexus RM以外の場合

相手システムが適切なプロトコルのメッセージを送信するように問い合わせてください。

相手システムがCosminexus RMの場合

次の原因が考えられます。相手システムに問い合わせてください。

別のキューに存在するグループまたは閉鎖されたグループが指定されたメッセージを受信した。

次に示す原因で，プロトコルヘッダが指定されていない応答メッセージを受信した。
・転送先のCosminexus RMが実行状態でない。
・転送先のCosminexus RMのRMTRConnectFlagプロパティにtrueが指定されていない。
・転送先のCosminexus RMでコネクションの取得に失敗するなどの内部障害が発生した。

KFRM40009-W（C／O）

A message that had a non-existent or non-receptive queue specified for the transmission destination was received. IP address of the sender=aa....aa, Queue name=bb....bb

aa....aa：送信元IPアドレス
bb....bb：転送先キュー名

説明

存在しないキュー，または受信できないキューを送信先として指定したメッセージを受信しました。

対処

送信元の相手システムが適切なキュー名を指定するように問い合わせてください。

KFRM40010-W（C／O）

The message could not be received because the queue was full. Queue name=aa....aa

aa....aa：キュー名

説明

キューが満杯のため，メッセージが受信できません。

対処

次のうちどれか一つの処置を実行してください。

キューのメッセージを取り出す。

キューの最大メッセージ数を増やす。

メッセージ削除コマンドでメッセージを削除する。

KFRM40011-E（C／O）

An attempt to start all transmission thread has failed. Thread pool identifier=aa....aa

aa....aa：スレッドプールの識別子

説明

すべての送信スレッドの開始に失敗しました。

識別子がTRSの場合，送信スレッドが開始していないため，キュー間転送機能を使用できません。

対処

メッセージログとトレースを採取し，保守員に連絡してください。

KFRM40012-I（C／O）

A message that reported reception failure during communication was moved to the dead message queue. Queue name=aa....aa, Dead message ID=bb....bb, JMSMessageID=cc....cc, JMSCorrelationID=dd....dd, Transmission group ID=ee....ee, Transmission sequence number=ff....ff, Error code=gg....gg

aa....aa：移動元のキュー名
bb....bb：移動したメッセージのデッドメッセージID（JMS_HITACHI_DeadMessageIDプロパティ値）
cc....cc：移動したメッセージのJMSMessageIDヘッダ値
dd....dd：移動したメッセージのJMSCorrelationIDヘッダ値
ee....ee：移動したメッセージのグループID
ff....ff：移動したメッセージのグループ内シーケンス番号
gg....gg：エラーコード（保守情報）

説明

通信で受信失敗が通知されたメッセージをデッドメッセージキューに移動しました。

対処

原因として，送信側の設定誤り，メッセージの有効期限切れ，受信側でのスキップコマンド実施，プロトコルのバージョン不正などが考えられます。障害原因を調査してください。

KFRM40013-E（C／O）

The message was not sent because an attempt to convert the message type failed. Queue name=aa....aa, JMSMessageID=bb....bb, JMSCorrelationID=cc....cc, Transmission group ID=dd....dd, Transmission sequence number=ee....ee

aa....aa：キュー名
bb....bb：メッセージのJMSMessageIDヘッダ値
cc....cc：メッセージのJMSCorrelationIDヘッダ値
dd....dd：メッセージのグループID
ee....ee：メッセージのグループ内シーケンス番号

説明

メッセージの型変換に失敗したので，メッセージの送信を中止しました。

対処

次の原因が考えられます。障害要因を取り除いたあとでCosminexusを再度開始するか，hrmdelmsgコマンドを使用してメッセージを削除してください。

ObjectMessageオブジェクトに格納するオブジェクトがユーザの定義したクラスの場合，クラスパスがCosminexusのJ2EEサーバ用オプション定義ファイルに指定されていない。

Cosminexus RMで必要なメモリ量をjavaVMのヒープ領域に確保できない。

なお，これらの原因に該当しない場合は，メッセージログとトレースを採取し，保守員に連絡してください。

KFRM41000-W（C／O）

Header information for an invalid WS-Reliability was received. IP address of the sender: aa....aa

aa....aa：送信元IPアドレス

説明

不正なWS-Reliabilityのヘッダ情報を受信しました。

対処

メッセージの送信元に，正しいWS-Reliabilityの電文を送信しているかどうかを確認してください。

KFRM42000-W（C／O）

Processing to send the SOAP message for inter-queue transmission processing has failed. Address name=aa....aa, URL=bb....bb, Queue name=cc....cc

aa....aa：あて先名
bb....bb：あて先アドレス
cc....cc：転送先キュー名

説明

キュー間転送処理中に，SOAPメッセージ送信処理に失敗しました。転送キューのあて先アドレスが正しくないか，またはあて先システムが停止しています。

対処

転送キューのあて先アドレスを確認し，あて先システムの起動状態を確認してください。

KFRM42002-W（C／O）

A message that had a non-existent or non-receptive queue specified for the transmission destination was received. IP address of the sender=aa....aa, Queue name=bb....bb

aa....aa：送信元IPアドレス
bb....bb：転送先キュー名

説明

存在しないキュー，または受信できないキューを送信先として指定したメッセージを受信しました。

対処

送信元の相手システムが適切なキュー名を指定するよう問い合わせてください。

KFRM42003-W（C／O）

When the message was received, the queue name was not specified. IP address of the sender=aa....aa

aa....aa：送信元IPアドレス

説明

メッセージを受信した際，キュー名が指定されていません。

対処

送信元の相手システムがキュー名を指定するように問い合わせてください。

KFRM42004-W（C）

It failed to receive the message because of NamingException. error message=aa....aa

aa....aa：障害文字列

説明

NamingExceptionが発生したため，メッセージの受信に失敗しました。

対処

メッセージログファイルを参照し，障害要因を取り除いてください。障害となった要因が運用上の問題でない場合は，相手システムと自システムのメッセージログとトレースを採取し，保守員に連絡してください。

KFRM42005-W（C）

It failed to receive the message because of JMSException. error message=aa....aa

aa....aa：障害文字列

説明

JMSExceptionが発生したためにメッセージの受信に失敗しました。

対処

メッセージログファイルを参照し，障害要因を取り除いてください。障害となった要因が運用上の問題でない場合は，相手システムと自システムのメッセージログとトレースを採取し，保守員に連絡してください。

KFRM99000-E（C／O）

An internal error occurred. Class=aa....aa, Method=bb....bb, Maintenance information=cc....cc

aa....aa：内部エラーが発生したクラス名（パッケージ名を含む）
bb....bb：内部エラーが発生したメソッド名（括弧はなし）
cc....cc：保守情報

説明

内部エラーが発生しました。

対処

メッセージログとトレースを採取し，保守員に連絡してください。

付録

＜この付録の構成＞

付録A　JMS仕様との差異

付録B　WS-Reliabilityサポート一覧

付録C　サンプルアプリケーション

付録D　PRFトレース取得時のイベントID

付録E　Cosminexus RMのメモリ所要量とディスク占有量

付録F　HiRDBの見積もり

付録G　コネクションプールの見積もり

付録H　旧バージョンからの移行

付録I　用語解説

付録A　JMS仕様との差異

Cosminexus RMのJMSインタフェースの機能について，Sun Microsystems, Inc.が提供するJMS Version 1.0.2bとの機能差を説明します。

＜この節の構成＞

付録A.1　インタフェースの機能差

付録A.2　クラスの機能差

付録A.3　メソッドの機能差

付録A.1　インタフェースの機能差

Cosminexus RMがサポートするインタフェースについて，次の表に示します。機能種別ごとにインタフェース名のアルファベット順に説明します。サポートしているインタフェースのメソッドの機能差については，「付録A.3　メソッドの機能差」を参照してください。

表A-1　サポートするインタフェース

項番 | 機能種別 | インタフェース名 | サポートの有無 | 注意事項
1 | メッセージング共通機能 | Connection | ○ | －
2 | ConnectionFactory | ○
3 | ConnectionMetaData | ○
4 | Destination | ○
5 | MessageConsumer | ○
6 | MessageProducer | ○
7 | Session | ○
8 | PTPメッセージング機能 | Queue | ○
9 | QueueBrowser | ○
10 | QueueConnection | ○
11 | QueueConnectionFactory | ○
12 | QueueReceiver | ○
13 | QueueSender | ○
14 | QueueSession | ○
15 | パブリッシュ／サブスクライブメッセージング機能 | TemporaryTopic | ×
16 | Topic | ×
17 | TopicConnection | ×
18 | TopicConnectionFactory | ×
19 | TopicPublisher | ×
20 | TopicSession | ×
21 | TopicSubscriber | ×
22 | メッセージ機能 | BytesMessage | ○ | 共用キューではヘッダとプロパティの情報を送受信できません。
23 | DeliveryMode | ○ | －
24 | MapMessage | ×
25 | Message | ○ | 共用キューでは使用できません。共用キューにこのインタフェースを使用してメッセージを送信した場合は例外が発生します。
26 | ObjectMessage | ○ | 共用キューでは使用できません。共用キューにこのインタフェースを使用してメッセージを送信した場合は例外が発生します。
27 | StreamMessage | × | －
28 | TextMessage | ○ | 共用キューでは使用できません。共用キューにこのインタフェースを使用してメッセージを送信した場合は例外が発生します。
29 | XA機能（JMSのオプション機能） | XAConnection | × | －
30 | XAConnectionFactory | ×
31 | XAQueueConnection | ×
32 | XAQueueConnectionFactory | ×
33 | XAQueueSession | ×
34 | XASession | ×
35 | XATopicConnection | ×
36 | XATopicConnectionFactory | ×
37 | XATopicSession | ×
38 | リスナ機能 | ExceptionListener | ×
39 | MessageListener | ○ | Message-driven Beanで使用する場合だけサポートしています。
40 | その他（JMSのオプション機能） | ConnectionConsumer | × | －
41 | ServerSession | ×
42 | ServerSessionPool | ×
43 | TemporaryQueue | ×

（凡例）

○：サポートしています。

×：未サポートです。

－：特にありません。

付録A.2　クラスの機能差

Cosminexus RMがサポートするクラスについて，次の表に示します。機能種別ごとに説明します。

表A-2　サポートするクラス

項番 | 機能種別 | クラス名 | サポートの有無 | 注意事項
1 | PTPメッセージング機能 | QueueRequestor | × | －
2 | パブリッシュ／サブスクライブメッセージング機能 | TopicRequestor | ×

（凡例）

×：未サポートです。

－：特にありません。

付録A.3　メソッドの機能差

メソッドの機能差について説明します。機能種別ごとの表でインタフェース名およびメソッド名のアルファベット順に説明します。

＜この項の構成＞

(1)　メッセージング共通機能のメソッドの機能差

(2)　PTPメッセージング機能のメソッドの機能差

(3)　メッセージ機能のメソッドの機能差

(1)　メッセージング共通機能のメソッドの機能差

メッセージング共通機能のメソッドの機能差について，次の表に示します。

表A-3　メッセージング共通機能のメソッドの機能差

項番
インタフェース名
メソッド名
機能差

1
Connection
void close()
－

2
java.lang.String getClientID()
このメソッドは未サポートです。このメソッドを発行した場合，必ずnullが返されます。

3
ExceptionListener
getExceptionListener()
このメソッドは未サポートです。このメソッドを発行した場合，必ずnullが返されます。

4
ConnectionMetaData
getMetaData()
－

5
void setClientID(
java.lang.String clientID)
このメソッドは未サポートです。このメソッドで設定した値は実際には使用されません。

6
void setExceptionListener(
ExceptionListener listener)
このメソッドは未サポートです。このメソッドで設定した値は実際には使用されません。

7
void start()
－

8
void stop()
－

9
ConnectionFactory
－
－

10
ConnectionMetaData
int getJMSMajorVersion()
1が返されます。

11
int getJMSMinorVersion()
0が返されます。

12
java.lang.String
getJMSProviderName()
"Cosminexus Reliable Messaging"が返されます。

13
java.lang.String getJMSVersion()
"1.0"が返されます。

14
java.util.Enumeration
getJMSXPropertyNames()
"JMSXRcvTimestamp"，"JMSXDeliveryCount"，"JMSXGroupID"および"JMSXGroupSeq"が格納されたEnumerationが返されます。

15
int getProviderMajorVersion()
JMSプロバイダのメジャーバージョン番号を返します。この値は，Cosminexus RMのバージョンに対応します。

16
int getProviderMinorVersion()
JMSプロバイダのマイナーバージョン番号を返します。この値は，Cosminexus RMのリビジョンに対応します。

17
java.lang.String
getProviderVersion()
JMSプロバイダのバージョンを示す文字列を返します。この文字列は，Cosminexus RMのバージョンおよびリビジョンに対応します。

18
Destination
－
－

19
MessageConsumer
void close()
－

20
MessageListener
getMessageListener()
このメソッドは未サポートです。このメソッドを発行した場合，必ずnullが返されます。

21
java.lang.String
getMessageSelector()
－

22
Message receive()
－

23
Message receive(long timeout)
－

24
Message receiveNoWait()
－

25
void setMessageListener(
MessageListener listener)
このメソッドは未サポートです。このメソッドで設定した値は実際には使用されません。

26
MessageProducer
void close()
－

27
int getDeliveryMode()
このメソッドは未サポートです。このメソッドを発行した場合，必ず0が返されます。

28
boolean getDisableMessageID()
このメソッドは未サポートです。このメソッドを発行した場合，必ずfalseが返されます。

29
boolean
getDisableMessageTimestamp()
このメソッドは未サポートです。このメソッドを発行した場合，必ずfalseが返されます。

30
int getPriority()
－

31
long getTimeToLive()
このメソッドは未サポートです。このメソッドを発行した場合，必ず0が返されます。

32
void setDeliveryMode(
int deliveryMode)
このメソッドは未サポートです。このメソッドで設定した値は実際には使用されません。

33
void setDisableMessageID(
boolean value)
このメソッドは未サポートです。このメソッドで設定した値は実際には使用されません。

34
void setDisableMessageTimestamp(
boolean value)
このメソッドは未サポートです。このメソッドで設定した値は実際には使用されません。

35
void setPriority(int defaultPriority)
－

36
void setTimeToLive(
long timeToLive)
このメソッドは未サポートです。このメソッドで設定した値は実際には使用されません。

37
Session
void close()
－

38
void commit()
－

39
BytesMessage
createBytesMessage()
－

40
MapMessage createMapMessage()
このメソッドは未サポートです。このメソッドを発行した場合，JMSExceptionが発生します。

41
Message createMessage()
－

42
ObjectMessage
createObjectMessage()
－

43
ObjectMessage
createObjectMessage(
java.io.Serializable object)
－

44
StreamMessage
createStreamMessage()
このメソッドは未サポートです。このメソッドを発行した場合，JMSExceptionが発生します。

45
TextMessage createTextMessage()
－

46
TextMessage createTextMessage(
java.lang.String text)
－

47
MessageListener
getMessageListener()
このメソッドは未サポートです。このメソッドを発行した場合，必ずnullが返されます。

48
boolean getTransacted()
－

49
void recover()
－

50
void rollback()
－

51
void run()
このメソッドは未サポートです。このメソッドを発行した場合，JMSExceptionが発生します。

52
void setMessageListener(
MessageListener listener)
このメソッドは未サポートです。このメソッドで設定した値は実際には使用されません。

（凡例）

－：機能差はありません。

(2)　PTPメッセージング機能のメソッドの機能差

PTPメッセージング機能のメソッドの機能差について，次の表に示します。

表A-4　PTPメッセージング機能のメソッドの機能差

項番
インタフェース名
メソッド名
機能差

1
Queue
java.lang.String getQueueName()
－

2
java.lang.String toString()
－

3
QueueBrowser
void close()
－

4
java.util.Enumeration
getEnumeration()
現在のキューにあるメッセージの一覧を取得します。一覧を取得したあとにメッセージを参照する際，すでにメッセージは削除または消失していることがあります。

5
java.lang.String
getMessageSelector()
－

6
Queue getQueue()
－

7
QueueConnection
ConnectionConsumer
createConnectionConsumer(
Queue queue,
java.lang.String messageSelector,
ServerSessionPool sessionPool,
int maxMessages)
このメソッドは未サポートです。このメソッドを発行した場合，JMSExceptionが発生します。

8
QueueSession
createQueueSession(
boolean transacted,
int acknowledgeMode)
－

9
QueueConnectionFactory
QueueConnection
createQueueConnection()
－

10
QueueConnection
createQueueConnection(
java.lang.String userName,
java.lang.String password)
－

11
QueueReceiver
Queue getQueue()
－

12
QueueSender
Queue getQueue()
－

13
void send(Message message)
－

14
void send(Message message,
int deliveryMode, int priority,
long timeToLive)
このメソッドを発行した場合，deliveryMode引数とtimeToLive引数を無視して実行されます。

15
void send(Queue queue,
Message message)
－

16
void send(Queue queue,
Message message,
int deliveryMode, int priority,
long timeToLive)
このメソッドを発行した場合，deliveryMode引数とtimeToLive引数を無視して実行されます。

17
QueueSession
QueueBrowser createBrowser(
Queue queue)
－

18
QueueBrowser createBrowser(
Queue queue,
java.lang.String messageSelector)
－

19
Queue createQueue(
java.lang.String queueName)
－

20
QueueReceiver createReceiver(
Queue queue)
－

21
QueueReceiver createReceiver(
Queue queue,
java.lang.String messageSelector)
－

22
QueueSender createSender(
Queue queue)
－

23
TemporaryQueue
createTemporaryQueue()
このメソッドは未サポートです。このメソッドを発行した場合，JMSExceptionが発生します。

（凡例）

－：機能差はありません。

(3)　メッセージ機能のメソッドの機能差

メッセージ機能のメソッドの機能差について，次の表に示します。

表A-5　メッセージ機能のメソッドの機能差

項番
インタフェース名
メソッド名
機能差

1
BytesMessage
boolean readBoolean()
－

2
byte readByte()
－

3
int readBytes(byte[] value)
－

4
int readBytes(
byte[] value, int length)
－

5
char readChar()
－

6
double readDouble()
－

7
float readFloat()
－

8
int readInt()
－

9
long readLong()
－

10
short readShort()
－

11
int readUnsignedByte()
－

12
int readUnsignedShort()
－

13
java.lang.String readUTF()
－

14
void reset()
－

15
void writeBoolean(boolean value)
－

16
void writeByte(byte value)
－

17
void writeBytes(byte[] value)
－

18
void writeBytes(byte[] value,
int offset, int length)
－

19
void writeChar(char value)
－

20
void writeDouble(double value)
－

21
void writeFloat(float value)
－

22
void writeInt(int value)
－

23
void writeLong(long value)
－

24
void writeObject(
java.lang.Object value)
－

25
void writeShort(short value)
－

26
void writeUTF(
java.lang.String value)
－

27
DeliveryMode
－
－

28
Message
void acknowledge()
Message-driven Beanで配信されたメッセージには使用できません。
このメソッドをMessage-driven Beanで配信されたメッセージに使用した場合はJMSExceptionが発生します。
また，QueueConnection.createQueueSession()メソッドのtransacted引数がtrueのとき，およびtransacted引数がfalseかつacknowledgeMode引数がAUTO_ACKNOWLEDGEまたは DUPS_OK_ACKNOWLEDGEのときに発行した場合はJMSExceptionが発生します。

29
void clearBody()
－

30
void clearProperties()
－

31
boolean getBooleanProperty(
java.lang.String name)
－

32
byte getByteProperty(
java.lang.String name)
－

33
double getDoubleProperty(
java.lang.String name)
－

34
float getFloatProperty(
java.lang.String name)
－

35
int getIntProperty(
java.lang.String name)
－

36
java.lang.String
getJMSCorrelationID()
JMSCorrelationIDヘッダが設定されていないときに発行した場合，nullが返されます。

37
byte[]
getJMSCorrelationIDAsBytes()
JMSCorrelationIDヘッダが設定されていないときに発行した場合，nullが返されます。

38
int getJMSDeliveryMode()
JMSDeliveryModeヘッダが設定されていないときに発行した場合，0が返されます。

39
Destination getJMSDestination()
JMSDestinationヘッダが設定されていないときに発行した場合，nullが返されます。

40
long getJMSExpiration()
JMSExpirationヘッダが設定されていないときに発行した場合，0が返されます。

41
java.lang.String
getJMSMessageID()
JMSMessageIDヘッダが設定されていないときに発行した場合，nullが返されます。

42
int getJMSPriority()
JMSPriorityヘッダが設定されていないときに発行した場合，4が返されます。

43
boolean getJMSRedelivered()
JMSRedeliveredヘッダが設定されていないときに発行した場合，falseが返されます。

44
Destination getJMSReplyTo()
JMSReplyToヘッダが設定されていないときに発行した場合，nullが返されます。

45
long getJMSTimestamp()
JMSTimestampヘッダが設定されていないときに発行した場合，0が返されます。

46
java.lang.String getJMSType()
JMSTypeヘッダが設定されていないときに発行した場合，nullが返されます。

47
long getLongProperty(
java.lang.String name)
－

48
java.lang.Object getObjectProperty(
java.lang.String name)
－

49
java.util.Enumeration
getPropertyNames()
プロパティがない場合はnullが返されます。

50
short getShortProperty(
java.lang.String name)
－

51
java.lang.String getStringProperty(
java.lang.String name)
－

52
boolean propertyExists(
java.lang.String name)
－

53
void setBooleanProperty(
java.lang.String name,
boolean value)
name引数の文字数が64文字を超える場合，JMSExceptionが発生します。

54
void setByteProperty(
java.lang.String name, byte value)
name引数の文字数が64文字を超える場合，JMSExceptionが発生します。

55
void setDoubleProperty(
java.lang.String name,
double value)
name引数の文字数が64文字を超える場合，JMSExceptionが発生します。

56
void setFloatProperty(
java.lang.String name, float value)
name引数の文字数が64文字を超える場合，JMSExceptionが発生します。

57
void setIntProperty(
java.lang.String name, int value)
name引数の文字数が64文字を超える場合，JMSExceptionが発生します。

58
void setJMSCorrelationID(
java.lang.String correlationID)
correlationID引数の文字数が512文字を超える場合，JMSExceptionが発生します。

59
void setJMSCorrelationIDAsBytes(
byte[] correlationID)
correlationID引数の文字数が512文字を超える場合，JMSExceptionが発生します。

60
void setJMSDeliveryMode(
int deliveryMode)
このメソッドで設定した値は実際には使用されません。

61
void setJMSDestination(
Destination destination)
このメソッドで設定した値は実際には使用されません。

62
void setJMSExpiration(
long expiration)
このメソッドで設定した値は実際には使用されません。

63
void setJMSMessageID(
java.lang.String id)
このメソッドで設定した値は実際には使用されません。

64
void setJMSPriority(int priority)
このメソッドで設定した値は実際には使用されません。

65
void setJMSRedelivered(
boolean redelivered)
このメソッドで設定した値は実際には使用されません。

66
void setJMSReplyTo(
Destination replyTo)
－

67
void setJMSTimestamp(
long timestamp)
このメソッドで設定した値は実際には使用されません。

68
void setJMSType(
java.lang.String type)
type引数の文字数が512文字を超える場合，JMSExceptionが発生します。

69
void setLongProperty(
java.lang.String name, long value)
name引数の文字数が64文字を超える場合，JMSExceptionが発生します。

70
void setObjectProperty(
java.lang.String name,
java.lang.Object value)
name引数の文字数が64文字を超える場合，JMSExceptionが発生します。
value引数の文字数が512文字を超える場合，JMSExceptionが発生します。

71
void setShortProperty(
java.lang.String name, short value)
name引数の文字数が64文字を超える場合，JMSExceptionが発生します。

72
void setStringProperty(
java.lang.String name,
java.lang.String value)
name引数の文字数が64文字を超える場合，JMSExceptionが発生します。
value引数の文字数が512文字を超える場合，JMSExceptionが発生します。

73
ObjectMessage
java.io.Serializable getObject()
－

74
void setObject(
java.io.Serializable object)
－

75
TextMessage
java.lang.String getText()
－

76
void setText(java.lang.String string)
－

（凡例）

－：機能差はありません。

付録B　WS-Reliabilityサポート一覧

サーバ間通信の仕様について，WS-ReliabilityとCosminexus RMの違いを中心に説明します。

＜この節の構成＞

付録B.1　通信仕様

付録B.2　QoS

付録B.3　リプライパターン

付録B.4　グループ

付録B.5　WS-Reliabilityのヘッダ要素

付録B.6　SOAPアタッチメント

付録B.7　Cosminexus RMが返信するフォルトコード一覧

付録B.1　通信仕様

Cosminexus RMは，WS-Reliabilityに規定されるHTTPバインディングに従って通信します。Cosminexus RMがReliable Messageを送信する場合，WS-ReliabilityでのProducerは，Cosminexus RMが管理する送信側のキューです。一方，Cosminexus RMがReliable Messageを受信する場合，WS-ReliabilityでのConsumerは，Cosminexus RMが管理する受信側のキューです。

通信に関する制限事項は次のとおりです。

リプライパターンのうち，CallbackおよびPollはサポートしません。

SOAP 1.1だけをサポートします。SOAP 1.2はサポートしません。

トランスポートはHTTP(S)だけをサポートします。

WSDLインタフェースはサポートしません。

それぞれのリプライパターンでの通信の方法は，WS-Reliability 1.1のドキュメントを参照してください。

付録B.2　QoS

QoS（通信品質）について留意しなければならない点は次のとおりです。

OrderedDelivery時のAcknowledgmentの仕様

受信処理性能の向上のため，OrderedDeliveryを要求するReliable Messageを受信した場合，そのReliable Messageが順序不正（シーケンス番号に抜けのある）のメッセージだった場合もAcknowledgmentを返します。このメッセージはCosminexus RMが保持しておき，順序不正が回復した際に配信されます。

NoDuplicateDeliveryを要求しない場合の動作

Cosminexus RMでは，NoDuplicateDeliveryを要求しない（Request/DuplicateElimination要素が存在しない）Reliable Messageを受信した場合でも，受信したReliable Messageの重複防止を行います。

再送の仕様

Cosminexus RMは，Acknowledgmentまたは「MessageProcessingFailure」以外のRM-FaultのRM-Reply Messageが返されるまでReliable Messageを再送します。Reliable Messageに設定した有効期限を超過しても再送を継続します。

付録B.3　リプライパターン

リプライパターンについて留意しなければならない点は次のとおりです。

＜この項の構成＞

(1)　Pollリプライパターンに関する動作

(2)　Callbackリプライパターンに関する動作

(3)　有効期限切れのメッセージに対する応答

(1)　Pollリプライパターンに関する動作

Cosminexus RMがReliable Messageの送信側の場合

Cosminexus RMは，Pollリプライパターンを指定したReliable MessageおよびPollRequest Messageは送信しません。

Cosminexus RMがReliable Messageの受信側の場合

Pollリプライパターンを指定されたReliable Messageを受信した場合，そのリクエストのレスポンスとして「FeatureNotSupported」のRM-Faultを設定したRM-Reply Messageを返信します。その後，PollRequest Message受信時に，PollRequest Messageに指定されたメッセージに対して「FeatureNotSupported」のRM-Faultを設定したRM-Reply Messageを返信します。

(2)　Callbackリプライパターンに関する動作

Cosminexus RMがReliable Messageの送信側の場合

Cosminexus RMは，Callbackリプライパターンを指定したReliable Messageを送信しません。

Cosminexus RMがReliable Messageの受信側の場合

Callbackリプライパターンを指定されたReliable Messageを受信した場合，そのリクエストのレスポンスとして「FeatureNotSupported」のRM-Faultを設定したRM-Reply Messageを返信します。

(3)　有効期限切れのメッセージに対する応答

Cosminexus RMは，受信したReliable Messageのメッセージ有効期限が切れていた場合，そのReliable Messageがすでに受信してAcknowledgmentを返したメッセージだった場合でも，RM-Faultを返します。

付録B.4　グループ

グループについて留意しなければならない点は次のとおりです。

＜この項の構成＞

(1)　グループの新規作成（切り替え）

(2)　グループの削除

(3)　グループの閉鎖

(4)　グループ有効期限の更新

(5)　GroupMaxIdleDurationによるグループの削除

(1)　グループの新規作成（切り替え）

Cosminexus RMがReliable Messageの送信側の場合，Reliable Messageに設定するグループIDは，次に示すタイミングで新しいグループに切り替わります。

InOrderのグループのReliable Messageに「MessageProcessingFailure」および「FeatureNotSupported」以外のRM-Faultが返されたとき

グループのReliable Messageに「GroupAborted」のRM-Faultが返されたとき

グループ有効期限が過ぎたとき

グループ有効期限にReliable Messageの有効期限が追い付いたとき

シーケンス番号が最大値に到達したとき

非永続キューに属するグループを再起動したとき

切り替わり以降に新たに送信されたメッセージは，新しいグループのメッセージとして送信されます。

(2)　グループの削除

Cosminexus RMがReliable Messageの受信側の場合，グループの有効期限が超過したときにグループ情報を破棄します。

グループ情報を破棄したあとに，破棄したグループのReliable Messageを受信した場合は，新しいグループの最初のメッセージとして扱います。

(3)　グループの閉鎖

Cosminexus RMがReliable Messageの受信側の場合，次に示すタイミングでグループを閉鎖します。

InOrderのグループのReliable Messageに「MessageProcessingFailure」および「FeatureNotSupported」以外のRM-Faultを返す場合（hrmskipmsgでスキップしたメッセージに「PermanentProcessingFailure」を返す場合を除く）

InOrderのグループで，滞留しているメッセージが有効期限切れになった場合

非永続キューに属するグループについては，Cosminexus RMが再起動した場合

閉鎖されたグループのReliable Messageを受信した場合，「GroupAborted」のRM-Faultを返します。閉鎖されたグループは，グループ削除のタイミングで削除されます。

(4)　グループ有効期限の更新

Cosminexus RMがReliable Messageの送信側の場合

同一グループで送信するすべてのReliable Messageに，同一のグループ有効期限を設定します。

Cosminexus RMがReliable Messageの受信側の場合

グループの削除を判断するためのグループ有効期限に，グループで受信した最初のReliable Messageのグループ有効期限を使用します。

(5)　GroupMaxIdleDurationによるグループの削除

GroupMaxIdleDurationによるグループの削除はサポートしません。GroupMaxIdleDurationが指定されたReliable Messageを受信した場合，Cosminexus RMは「FeatureNotSupported」のRM-Faultを返します。

付録B.5　WS-Reliabilityのヘッダ要素

Cosminexus RMで送受信するメッセージのSOAPヘッダ部分には，WS-Reliabilityプロトコルのヘッダ要素が設定されます。WS-Reliabilityプロトコルのヘッダ要素は，電文の種別によって設定される要素が異なります。

＜この項の構成＞

(1)　Reliable Messageの送信時に設定される要素・属性

(2)　Reliable Messageの受信時に設定される要素・属性

(3)　RM-Reply Messageの送信時に設定される要素・属性

(4)　RM-Reply Messageの受信時に設定される要素・属性

(5)　PollRequest Messageの送受信時に設定される要素・属性

(6)　Reliable MessageとRM-Reply Messageの同梱

(7)　[XML Schema Part 2]dateTimeの扱い

(1)　Reliable Messageの送信時に設定される要素・属性

Cosminexus RMがReliable Messageを送信する時に設定される要素・属性に対する対応を次の表に示します。

表B-1　Reliable Message送信時の対応

項番
メッセージヘッダの要素・属性
Cosminexus RMの対応

1
Request
WS-Reliabilityプロトコルの仕様と同様です。

2
Request/MessageId
WS-Reliabilityプロトコルの仕様と同様です。

3
Request/MessageId/@groupId※
WS-Reliabilityプロトコルの仕様と同様です。

4
Request/MessageId/SequenceNum
必ず設定します。

5
Request/MessageId/SequenceNum/@groupExpiryTime
必ず設定します。

6
Request/MessageId/SequenceNum/@groupMaxIdleDuration
設定しません。

7
Request/MessageId/SequenceNum/@number
WS-Reliabilityプロトコルの仕様と同様です。

8
Request/MessageId/SequenceNum/@last
設定しません。

9
Request/ExpiryTime
WS-Reliabilityプロトコルの仕様と同様です。

10
Request/ReplyPattern
WS-Reliabilityプロトコルの仕様と同様です。

11
Request/ReplyPattern/Value
Responseだけ設定します。
CallbackおよびPollは設定しません。

12
Request/ReplyPattern/ReplyTo
設定しません。

13
Request/ReplyPattern/ReplyTo/@reference-scheme
設定しません。

14
Request/ReplyPattern/ReplyTo/any
設定しません。

15
Request/ReplyPattern/ReplyTo/BareURI
設定しません。

16
Request/AckRequested
必ず設定します。

17
Request/DuplicateElimination
必ず設定します。

18
Request/MessageOrder
WS-Reliabilityプロトコルの仕様と同様です。

注※

Cosminexus RMで設定するRequest/MessageId/@groupIdのフォーマットは次のとおりです。

mid://<システム名><グループID作成時刻><グループID通番>@<自マシンのIPアドレスから作成した数値>

グループID作成時刻の出力形式は「YYYYMMDDhhmmssSSS」です。

グループID通番は4けた固定です。例えば，グループ通番が1の場合は「0001」が設定されます。

(2)　Reliable Messageの受信時に設定される要素・属性

Cosminexus RMが受信したReliable Messageに設定される要素に対する対応と，指定できる値の範囲を次の表に示します。

表B-2　Reliable Message受信時の対応

項番 | メッセージヘッダの要素・属性 | Cosminexus RMの対応※1 | 指定できる値の範囲※2
1 | Request | WS-Reliabilityプロトコルの仕様と同様です。 | －
2 | Request/MessageId | WS-Reliabilityプロトコルの仕様と同様です。 | －
3 | Request/MessageId/@groupId | WS-Reliabilityプロトコルの仕様と同様です。 | 0～256文字
4 | Request/MessageId/SequenceNum | 設定を省略したメッセージにはRM-Faultを返します。 | －
5 | Request/MessageId/SequenceNum/@groupExpiryTime | 設定を省略したメッセージにはRM-Faultを返します。 | 1970-01-01T00:00:00Z～9999-12-31T23:59:59Z
6 | Request/MessageId/SequenceNum/@groupMaxIdleDuration | 設定したメッセージにはRM-Faultを返します。 | －
7 | Request/MessageId/SequenceNum/@number | WS-Reliabilityプロトコルの仕様と同様です。 | －
8 | Request/MessageId/SequenceNum/@last | 設定したメッセージにはRM-Faultを返します。 | －
9 | Request/ExpiryTime | WS-Reliabilityプロトコルの仕様と同様です。 | 1970-01-01T00:00:00Z～9999-12-31T23:59:59Z
10 | Request/ReplyPattern | WS-Reliabilityプロトコルの仕様と同様です。 | －
11 | Request/ReplyPattern/Value | Responseだけ設定します。CallbackまたはPollを設定したメッセージにはRM-Faultを返します。 | －
12 | Request/ReplyPattern/ReplyTo | 設定された値は無視します。 | －
13 | Request/ReplyPattern/@reference-scheme | 設定された値は無視します。 | －
14 | Request/ReplyPattern/any | 設定された値は無視します。 | －
15 | Request/ReplyPattern/BareURI | 設定された値は無視します。 | －
16 | Request/AckRequested | WS-Reliabilityプロトコルの仕様と同様です。 | －
17 | Request/DuplicateElimination | WS-Reliabilityプロトコルの仕様と同様です。 | －
18 | Request/MessageOrder | WS-Reliabilityプロトコルの仕様と同様です。 | －

（凡例）

－：該当しません。

注※1

RM-Faultを返す場合，「FeatureNotSupported」を設定したRM-Reply Messageが返信されます。

注※2

指定できる値の範囲を超えている要素または属性を設定しているReliableMessageを受信した場合，次の表に示すRM-Faultが設定されたRM-Reply Messageを返信します。

表B-3　設定範囲を超えた場合に返信されるRM-Fault

メッセージヘッダの要素・属性 | RM-Fault
Request/MessageId/@groupId | InvalidMessageId
Request/MessageId/@groupExpiryTime | InvalidMessageParameters
Request/ExpiryTime | InvalidExpiryTime

(3)　RM-Reply Messageの送信時に設定される要素・属性

Cosminexus RMがRM-Reply Messageを送信する時に設定される要素に対する対応を次の表に示します。

表B-4　RM-Reply Message送信時の対応

項番 | メッセージヘッダの要素と属性 | Cosminexus RMの対応
1 | Response | WS-Reliabilityプロトコルの仕様と同様です。
2 | Response/NonSequenceReply | 設定しません。
3 | Response/NonSequenceReply/@groupId | 設定しません。
4 | Response/NonSequenceReply/@fault | 設定しません。
5 | Response/SequenceReplies | 必ず一つは設定します。
6 | Response/SequenceReplies/@groupId | WS-Reliabilityプロトコルの仕様と同様です。
7 | Response/SequenceReplies/ReplyRange | 一つだけ設定します。
8 | Response/SequenceReplies/ReplyRange/@from | @toと同じ値を設定します。
9 | Response/SequenceReplies/ReplyRange/@to | @fromと同じ値を設定します。
10 | Response/SequenceReplies/ReplyRange/@fault | WS-Reliabilityプロトコルの仕様と同様です。

(4)　RM-Reply Messageの受信時に設定される要素・属性

Cosminexus RMが受信したRM-Reply Messageに設定される要素に対する対応と，指定できる値の範囲を次の表に示します。

表B-5　RM-Reply Message受信時の対応一覧

項番 | メッセージヘッダの要素と属性 | Cosminexus RMの対応 | 指定できる値の範囲※
1 | Response | WS-Reliabilityプロトコルの仕様と同様です。 | －
2 | Response/NonSequenceReply | 設定されたメッセージは破棄します。 | －
3 | Response/NonSequenceReply/@groupId | 設定されたメッセージは破棄します。 | －
4 | Response/NonSequenceReply/@fault | 設定されたメッセージは破棄します。 | －
5 | Response/SequenceReplies | 一つだけ設定したメッセージには対応します。省略された，または複数設定されたメッセージは破棄します。 | －
6 | Response/SequenceReplies/@groupId | WS-Reliabilityプロトコルの仕様と同様です。 | 0～256文字
7 | Response/SequenceReplies/ReplyRange | 一つだけ設定したメッセージには対応します。省略された，または複数設定されたメッセージは破棄します。 | －
8 | Response/SequenceReplies/ReplyRange/@from | @toと同じ値を設定したメッセージには対応します。@toと異なる値が設定されたメッセージは破棄します。 | －
9 | Response/SequenceReplies/ReplyRange/@to | @fromと同じ値を設定したメッセージには対応します。@fromと異なる値が設定されたメッセージは破棄します。 | －
10 | Response/SequenceReplies/ReplyRange/@fault | WS-Reliabilityプロトコルの仕様と同様です。 | －

（凡例）

－：該当しません。

注※

指定できる値の範囲を超えている要素または属性を設定しているRM-Reply Messageを受信した場合，そのメッセージを破棄します。

(5)　PollRequest Messageの送受信時に設定される要素・属性

Cosminexus RMでは，送信，受信ともにPollRequest Messageはサポートしません。PollRequest Messageを受信した場合は，メッセージ内で指定しているメッセージに対して「FeatureNotSupported」のRM-Faultを設定したRM-Reply Messageを返信します。

なお，Cosminexus RMでは，PollRequest Messageに指定された最初のメッセージに対して「FeatureNotSupported」のRM-Faultを返します。

(6)　Reliable MessageとRM-Reply Messageの同梱

Cosminexus RMは，Reliable MessageとRM-Reply Messageが同梱されているメッセージに対して，WS-Reliabilityプロトコルの仕様とは異なる対応をします。

Reliable MessageとRM-Reply Messageが同梱されているメッセージを受信した場合，Reliable Messageに対して「FeatureNotSupported」のRM-Faultを設定したRM-Reply Messageの返信を行います。さらに，RM-Reply Messageに対してはメッセージを破棄します。

(7)　[XML Schema Part 2]dateTimeの扱い

Cosminexus RMは，groupExpiryTimeやExpiryTimeを表す[XML Schema Part2]dateTimeの値に，次の制限を持ちます。

送信時は，小数点以下の値は削除してメッセージに設定します。

受信時は，小数点以下の値は切り上げて処理します。ただし，小数点以下3けたまでの数値がすべて0の場合，小数点以下の数値を切り捨てます。

付録B.6　SOAPアタッチメント

他システムとCosminexus RMとでメッセージを送受信する場合，メッセージ本体（ペイロード）をプリミティブなバイト配列でSOAPアタッチメントに設定します。MIMEパートを含むSOAPメッセージの構成について，次の図に示します。

図B-1　MIMEパートを含むSOAPメッセージの構成

メッセージを送信する場合

Cosminexus RMから他システムへメッセージを送信する場合，メッセージ本体の情報をSOAPアタッチメントにプリミティブなバイト配列で設定します。

メッセージを受信する場合

他システムからCosminexus RMへメッセージを送信する場合，メッセージ本体の情報をSOAPアタッチメントにプリミティブなバイト配列で設定してください。なお，Content-Typeがtext/plainの場合，Content-TypeのcharsetをUTF-8に指定してください。SOAPボディにメッセージ本体の情報を設定すると，Cosminexus RMはメッセージ本体の情報を取得できません。

Cosminexus RMがメッセージを送信するときに，SOAPアタッチメントを設定するMIMEパートのMIMEヘッダに設定する内容を次の表に示します。

表B-6　メッセージ送信時のMIMEヘッダ要素一覧

項番 | MIMEヘッダ要素 | 説明
1 | Content-Type | SOAPアタッチメントに設定したメッセージ本体のデータ型を設定します。Content-Typeがtext/plainの場合，バイト配列を文字コードがUTF-8のデータとして扱います。文字コードがUTF-8以外の値を指定してキュー間転送した場合，受信側で同じ値を取得できません。
2 | Content-Transfer-Encoding | メッセージ本体を送信するときのエンコーディング方式を設定します。binaryを設定します。

付録B.7　Cosminexus RMが返信するフォルトコード一覧

Cosminexus RMは，メッセージの受信時に障害が発生した場合，WS-Reliabilityに規定されたフォルトメカニズムに従って，RM-Faultを返します。Responseリプライパターンのメッセージへの応答でRM-Faultを返す場合は，SOAP Faultも同時に返します。その際，HTTPステータスコードに返す値はSOAP通信基盤の仕様に従います。

Cosminexus RMが返すRM-Faultのフォルトコードについて，次の表に示します。

表B-7　Cosminexus RMが返すRM-Faultのフォルトコード

種別
フォルトコード
障害内容

RMFault
InvalidRequest
受信したReliable Messageに次の要素がありません。

ExpiryTime

ReplyPattern

または，次の要素が二つ以上含まれています。

MessageId

ExpiryTime

ReplyPattern

受信したReliable Messageの要素が，次に示す順序に従っていません。

MessageId

ExpiryTime

ReplyPattern

MessageOrder要素があるのに，AckRequested要素とDuplicateElimination要素がありません。

SOAP:mustUnderstand属性がありません。または，SOAP:mustUnderstand属性の値は「1」以外です。

InvalidPollRequest
該当しません。

InvalidMessageId
受信したReliable Messageで，MessageId要素に含まれる要素や属性が不正です。

groupId属性の指定値が256バイトを超えています。

groupId属性の指定値がURI[RFC2396]と一致しません。

SequenceNum要素が2個以上指定されています。

InvalidMessageParameters
受信したReliable Messageの属性で，次のような不正があります。

groupExpiryTime属性とgroupMaxIdleDuration属性が両方ともありません。

groupExpiryTime属性とgroupMaxIdleDuration属性が両方とも指定されています。

groupExpiryTimeまたはgroupMaxIdleDurationの指定値が，時刻または時間として読み取れません。

number属性の値が0～18446744073709551615の範囲外です。

受信したReliable MessageのgroupExpiryTime属性の時刻がExpiryTime要素の時刻と同じか，またはそれ以前の時刻です。

受信したReliable MessageのgroupExpiryTime属性の時刻が，以前受信した同じグループのメッセージの最大ExpiryTimeの時刻と同じか，またはそれ以前の時刻です。

InvalidReplyPattern
受信したReliable Messageで，ReplyPattern要素に含まれる要素が不正です。
・Value要素がありません。
・Value要素が二つ以上含まれています。
・Value要素にResponse，Callback，およびPoll以外の文字列が指定されています。

InvalidExpiryTime
受信したReliable Messageで，ExpiryTime要素の指定値が時刻として読み取れません。

受信したReliable Messageで，ExpiryTime要素から取得した時刻が有効期限切れです。

FeatureNotSupported
受信したReliable Messageで，SequenceNum要素が省略されています。

受信したReliable Messageで，groupMaxIdleDuration属性が指定されています。

受信したReliable Messageで，last属性が指定されています。

受信したReliable Messageで，ReplyPattern/Value要素にCallbackまたはPollが指定されています。

PollRequest Messageを受信しました。

Reliable MessageとRM-Reply Messageを同梱したSOAPメッセージを受信しました。

PermanentProcessingFailure
スキップ済みの受信待ちメッセージを受信しました。

指定されたキューがないか，またはローカルキューではありません。

受信処理中に永続的な内部障害が発生しました。

指定されたキューが閉塞状態です。

MessageProcessingFailure
配送待ちメッセージがキューのメッセージ最大数に達しているなどの理由で，受信キューにメッセージを登録できません。

指定されたキューが受信抑止中です。

受信処理中に一時的な内部障害が発生しました。

GroupAborted
障害が発生して閉鎖されたグループでメッセージを受信しました。

指定されたグループは，指定されたキュー以外に属するグループです。

受信処理中にグループが有効期限切れになり，削除されました。

非永続キューのグループが再起動によって閉鎖されました。

なお，Cosminexus RMは，SOAP Faultだけを返す場合があります。Cosminexus RMが返すSOAP Faultのフォルトコードについて，次の表に示します。

表B-8　Cosminexus RMが返すSOAP Faultのフォルトコード

種別 | フォルトコード | 障害文字列（faultstring） | 障害内容
SOAP Fault | Server | Exception occurred at the server side. | Cosminexus RMが閉塞状態のときにメッセージを受信しました。
Cosminexus RMが管理状態か，または開始中状態のときメッセージを受信しました。
受信処理中に内部障害が発生しました。
Client | Invalid message was transmitted by client side. | 受信したSOAPメッセージにWS-Reliabilityのヘッダが指定されていません（プロトコルが不明のSOAPメッセージです）。
正常にRM-Faultを返せない不正なメッセージを受信しました。

付録C　サンプルアプリケーション

Cosminexus RMが提供するサンプルアプリケーションの処理の流れおよびCosminexus Component Containerで実行する手順について説明します。

次に示すサンプルアプリケーションが，Cosminexus RMのインストール先のsamplesディレクトリに格納されています。

SessionBean1

ローカルキューを使って，メッセージの送信と受信を実行します。

永続版リソースアダプタの場合と非永続版リソースアダプタの場合で実行する手順が異なります。

SessionBean2

キュー間転送を使って，メッセージの送信と受信を実行します。

永続版リソースアダプタの場合だけ提供されます。

なお，SessionBean1を動作させるための環境構築のサンプル手順については，「付録C.1　環境構築のサンプル手順」を参照してください。

＜この節の構成＞

付録C.1　環境構築のサンプル手順

付録C.2　SessionBean1の処理の流れ

付録C.3　SessionBean1の実行手順（永続版リソースアダプタの場合）

付録C.4　SessionBean1の実行手順（非永続版リソースアダプタの場合）

付録C.5　SessionBean2の処理の流れ（永続版リソースアダプタの場合）

付録C.6　SessionBean2の実行手順（永続版リソースアダプタの場合）

付録C.1　環境構築のサンプル手順

SessionBean1を動作させるためのCosminexus RMの環境構築のサンプル手順について説明します。

なお，J2EEサーバやリソースアダプタの操作では，Cosminexus Management Serverから行う方法とコマンドを使用して行う方法がありますが，ここではコマンドを使用して行う方法について説明します。

＜この項の構成＞

(1)　前提となるマシンとソフトウェア構成

(2)　事前準備

(3)　環境構築手順

(1)　前提となるマシンとソフトウェア構成

ここで説明するサンプル手順は，次に示すマシンとソフトウェア構成を前提として，Cosminexus RMの環境を構築します。

図C-1　前提となるマシンとソフトウェア構成

各構成要素の項目について次の表に説明します。

表C-1　構成要素の項目

構成要素名
項目
項目情報

Cosminexus稼働マシン
OS
Windows

Cosminexus（J2EEサーバ）
インストールディレクトリ
C:¥Program Files¥Hitachi¥Cosminexus

J2EEサーバ名称
MyServer

CORBAネーミングサービス（nameserv）のポート番号
900

Cosminexus RM
表示名
Cosminexus_Reliable_Messaging

リソースアダプタ種別
永続版リソースアダプタ

Cosminexus RMのシステム名
CRM

利用トランザクション種別
ローカルトランザクション

コネクションプール利用数
2（最大/最小）

作成するキュー
キュー種別：ローカルキュー
キューの永続性：永続
キュー名：localq1
表示名：QUEUE1

DB Connector for Cosminexus RM
表示名
DB_Connector_for_HiRDB_Type4_Cosminexus_RM

種別
HiRDB Type4 JDBC Driver用（ローカルトランザクション）

JDBCドライバ
ドライバ種別
HiRDB Type4 JDBCドライバ

DBMS
DB種別
HiRDB Single Server Version8

ポート番号
22200

Cosminexus RM用の管理情報テーブルを作成するRDエリア名
RDDATA10

(2)　事前準備

サンプル手順を利用してCosminexus RMの環境を構築する前に，次の作業を実施しておく必要があります。

(a)　インストール

Cosminexus RMおよびCosminexus RMの前提製品をすべてインストールします。詳細については，「3.2　Cosminexus RMのインストール」を参照してください。

(b)　環境変数の設定

Cosminexus RMが動作するマシンで，次に示す環境変数を設定します。詳細については，「3.3.2　環境変数の設定」を参照してください。

表C-2　設定する環境変数

環境変数 | 設定値 | 説明
HRMDIR | C:¥Program Files¥Hitachi¥Cosminexus¥RM | －
HRM_SYSTEM_NAME | CRM | －
HRM_CMD_PORT | 900 | CORBAネーミングサービス（nameserv）のポート番号です。
HRM_CMD_HOST | localhost | －
PATH | %PATH%;%HRMDIR%¥bin | コマンドが格納されたディレクトリです。

（凡例）

－：特にありません。

(c)　DBMS（HiRDB）のインストールと初期設定

HiRDBサーバ，HiRDBクライアント，およびSQL Executerをインストールして，初期設定します。詳細については，「3.4.1(1)(a)　HiRDBの初期設定」および「3.4.1(2)　DBクライアントの設定」を参照してください。

(d)　DBMS（HiRDB）のユーザ権限の付与とスキーマの定義

HiRDBサーバで，ユーザ権限の付与とスキーマの定義を実施します。詳細については，「3.4.1(1)(b)　HiRDBのユーザ権限の付与」および「3.4.1(1)(c)　HiRDBのスキーマの定義」を参照してください。

(e)　HiRDB Type4 JDBC Driverの設定

HiRDB Type4 JDBC Driverの設定をします。詳細については，「3.4.7(3)　HiRDB Type4 JDBC Driverの設定」を参照してください。

(f)　J2EEサーバ（Cosminexus）の設定

J2EEサーバ（Cosminexus）をセットアップします。詳細については，「3.4.3　J2EEサーバ（Cosminexus）の設定」を参照してください。

(g)　その他の設定

環境構築のための作業ディレクトリとして「D:¥work」を作成します。作成したディレクトリには，読み取り権限および書き込み権限を設定します。

(3)　環境構築手順

Cosminexus RMの環境構築のサンプル手順を次に示します。

(a)　Cosminexus RMの管理情報テーブルの作成

次のコマンドを実行して，テーブル作成用SQLファイルを作業ディレクトリにコピーします。

copy "C:¥Program Files¥Hitachi¥Cosminexus¥RM¥sql¥createtableshirdb.sql" D:¥work

コピーしたSQLファイル（D:¥work¥createtableshirdb.sql）をテキストエディタで開き，ファイル中の次の記述を置き換えて保存します。
<RMSystemName> → CRM
<RMAREA> → RDDATA10

次のコマンドを実行して，HiRDB SQL Executerを開始します。

pdsqlw -u <DBへの接続ユーザ名>/<パスワード> -h localhost -n 22200

HiRDB SQL Executerの［ファイル］メニューから［ファイルから実行］を選択し，「D:¥work¥createtableshirdb.sql」を指定して実行します。

(b)　J2EEサーバの起動

次のコマンドを実行して，J2EEサーバを起動します。

cjstartsv MyServer

(c)　Cosminexus RMのプロパティ定義

次のコマンドを実行して，作業ディレクトリにCosminexus RMのConnector属性ファイルのテンプレートをコピーします。

copy "C:¥Program Files¥Hitachi¥Cosminexus¥RM¥conf¥rm_prop.xml" D:¥work

コピーしたConnector属性ファイルのテンプレート（D:¥work¥rm_prop.xml）をテキストエディタで開き，次のように設定します。

コンフィグレーションプロパティ（<config-property-name>タグ）

プロパティ名 | 設定値
RMSystemName | CRM
RMLinkedDBConnectorName | DB_Connector_for_HiRDB_Type4_Cosminexus_RM

実行時プロパティ（<property>タグ）

プロパティ名 | 設定値
MaxPoolSize | 2
MinPoolSize | 2
User | <DBユーザ>
Password | <DBパスワード>

トランザクションサポートレベル（<transaction-support>タグ）

タグ名 | 設定値
<transaction-support> | LocalTransaction

(d)　DB Connector for Cosminexus RMのプロパティ定義

次のコマンドを実行して，作業ディレクトリにDB Connector for Cosminexus RMのConnector属性ファイルのテンプレートをコピーします。

copy "C:¥Program Files¥Hitachi¥Cosminexus¥CC¥admin¥templates¥DBConnector_HiRDB_Type4_CP_Cosminexus_RM_cfg.xml"  D:¥work

コピーしたConnector属性ファイルのテンプレート（D:¥work¥DBConnector_HiRDB_Type4_CP_Cosminexus_RM_cfg.xml）をテキストエディタで開き，次のように設定します。

コンフィグレーションプロパティ（<config-property-name>タグ）

プロパティ名 | 設定値
linkedResourceAdapterName | Cosminexus_Reliable_Messaging
description | 22200
DBHostName | localhost
environmentVariables | PDSWAITTIME=600;PDCWAITTIME=600;PDSWATCHTIME=0

実行時プロパティ（<property>タグ）

プロパティ名 | 設定値
MaxPoolSize | 2
MinPoolSize | 2
User | <DBユーザ>
Password | <DBパスワード>

トランザクションサポートレベル（<transaction-support>タグ）

タグ名 | 設定値
<transaction-support> | LocalTransaction

(e)　DB Connector for Cosminexus RMのインポート

次のコマンドを実行して，DB Connector for Cosminexus RMをインポートします。

cjimportres MyServer -type rar -f "C:¥Program Files¥Hitachi¥Cosminexus¥CC¥DBConnector¥ReliableMessaging¥DBConnector_HiRDB_Type4_CP_Cosminexus_RM.rar"

(f)　Cosminexus RMのインポート

次のコマンドを実行して，Cosminexus RMをインポートします。

cjimportres MyServer -type rar -f "C:¥Program Files¥Hitachi¥Cosminexus¥RM¥lib¥reliablemessaging.rar"

(g)　DB Connector for Cosminexus RMのプロパティ設定

次のコマンドを実行して，DB Connector for Cosminexus RMのプロパティを設定します。

cjsetresprop MyServer -type rar -resname DB_Connector_for_HiRDB_Type4_Cosminexus_RM -c D:¥work¥DBConnector_HiRDB_Type4_CP_Cosminexus_RM_cfg.xml

(h)　Cosminexus RMのプロパティ設定

次のコマンドを実行して，Cosminexus RMのプロパティを設定します。

cjsetresprop MyServer -type rar -resname Cosminexus_Reliable_Messaging -c D:¥work¥rm_prop.xml

(i)　DB Connector for Cosminexus RMのデプロイ

次のコマンドを実行して，DB Connector for Cosminexus RMをデプロイします。

cjdeployrar MyServer -resname DB_Connector_for_HiRDB_Type4_Cosminexus_RM

(j)　Cosminexus RMのデプロイ

次のコマンドを実行して，Cosminexus RMをデプロイします。

cjdeployrar MyServer -resname Cosminexus_Reliable_Messaging

(k)　DB Connector for Cosminexus RMの開始

次のコマンドを実行して，DB Connector for Cosminexus RMを開始します。

cjstartrar MyServer -resname DB_Connector_for_HiRDB_Type4_Cosminexus_RM

(l)　Cosminexus RMの接続テスト

次のコマンドを実行して，Cosminexus RMの接続テストを実施します。

cjtestres MyServer -type rar -resname Cosminexus_Reliable_Messaging

接続テストに失敗した場合は，出力されるメッセージに従って対処し，再度接続テストを実施してください。

(m)　Cosminexus RMの開始

次のコマンドを実行して，Cosminexus RMを開始します。

cjstartrar MyServer -resname Cosminexus_Reliable_Messaging

(n)　キューの作成

次のコマンドを実行して，Cosminexus RMのキューを作成します。

hrmmkque -t local -x QUEUE1 localq1

(o)　Cosminexus RMの状態遷移

次のコマンドを実行して，Cosminexus RMを実行状態にします。

hrmstart

付録C.2　SessionBean1の処理の流れ

SessionBean1の処理の流れについて，次の図に示します。

図C-2　サンプルアプリケーション（SessionBean1）の処理の流れ

付録C.3　SessionBean1の実行手順（永続版リソースアダプタの場合）

永続版リソースアダプタの場合にSessionBean1をCosminexus Component Containerで実行する手順について説明します。

サンプルアプリケーションの格納ディレクトリ（%HRMDIR%¥samples¥SessionBean1）をディレクトリごと任意の別ディレクトリにコピーしてください。以降ではコピーした先のSessionBean1ディレクトリを作業ディレクトリと呼びます。

作業ディレクトリに移動します。

実行ファイルの編集

deployApp.bat，testClient.batおよびunDeployApp.bat（UNIXの場合，それぞれdeployApp，testClientおよびunDeployApp）で定義されている環境変数SERVERNAMEをJ2EEサーバの名称と同じ値に修正します。

コンパイル

Windowsの場合

compileBean.bat → compileClient.batの順に実行します。

UNIXの場合

compileBean → compileClientの順に実行します。

作業ディレクトリにjmssample1.earというJ2EEアプリケーション（アプリケーション名JMSSample1のEARファイル）が作成されます。

サーバ管理コマンドで，DB Connector for Cosminexus RMのリソースアダプタをインポートします。

サーバ管理コマンドで，Cosminexus RMのリソースアダプタをインポートします。Cosminexus RMの表示名は，デフォルトの"Cosminexus_Reliable_Messaging"から変更しないでください。

Cosminexus RMのリソースアダプタのプロパティを設定します。なお，QueueConfigFileNameプロパティの設定は不要です。プロパティの詳細については，「6.　コンフィグレーションプロパティ」を参照してください。

DB Connector for Cosminexus RMのリソースアダプタのプロパティを設定します。プロパティの詳細については，「6.　コンフィグレーションプロパティ」を参照してください。

DB Connector for Cosminexus RMのリソースアダプタをデプロイし，開始します。

Cosminexus RMのリソースアダプタをデプロイし，開始します。

ローカルキューを作成するため，hrmmkqueコマンドを次のとおり実行します。

hrmmkque -t local -x QUEUE1 localq1

deployApp.bat（UNIXの場合，deployApp）を実行し，J2EEアプリケーション（JMSSample1）の(1)インポート，(2)設定，(3)開始，(4)アプリケーションの状態表示および(5)EJBのスタブおよびインタフェースファイルの取得を実行します。
(4)ではJ2EEアプリケーション（JMSSample1）の状態が"running"になっていることを確認できます。なお(1)～(5)はそれぞれCosminexus Component Containerの(1)cjimportapp，(2)cjsetappprop，(3)cjstartapp，(4)cjlistappおよび(5)cjgetstubsjarコマンドをバッチファイル中で実行しています。

Cosminexus RMが管理状態である場合はhrmstartコマンドを実行して，実行状態にします。

testClient.bat（UNIXの場合，testClient）を実行します。
J2EEサーバを開始しているコンソール画面に"The message is: ******** sample put data JMSSample1 ********"が表示されることで実行を確認できます。

付録C.4　SessionBean1の実行手順（非永続版リソースアダプタの場合）

非永続版リソースアダプタの場合にSessionBean1をCosminexus Component Containerで実行する手順について説明します。

サンプルアプリケーションの格納ディレクトリ（%HRMDIR%¥samples¥SessionBean1）をディレクトリごと任意の別ディレクトリにコピーしてください。以降ではコピーした先のSessionBean1ディレクトリを作業ディレクトリと呼びます。

作業ディレクトリに移動します。

実行ファイルの編集

deployApp.bat，testClient.batおよびunDeployApp.bat（UNIXの場合，それぞれdeployApp，testClientおよびunDeployApp）で定義されている環境変数SERVERNAMEをJ2EEサーバの名称と同じ値に修正します。

コンパイル

Windowsの場合

compileBean.bat → compileClient.batの順に実行します。

UNIXの場合

compileBean → compileClientの順に実行します。

作業ディレクトリにjmssample1.earというJ2EEアプリケーション（アプリケーション名JMSSample1のEARファイル）が作成されます。

サーバ管理コマンドで，Cosminexus RMのリソースアダプタをインポートします。Cosminexus RMの表示名は，デフォルトの"Cosminexus_Reliable_Messaging"から変更しないでください。

リソースアダプタのプロパティを設定します。QueueMakeFileNameプロパティに，作業ディレクトリにあるキュー作成ファイルQueueMake.propertiesを完全パスで指定します。また，そのほかのプロパティも設定します。なお，QueueConfigFileNameプロパティの設定は不要です。プロパティの詳細については，「6.　コンフィグレーションプロパティ」を参照してください。

リソースアダプタをデプロイし，開始します。

deployApp.bat（UNIXの場合，deployApp）を実行し，J2EEアプリケーション（JMSSample1）の(1)インポート，(2)設定，(3)開始，(4)アプリケーションの状態表示および(5)EJBのスタブおよびインタフェースファイルの取得を実行します。
(4)ではJ2EEアプリケーション（JMSSample1）の状態が"running"になっていることを確認できます。なお(1)～(5)はそれぞれCosminexus Component Containerの(1)cjimportapp，(2)cjsetappprop，(3)cjstartapp，(4)cjlistappおよび(5)cjgetstubsjarコマンドをバッチファイル中で実行しています。

testClient.bat（UNIXの場合，testClient）を実行します。
J2EEサーバを開始しているコンソール画面に"The message is: ******** sample put data JMSSample1 ********"が表示されることで実行を確認できます。

付録C.5　SessionBean2の処理の流れ（永続版リソースアダプタの場合）

キュー間転送を使うサンプルアプリケーションSessionBean2は，メッセージ送信用とメッセージ受信用の2種類のアプリケーションから構成されるシステムです。SessionBean2は，永続版リソースアダプタの場合だけ提供されます。

送信用サンプルアプリケーション（SessionBean2Send）

転送キュー（キュー名：tranq1）からローカルキュー（キュー名：localq1）へメッセージを転送します。

受信用サンプルアプリケーション（SessionBean2Receive）

ローカルキュー（キュー名：localq1）からメッセージを受信します。

SessionBean2のシステム構成を次に示します。

図C-3　サンプルアプリケーション（SessionBean2）のシステム構成

送信用サンプルアプリケーションSessionBean2Sendの処理の流れを次の図に示します。

図C-4　送信用サンプルアプリケーション（SessionBean2Send）の処理の流れ

受信用サンプルアプリケーションSessionBean2Receiveの処理の流れを次の図に示します。

図C-5　受信用サンプルアプリケーション（SessionBean2Receive）の処理の流れ

付録C.6　SessionBean2の実行手順（永続版リソースアダプタの場合）

SessionBean2を実行するために必要な環境設定と実行の手順を説明します。

＜この項の構成＞

(1)　環境設定

(2)　実行手順

(1)　環境設定

Cosminexus Component Containerの環境設定の手順を説明します。

(a)　送信用サンプルアプリケーション

送信用サンプルアプリケーションの格納ディレクトリ（%HRMDIR%¥samples¥SessionBean2¥Send）を，ディレクトリごと任意の別ディレクトリにコピーしてください。以下ではコピーした先のSendディレクトリを送信用作業ディレクトリと呼びます。

サーバ管理コマンドで，DB Connector for Cosminexus RMのリソースアダプタをインポートします。

サーバ管理コマンドで，Cosminexus RMのリソースアダプタをインポートします。Cosminexus RMの表示名は，デフォルトの"Cosminexus_Reliable_Messaging"から変更しないでください。

Cosminexus RMのリソースアダプタのプロパティを設定します。なお，QueueConfigFileNameプロパティの設定は不要です。プロパティの詳細については，「6.　コンフィグレーションプロパティ」を参照してください。

DB Connector for Cosminexus RMのリソースアダプタのプロパティを設定します。プロパティの詳細については，「6.　コンフィグレーションプロパティ」を参照してください。

DB Connector for Cosminexus RMのリソースアダプタをデプロイし，開始します。

Cosminexus RMのリソースアダプタをデプロイし，開始します。

メッセージ送信のあて先を登録するため，hrmmkaddrコマンドを次のとおり実行します。

hrmmkaddr -u <localq1が存在するシステムのあて先アドレス> localq1Address

転送キューを作成するため，hrmmkqueコマンドを次のとおり実行します。

hrmmkque -t transmit -a localq1Address -v localq1 -x QUEUE1 tranq1

Cosminexus RMが管理状態になっている場合，hrmstartコマンドを実行してCosminexus RMを実行状態にします。

(b)　受信用サンプルアプリケーション

受信用サンプルアプリケーションの格納ディレクトリ（%HRMDIR%¥samples¥SessionBean2¥Receive）を，ディレクトリごと任意の別ディレクトリにコピーしてください。以下ではコピーした先のReceiveディレクトリを受信用作業ディレクトリと呼びます。

サーバ管理コマンドで，DB Connector for Cosminexus RMのリソースアダプタをインポートします。

サーバ管理コマンドで，Cosminexus RMのリソースアダプタをインポートします。Cosminexus RMの表示名は，デフォルトの"Cosminexus_Reliable_Messaging"から変更しないでください。

Cosminexus RMのリソースアダプタのプロパティを設定します。なお，QueueConfigFileNameプロパティの設定は不要です。プロパティの詳細については，「6.　コンフィグレーションプロパティ」を参照してください。

DB Connector for Cosminexus RMのリソースアダプタのプロパティを設定します。プロパティの詳細については，「6.　コンフィグレーションプロパティ」を参照してください。

DB Connector for Cosminexus RMのリソースアダプタをデプロイし，開始します。

Cosminexus RMのリソースアダプタをデプロイし，開始します。

ローカルキューを作成するため，hrmmkqueコマンドを次のとおり実行します。

hrmmkque -t local -x QUEUE1 localq1

Cosminexus RMのキュー間転送用Webアプリケーションをデプロイし，開始します。

Cosminexus RMが管理状態になっている場合，hrmstartコマンドを実行してCosminexus RMを実行状態にします。

(2)　実行手順

SessionBean2をCosminexus Component Containerで実行する手順について説明します。

(a)　送信用サンプルアプリケーション

送信用作業ディレクトリに移動します。

実行ファイルの編集
deployApp.bat，testSendClient.batおよびunDeployApp.bat（UNIXの場合，それぞれdeployApp，testSendClientおよびunDeployApp）で定義されている環境変数SERVERNAMEをJ2EEサーバ1の名称と同じ値に修正します。

コンパイル

Windowsの場合

compileBean.bat → compileClient.batの順に実行します。

UNIXの場合

compileBean → compileClientの順に実行します。

送信用作業ディレクトリにjmssample2Send.earというJ2EEアプリケーション（EARファイル，アプリケーション名JMSSample2Send）が作成されます。

deployApp.bat（UNIXの場合，deployApp）を実行し，J2EEアプリケーションJMSSample2Sendの(1)インポート，(2)設定，(3)開始，(4)アプリケーションの状態表示，(5)EJBのスタブ・インタフェースファイルの取得を行います。(4)で，J2EEアプリケーションJMSSample2Sendの状態が"running"になっていることを確認できます。なお(1)～(5)はそれぞれCosminexus Component Containerの(1)cjimportapp，(2)cjsetappprop，(3)cjstartapp，(4)cjlistapp，(5)cjgetstubsjarの各コマンドをバッチファイル中で実行しています。

testSendClient.bat（UNIXの場合，testSendClient）を実行します。
J2EEサーバを起動しているコンソール画面に以下の文字が表示されることで実行を確認できます。

JMSSample2Send sends a message1 to JMSSample2Receive
JMSSample2Send sends a message2 to JMSSample2Receive
JMSSample2Send sends a message3 to JMSSample2Receive

(b)　受信用サンプルアプリケーション

受信用作業ディレクトリに移動します。

実行ファイルの編集
deployApp.bat，testReceiveClient.bat，およびunDeployApp.bat（UNIXの場合，それぞれdeployApp，testReceiveClient，およびunDeployApp）で定義されている環境変数SERVERNAMEをJ2EEサーバ2の名称と同じ値に修正します。

コンパイル

Windowsの場合

compileBean.bat → compileClient.batの順に実行します。

UNIXの場合

compileBean → compileClientの順に実行します。

受信用作業ディレクトリにjmssample2Receive.earというJ2EEアプリケーション（EARファイル，アプリケーション名JMSSample2Receive）が作成されます。

deployApp.bat（UNIXの場合，deployApp）を実行し，J2EEアプリケーションJMSSample2Receiveの(1)インポート，(2)設定，(3)開始，(4)アプリケーションの状態表示，(5)EJBのスタブ・インタフェースファイルの取得を行います。(4)で，J2EEアプリケーションJMSSample2Receiveの状態が"running"になっていることを確認できます。なお(1)～(5)はそれぞれCosminexus Component Containerの(1)cjimportapp，(2)cjsetappprop，(3)cjstartapp，(4)cjlistapp，(5)cjgetstubsjarの各コマンドをバッチファイル中で実行しています。

testReceiveClient.bat(UNIXの場合，testReceiveClient)を実行します。
J2EEサーバを起動しているコンソール画面に以下の文字が表示されることで実行を確認できます。

The message is: ******** JMSSample2Receive receives a message1 from JMSSample2Send ********
The message is: ******** JMSSample2Receive receives a message2 from JMSSample2Send ********
The message is: ******** JMSSample2Receive receives a message3 from JMSSample2Send ********

付録D　PRFトレース取得時のイベントID

Cosminexus RMでは，各処理の入口と出口でPRFトレースを取得します。各処理でのイベントID，PRFトレースの出力ポイント，およびトレースの取得レベルを説明します。なお，取得レベルは，「A」，「B」で表現されます。「A」レベルは標準，「B」レベルは詳細を意味します。

＜この節の構成＞

付録D.1　永続版リソースアダプタの場合

付録D.2　非永続版リソースアダプタの場合

付録D.1　永続版リソースアダプタの場合

永続版リソースアダプタの場合のCosminexus RMでは，次の処理の入口と出口でPRFトレースを取得します。

＜この項の構成＞

(1)　アプリケーションからのコネクションの取得と解放処理

(2)　J2EEサーバ（Cosminexus Component Container）からのコネクションのアソシエート処理

(3)　アプリケーションからのメッセージ送受信処理

(4)　J2EEサーバ（Cosminexus Component Container）からのトランザクション制御

(5)　JMSアプリケーションからのJMSセッションの決着処理

(6)　J2EEサーバ（Cosminexus Component Container）と連携したMessage-driven Beanメッセージ配信処理

(1)　アプリケーションからのコネクションの取得と解放処理

アプリケーションからのコネクションの取得と解放処理でのイベントIDを次の表に示します。

表D-1　アプリケーションからのコネクションの取得と解放処理でのイベントID（永続版リソースアダプタの場合）

イベントID | PRFトレース取得ポイント | 取得レベル
0x9360 | QueueConnection.createQueueSessionの入口 | A
0x9361 | QueueConnection.createQueueSessionの出口 | A
0x9362 | QueueSession.closeの入口 | A
0x9363 | QueueSession.closeの出口 | A
0x9364 | ManagedConnectionFactory.matchManagedConnectionの入口 | B
0x9365 | ManagedConnectionFactory.matchManagedConnectionの出口 | B

(2)　J2EEサーバ（Cosminexus Component Container）からのコネクションのアソシエート処理

J2EEサーバ（Cosminexus Component Container）からのコネクションのアソシエート処理でのイベントIDを次の表に示します。

表D-2　J2EEサーバ（Cosminexus Component Container）からのコネクションのアソシエート処理でのイベントID（永続版リソースアダプタの場合）

イベントID | PRFトレース取得ポイント | 取得レベル
0x9366 | ManagedConnection.associateConnectionの入口 | B
0x9367 | ManagedConnection.associateConnectionの出口 | B

(3)　アプリケーションからのメッセージ送受信処理

アプリケーションからのメッセージ送受信処理でのイベントIDを次の表に示します。

表D-3　アプリケーションからのメッセージ送受信処理でのイベントID（永続版リソースアダプタの場合）

イベントID | PRFトレース取得ポイント | 取得レベル
0x9368 | QueueSender.send(msg) の入口 | A
0x9369 | QueueSender.send(msg) の出口 | A
0x936A | QueueSender.send(msg,dlvmd, pri,ttl) の入口 | A
0x936B | QueueSender.send(msg,dlvmd, pri,ttl) の出口 | A
0x936C | QueueSender.send(que,msg) の入口 | A
0x936D | QueueSender.send(que,msg) の出口 | A
0x936E | QueueSender.send(que,msg,dlvmd, pri,ttl) の入口 | A
0x936F | QueueSender.send(que,msg,dlvmd, pri,ttl) の出口 | A
0x9370 | QueueReceiver.receive(引数なし) の入口 | A
0x9371 | QueueReceiver.receive(引数なし) の出口 | A
0x9372 | QueueReceiver.receive(timeout) の入口 | A
0x9373 | QueueReceiver.receive(timeout) の出口 | A
0x9374 | QueueReceiver.receiveNoWaitの入口 | A
0x9375 | QueueReceiver.receiveNoWaitの出口 | A
0x9376 | Enumeration.nextElementの入口 | A
0x9377 | Enumeration.nextElementの出口 | A

(4)　J2EEサーバ（Cosminexus Component Container）からのトランザクション制御

J2EEサーバ（Cosminexus Component Container）からのトランザクション制御でのイベントIDを次の表に示します。

表D-4　J2EEサーバ（Cosminexus Component Container）からのトランザクション制御でのイベントID（永続版リソースアダプタの場合）

イベントID | PRFトレース取得ポイント | 取得レベル
0x9378 | XAResource.startの入口 | B
0x9379 | XAResource.startの出口 | B
0x937A | XAResource.endの入口 | B
0x937B | XAResource.endの出口 | B
0x937C | XAResource.prepareの入口 | B
0x937D | XAResource.prepareの出口 | B
0x937E | XAResource.commitの入口 | B
0x937F | XAResource.commitの出口 | B
0x9380 | XAResource.rollbackの入口 | B
0x9381 | XAResource.rollbackの出口 | B
0x9382 | XAResource.forgetの入口 | B
0x9383 | XAResource.forgetの出口 | B
0x9384 | XAResource.recoverの入口 | B
0x9385 | XAResource.recoverの出口 | B
0x9386 | LocalTransaction.beginの入口 | B
0x9387 | LocalTransaction.beginの出口 | B
0x9388 | LocalTransaction.commitの入口 | B
0x9389 | LocalTransaction.commitの出口 | B
0x938A | LocalTransaction.rollbackの入口 | B
0x938B | LocalTransaction.rollbackの出口 | B

(5)　JMSアプリケーションからのJMSセッションの決着処理

JMSアプリケーションからのJMSセッションの決着処理でのイベントIDを次の表に示します。

表D-5　JMSアプリケーションからのJMSセッションの決着処理でのイベントID（永続版リソースアダプタの場合）

イベントID | PRFトレース取得ポイント | 取得レベル
0x938C | QueueSession.commitの入口 | A
0x938D | QueueSession.commitの出口 | A
0x938E | QueueSession.rollbackの入口 | A
0x938F | QueueSession.rollbackの出口 | A
0x9390 | Message.acknowledgeの入口 | A
0x9391 | Message.acknowledgeの出口 | A
0x9392 | QueueSession.recoverの入口 | A
0x9393 | QueueSession.recoverの出口 | A

(6)　J2EEサーバ（Cosminexus Component Container）と連携したMessage-driven Beanメッセージ配信処理

J2EEサーバ（Cosminexus Component Container）と連携したMessage-driven Beanメッセージ配信処理でのイベントIDを次の表に示します。

表D-6　J2EEサーバ（Cosminexus Component Container）と連携したMessage-driven Beanメッセージ配信処理でのイベントID（永続版リソースアダプタの場合）

イベントID | PRFトレース取得ポイント | 取得レベル
0x9394 | XAQueueSessionImpl.beforeDeliveryのServerSession.beforeDeliveryの呼び出し後 | B
0x9395 | XAQueueSessionImpl.onMessageのMessageListener.onMessageの呼び出し前 | A
0x9396 | XAQueueSessionImpl.onMessageのMessageListener.onMessageの呼び出し後 | A
0x9397 | XAQueueSessionImpl.afterDeliveryのServerSession. afterDeliveryの呼び出し前 | B

付録D.2　非永続版リソースアダプタの場合

非永続版リソースアダプタの場合のCosminexus RMでは，次の処理の入口と出口でPRFトレースを取得します。

＜この項の構成＞

(1)　アプリケーションからのコネクションの取得と解放処理

(2)　J2EEサーバ（Cosminexus Component Container）からのコネクションのアソシエート処理

(3)　アプリケーションからのメッセージ送受信処理

(4)　J2EEサーバ（Cosminexus Component Container）からのトランザクション制御

(5)　JMSアプリケーションからのJMSセッションの決着処理

(6)　J2EEサーバ（Cosminexus Component Container）と連携したMessage-driven Beanメッセージ配信処理

(1)　アプリケーションからのコネクションの取得と解放処理

アプリケーションからのコネクションの取得と解放処理でのイベントIDを次の表に示します。

表D-7　アプリケーションからのコネクションの取得と解放処理でのイベントID（非永続版リソースアダプタの場合）

イベントID | PRFトレース取得ポイント | 取得レベル
0x9300 | QueueConnection.createQueueSessionの入口 | A
0x9301 | QueueConnection.createQueueSessionの出口 | A
0x9302 | QueueSession.closeの入口 | A
0x9303 | QueueSession.closeの出口 | A
0x9304 | ManagedConnection.matchManagedConnectionの入口 | B
0x9305 | ManagedConnection.matchManagedConnectionの出口 | B

(2)　J2EEサーバ（Cosminexus Component Container）からのコネクションのアソシエート処理

J2EEサーバ（Cosminexus Component Container）からのコネクションのアソシエート処理でのイベントIDを次の表に示します。

表D-8　J2EEサーバ（Cosminexus Component Container）からのコネクションのアソシエート処理でのイベントID（非永続版リソースアダプタの場合）

イベントID | PRFトレース取得ポイント | 取得レベル
0x9306 | ManagedConnection.associateConnectionの入口 | B
0x9307 | ManagedConnection.associateConnectionの出口 | B

(3)　アプリケーションからのメッセージ送受信処理

アプリケーションからのメッセージ送受信処理でのイベントIDを次の表に示します。

表D-9　アプリケーションからのメッセージ送受信処理でのイベントID（非永続版リソースアダプタの場合）

イベントID | PRFトレース取得ポイント | 取得レベル
0x9308 | QueueSender.send(msg) の入口 | A
0x9309 | QueueSender.send(msg) の出口 | A
0x930A | QueueSender.send(msg,dlvmd, pri,ttl) の入口 | A
0x930B | QueueSender.send(msg,dlvmd, pri,ttl) の出口 | A
0x930C | QueueSender.send(que,msg) の入口 | A
0x930D | QueueSender.send(que,msg) の出口 | A
0x930E | QueueSender.send(que,msg,dlvmd, pri,ttl) の入口 | A
0x930F | QueueSender.send(que,msg,dlvmd, pri,ttl) の出口 | A
0x9310 | QueueReceiver.receive(引数なし) の入口 | A
0x9311 | QueueReceiver.receive(引数なし) の出口 | A
0x9312 | QueueReceiver.receive(timeout) の入口 | A
0x9313 | QueueReceiver.receive(timeout) の出口 | A
0x9314 | QueueReceiver.receiveNoWaitの入口 | A
0x9315 | QueueReceiver.receiveNoWaitの出口 | A
0x9316 | Enumeration.nextElementの入口 | A
0x9317 | Enumeration.nextElementの出口 | A

(4)　J2EEサーバ（Cosminexus Component Container）からのトランザクション制御

J2EEサーバ（Cosminexus Component Container）からのトランザクション制御でのイベントIDを次の表に示します。

表D-10　J2EEサーバ（Cosminexus Component Container）からのトランザクション制御でのイベントID（非永続版リソースアダプタの場合）

イベントID | PRFトレース取得ポイント | 取得レベル
0x9318 | XAResource.startの入口 | B
0x9319 | XAResource.startの出口 | B
0x931A | XAResource.endの入口 | B
0x931B | XAResource.endの出口 | B
0x931C | XAResource.prepareの入口 | B
0x931D | XAResource.prepareの出口 | B
0x931E | XAResource.commitの入口 | B
0x931F | XAResource.commitの出口 | B
0x9320 | XAResource.rollbackの入口 | B
0x9321 | XAResource.rollbackの出口 | B
0x9322 | XAResource.forgetの入口 | B
0x9323 | XAResource.forgetの出口 | B
0x9324 | XAResource.recoverの入口 | B
0x9325 | XAResource.recoverの出口 | B
0x9326 | LocalTransaction.beginの入口 | B
0x9327 | LocalTransaction.beginの出口 | B
0x9328 | LocalTransaction.commitの入口 | B
0x9329 | LocalTransaction.commitの出口 | B
0x932A | LocalTransaction.rollbackの入口 | B
0x932B | LocalTransaction.rollbackの出口 | B

(5)　JMSアプリケーションからのJMSセッションの決着処理

JMSアプリケーションからのJMSセッションの決着処理でのイベントIDを次の表に示します。

表D-11　JMSアプリケーションからのJMSセッションの決着処理でのイベントID（非永続版リソースアダプタの場合）

イベントID | PRFトレース取得ポイント | 取得レベル
0x932C | QueueSession.commitの入口 | A
0x932D | QueueSession.commitの出口 | A
0x932E | QueueSession.rollbackの入口 | A
0x932F | QueueSession.rollbackの出口 | A
0x9330 | Message.acknowledgeの入口 | A
0x9331 | Message.acknowledgeの出口 | A
0x9332 | QueueSession.recoverの入口 | A
0x9333 | QueueSession.recoverの出口 | A

(6)　J2EEサーバ（Cosminexus Component Container）と連携したMessage-driven Beanメッセージ配信処理

J2EEサーバ（Cosminexus Component Container）と連携したMessage-driven Beanメッセージ配信処理でのイベントIDを次の表に示します。

表D-12　J2EEサーバ（Cosminexus Component Container）と連携したMessage-driven Beanメッセージ配信処理でのイベントID（非永続版リソースアダプタの場合）

イベントID | PRFトレース取得ポイント | 取得レベル
0x9335 | XAQueueSessionImpl.beforeDeliveryのServerSession.beforeDeliveryの呼び出し後 | B
0x9336 | XAQueueSessionImpl.onMessageのMessageListener.onMessageの呼び出し前 | A
0x9337 | XAQueueSessionImpl.onMessageのMessageListener.onMessageの呼び出し後 | A
0x9338 | XAQueueSessionImpl.afterDeliveryのServerSession. afterDeliveryの呼び出し前 | B

付録E　Cosminexus RMのメモリ所要量とディスク占有量

Cosminexus RMのメモリ所要量とディスク占有量を示します。

＜この節の構成＞

付録E.1　メモリ所要量

付録E.2　ディスク占有量

付録E.1　メモリ所要量

Javaヒープ領域でのCosminexus RMのメモリ所要量を示します。

Cosminexusのメモリ所要量と，次に示すCosminexus RMのメモリ所要量の総和の最大値をCosminexusのJ2EEサーバ用オプション定義ファイル（usrconf.cfg）に指定する必要があります。add.jvm.argキーの-Xmxオプションに指定してください。

＜この項の構成＞

(1)　永続版リソースアダプタの場合

(2)　非永続版リソースアダプタの場合

(1)　永続版リソースアダプタの場合

永続版リソースアダプタの場合のメモリ所要量を次に示します。

(a)　メモリ所要量の見積もり式

Cosminexus RMのメモリ所要量の総和を求めるには，次に示す1.～7.を加算します。

1.および2.で示すメモリ所要量は，Cosminexus RMが起動している間，常にJavaヒープ領域を消費する値です。

3.～6.で示すメモリ所要量は，該当する処理の間，一時的に使用されるメモリ使用量です。該当する処理が終わると解放されます。

7.で示すメモリ所要量は，JDBCコネクションの生成時に使用されるメモリ所要量です。JDBCコネクションを切断すると解放されます。ただし，Cosminexusのコネクションプーリング機能が有効な場合で，Cosminexusで定義したコネクションプーリング数に空きがあるときは，JDBCコネクションは解放されないでプールされるため，メモリは保持され続けます。

Cosminexus RM起動時のメモリ所要量

　60KB×キューの数
＋60KB×永続化されたメッセージ数
＋75KB×コンフィグレーションプロパティのMDBのインスタンス数
＋75KB×コンフィグレーションプロパティのRMTRSendThreadNumの値※1
＋20MB

メッセージをキャッシュした際のメモリ所要量

キャッシュしたメッセージのサイズ※2×キャッシュしたメッセージ数

送信処理で一時的に使用するメモリ使用量

（メッセージのサイズ※2×10＋150KB）×メッセージ同時送信数＋2MB

受信処理で一時的に使用するメモリ使用量

（メッセージのサイズ※2×5＋300KB）×メッセージ同時受信数＋2MB

MDBによる受信処理で一時的に使用するメモリ使用量

（メッセージのサイズ※2×5＋4MB）×メッセージ同時受信数＋2MB

キュー間転送で一時的に使用するメモリ使用量

（メッセージのサイズ※2×10＋450KB）×メッセージ同時送信数＋2MB

JDBCコネクションでのメモリ所要量

使用する最大のメッセージのサイズ※2×4×コネクション同時使用数

注※1

コンフィグレーションプロパティのRMTRConnectFlagの値をtrueに設定した場合だけ加算してください。

注※2

メッセージのヘッダ，プロパティ，ペイロードおよびメッセージに付属するオブジェクトのサイズの合計です。

(b)　メモリ所要量の見積もり例

次に示す七つの条件のもとにCosminexus RMのメモリ所要量を見積もる例を示します。

条件1：デフォルトのオプションで生成されたローカルキューが一つ

条件2：条件1のキューに永続化されたメッセージは10件

条件3：条件2のメッセージはキャッシュされていない状態

条件4：コンフィグレーションプロパティのMDBのインスタンス数の値を1に設定

条件5：使用する最大のメッセージのサイズが1MB

条件6：必須項目以外のコンフィグレーションプロパティはデフォルト値

条件7：メッセージサイズが1MBのメッセージ

見積もり例1

条件1～条件6を満たす環境でCosminexus RMを起動した場合のメモリ所要量は，「(1)(a)　メモリ所要量の見積もり式」で示した「1. Cosminexus RM起動時のメモリ所要量」と「7. JDBCコネクションでのメモリ所要量」の合計で算出できます。この条件の場合，7.のコネクション同時使用数は2となります。

（60KB×1＋60KB×10＋75KB×1＋20MB）＋（1MB×4×2）
＝約29MB

見積もり例2

条件1～条件5を満たす環境で，条件1で生成したローカルキューに対して条件7のメッセージを1件送信した際のメモリ所要量は，「(1)(a)　メモリ所要量の見積もり式」で示した「1. Cosminexus RM起動時のメモリ所要量」，「2. メッセージをキャッシュした際のメモリ所要量」，「3. 送信処理で一時的に使用するメモリ使用量」および「7. JDBCコネクションでのメモリ所要量」の合計で算出できます。この条件の場合，7.のコネクション同時使用数は2となります。

（60KB×1＋60KB×10＋75KB×1＋20MB）＋1MB＋（（1MB×10＋150KB）×1＋2MB）＋（1MB×4×2）
＝約42MB

(c)　メモリ所要量見積もり時の注意事項

次に示す値は，hrmmkqueコマンド（-tオプションにshr_receive指定）の実行時に一時的に使用するメモリ所要量です。

3KB×-nオプションの値＋3MB

この値は，サーバ側のJava VMでのメモリ使用量です。クライアント側でのメモリ使用量には加算されません。

(2)　非永続版リソースアダプタの場合

非永続版リソースアダプタの場合のメモリ所要量を次に示します。

(a)　メモリ所要量の見積もり式

Cosminexus RMのメモリ所要量の総和を求めるには，次に示す1.～5.を加算します。

1.および2.で示すメモリ所要量は，Cosminexus RMが起動している間，常にJavaヒープ領域を消費する値です。

3.～5.で示すメモリ所要量は，該当する処理の間，一時的に使用されるメモリ使用量です。該当する処理が終わると解放されます。

Cosminexus RM起動時のメモリ所要量

60KB×キューの数＋20MB

メッセージをキューに登録した際のメモリ所要量

キューに登録したメッセージのサイズ※×メッセージ数
＋60KB×登録されたメッセージ数

送信処理で一時的に使用するメモリ使用量

（メッセージのサイズ※×10＋150KB）×メッセージ同時送信数＋2MB

受信処理で一時的に使用するメモリ使用量

（メッセージのサイズ※×5＋300KB）×メッセージ同時受信数＋2MB

Message-driven Beanによる受信処理で一時的に使用するメモリ使用量

（メッセージのサイズ※×5＋4MB）×メッセージ同時受信数＋2MB

注※

メッセージのヘッダ，プロパティ，ペイロードおよびメッセージに付属するオブジェクトのサイズの合計です。

(b)　メモリ所要量の見積もり例

次に示す三つの条件のもとにCosminexus RMのメモリ所要量を見積もる例を示します。

条件1：デフォルトのオプションで生成されたローカルキューが10個

条件2：必須項目以外のコンフィグレーションプロパティはデフォルト値

条件3：メッセージサイズが1MBのメッセージ

見積もり例1

条件1～条件2を満たす環境でCosminexus RMを起動した場合のメモリ所要量は，「(2)(a)　メモリ所要量の見積もり式」で示した「1. Cosminexus RM起動時のメモリ所要量」で算出できます。

60KB×10＋20MB
＝約21MB

見積もり例2

条件1～条件2を満たす環境で，ローカルキューに対して条件3のメッセージを1件送信した際の一時的なメモリ所要量は，「(2)(a)　メモリ所要量の見積もり式」で示した次の値の合計で算出できます。

Cosminexus RM起動時のメモリ所要量

メッセージをキューに登録した際のメモリ所要量

送信処理で一時的に使用するメモリ使用量

（60KB×10＋20MB）＋（1MB×1＋60KB×1）＋（（1MB×10＋150KB）×1＋2MB）
＝約34MB

付録E.2　ディスク占有量

Cosminexus RMのディスク占有量は，永続版リソースアダプタ，非永続版リソースアダプタ共に10MBです。

付録F　HiRDBの見積もり

HiRDBの排他資源と同時アクセス可能実表数の見積もりについて説明します。

＜この節の構成＞

付録F.1　HiRDBの排他資源の見積もり

付録F.2　同時アクセス可能実表数の見積もり

付録F.1　HiRDBの排他資源の見積もり

HiRDBの排他資源数を見積もるには，Cosminexus RMに関する数値が必要となります。その数値とは，一つのトランザクションで発行した複数のSQL実行での排他資源の総和です。Cosminexus RMで排他資源数が最大となる場合の排他資源数を算出してpd_lck_pool_sizeオペランドに指定します。

排他資源数を見積もる計算式については，マニュアル「HiRDB システム定義」を参照してください。

Cosminexus RMの排他資源数は処理ごとのテーブルへのアクセス回数およびDBテーブルのBINARY型列数を使用して算出します。それぞれを次の表に示します。

表F-1　Cosminexus RMが使用するSQL

項番 | 処理 | キュー種別 | 使用SQL※1 | 使用テーブル | アクセス回数
1 | Cosminexus RM起動 | 永続キュー属性のローカルキューまたは転送キュー | SELECT | キュー情報 | テーブルごとに1回
FIFO情報
メッセージ情報
非永続キュー属性のローカルキューまたは転送キュー | SELECT | キュー情報
FIFO情報
受信用共用キュー | SELECT | キュー情報
FIFO情報
共用キュー受信用ライト管理
共用キュー受信用リード管理
送信用共用キュー | SELECT | キュー情報
FIFO情報
キューの種別にかかわらない場合 | SELECT | あて先情報 | 1回
2 | メッセージ送信 | 永続キュー属性のローカルキューまたは転送キュー | INSERT | メッセージ情報 | テーブルごとに1回
送信用共用キュー | UPDATE | メッセージ情報
共用キュー受信用ライト管理
3 | メッセージ受信 | 永続キュー属性のローカルキュー | SELECT | メッセージ情報 | テーブルごとに1回
UPDATE | メッセージ情報
受信用共用キュー | SELECT | メッセージ情報
UPDATE | 共用キュー受信用リード管理
4 | メッセージ閲覧 | 永続キュー属性のローカルキュー | SELECT | メッセージ情報 | テーブルごとに1回
受信用共用キュー | SELECT | メッセージ情報
5 | メッセージ削除 | 永続キュー属性のローカルキュー | DELETE | メッセージ情報 | 削除対象のメッセージの数
FIFO情報 | 削除対象のグループの数
UPDATE | FIFO情報 | 2回
SELECT※2 | メッセージ情報 | 削除対象のメッセージの数
INSERT※2 | メッセージ情報 | 削除対象のメッセージの数
非永続キュー属性のローカルキュー | DELETE | FIFO情報 | 削除対象のグループの数
永続キュー属性の転送キュー | DELETE | メッセージ情報 | 削除対象のメッセージの数
FIFO情報 | 削除対象のグループの数
UPDATE | FIFO情報 | 2回
非永続キュー属性の転送キュー | DELETE | FIFO情報 | 削除対象のグループの数

注※1

SQLの発行形態は次のとおりです。

・SELECT：LOCK TABLEなし，かつWITHOUT LOCK指定なし

・INSERT：VALUES句指定，LOCK TABLEなし，かつWITHOUT LOCK指定なし

・UPDATE：LOCK TABLEなし

・DELETE：LOCK TABLEなし

注※2

デッドメッセージキューを指定している場合だけ使用します。

表F-2　DBテーブルのBINARY型列数

項番 | DBテーブル種別 | BINARY型列数 | 備考
1 | システム管理情報 | 0 | －
2 | キュー情報 | 0 | －
3 | FIFO情報 | 2 | Cosminexus RMの内部情報として利用します。データ長はキュー間転送受信で順序保証を行ったときのスキップしたメッセージ数や未受信メッセージ数に依存します。1メッセージにつき，最大20けたのjava.math.BigInteger型とjava.lang.Long型を組み合わせたデータが格納されます。
4 | メッセージ情報 | 1 | 永続キュー属性のローカルキューまたは転送キューの最大メッセージ長。詳細については，「2.5.4　メッセージサイズを見積もる方法」を参照してください。
5 | 共用キュー受信用メッセージ情報 | 2 | 1列は，受信用共用キューの最大メッセージ長。詳細については，「2.5.4　メッセージサイズを見積もる方法」を参照してください。なお，もう1列は使用しません。
6 | 共用キュー受信用ライト管理 | 1 | 使用しません。
7 | 共用キュー受信用リード管理 | 2 | 1列は，Cosminexus RMの内部情報として256バイト固定で使用します。なお，もう1列は使用しません。
8 | あて先情報 | 0 | －

（凡例）

－：該当しません。

注意

各テーブルのテーブル数，行数，列数およびインデックス数については，「4.3.6　管理情報テーブルの一覧」を参照してください。

各テーブルを格納するRDエリアをHiRDBで決定させる場合は，テーブルごとにRDエリアを割り当てた数値としてください。

次の機能は使用していません。
表分割
インデックス分割
ビュー表
LOB列定義
ユーザ定義
LOB属性
上位型
関数
プラグイン
ルーチン
ページ排他

付録F.2　同時アクセス可能実表数の見積もり

Cosminexus RMの構成によっては，HiRDBの同時アクセス可能実表数の値を超える場合があります。Cosminexus RMで同時アクセス可能実表数が最大となるのは，Cosminexus RMの起動時です。

Cosminexus RM利用時の同時アクセス可能実表数は，「付録F.1　HiRDBの排他資源の見積もり」を参照して見積もってください。算出した同時アクセス可能実表数は，pd_max_access_tablesオペランドに指定します。

同時アクセス可能実表数については，マニュアル「HiRDB システム定義」を参照してください。

付録G　コネクションプールの見積もり

コネクションプールに確保する最大コネクション数を見積もるための計算式は次のとおりです。

コネクションプールに確保する最大コネクション数
＝アプリケーションが消費するコネクション数
＋Cosminexus RMが消費するコネクション数

アプリケーションが消費するコネクション数，およびCosminexus RMが消費するコネクション数の算出方法について説明します。

＜この節の構成＞

付録G.1　アプリケーションが消費するコネクション数

付録G.2　Cosminexus RMが消費するコネクション数

付録G.1　アプリケーションが消費するコネクション数

Cosminexus RMを利用するアプリケーションごとに次の計算をし，個々のアプリケーションで計算した値の総和が，アプリケーションが消費するコネクション数となります。

アプリケーションの最大同時実行数（多重度）×アプリケーションでの消費コネクション数

アプリケーションでの消費コネクション数は，アプリケーションの種類がMDBの場合とMDB以外（SessionBeanやサーブレットなど）の場合とで算出方法が異なります。それぞれの場合の算出方法について説明します。

＜この項の構成＞

(1)　MDBの場合

(2)　MDB以外（SessionBeanやサーブレットなど）の場合

(1)　MDBの場合

MDBの場合，メッセージを一つ配信する契機でコネクションを一つ消費します。この消費コネクションを「配信用コネクション」と定義します。配信用コネクションは，MDBアプリケーション内で生成したjavax.jms.QueueSessionおよびjava.sql.Connectionとコネクションシェアリングできます。これを「配信用コネクションとのシェアリング」と定義します。

アプリケーションでの消費コネクション数は，配信用コネクションとのシェアリングが適用される場合と適用されない場合によって次のように異なります。

配信用コネクションとのシェアリングが適用される場合

アプリケーションでの消費コネクション数＝1

配信用コネクションとのシェアリングが適用されない場合

アプリケーションでの消費コネクション数
＝1（配信用コネクション）
＋MDBアプリケーション内でコネクションシェアリングされたグループの数※1
＋MDBアプリケーション内でコネクションシェアリングされないjavax.jms.QueueSessionの生成数
＋MDBアプリケーション内でコネクションシェアリングされないjava.sql.Connection※2の生成数

注※1

配信用コネクションとはシェアリングされないで，MDBアプリケーション内で生成した複数のjavax.jms.QueueSessionおよびjava.sql.Connectionがコネクションシェアリングされることを示します。

注※2

DB Connector for Cosminexus RMのjavax.sql.DataSourceから生成したjava.sql.Connectionが対象です。また，Cosminexus RMのコンフィグレーションプロパティRMAssociateJDBCFlagの値がtrueの場合だけ生成できます。

配信用コネクションとのシェアリングが適用されるか適用されないかは，次の条件によって決まります。

配信用コネクションとのシェアリングが適用される場合

次の条件をすべて満たす場合，配信用コネクションとのシェアリングが適用されます。

リソース参照に関する設定の，コネクションシェアリングの有無で「Shareable」を設定

トランザクション管理方法を「Container」に設定

トランザクション属性を「Required」に設定

配信用コネクションとのシェアリングが適用されない場合

次のどれかの条件を満たす場合，配信用コネクションとのシェアリングは適用されません。

リソース参照に関する設定の，コネクションシェアリングの有無で「Unshareable」を設定

トランザクション管理方法を「Bean」に設定

トランザクション属性を「Not Supported」に設定

(2)　MDB以外（SessionBeanやサーブレットなど）の場合

アプリケーションで生成するjavax.jms.QueueSessionおよびjava.sql.Connectionの合計数が消費コネクション数となります。ただし，コネクションシェアリングが適用された場合，コネクションシェアリングされた一つのグループにつき，消費コネクションは一つとなります。よって，アプリケーションでの消費コネクション数は次のようになります。

アプリケーションでの消費コネクション数
＝コネクションシェアリングされたグループの数
＋コネクションシェアリングされないjavax.jms.QueueSessionの生成数
＋コネクションシェアリングされないjava.sql.Connection※の生成数

注※

DB Connector for Cosminexus RMのjavax.sql.DataSourceから生成したjava.sql.Connectionが対象です。また，Cosminexus RMのコンフィグレーションプロパティRMAssociateJDBCFlagの値がtrueの場合だけ生成できます。

コネクションシェアリングが適用される条件については，マニュアル「Cosminexus 機能解説」を参照してください。

付録G.2　Cosminexus RMが消費するコネクション数

Cosminexus RMが消費するコネクション数は，キュー間転送を利用している場合だけ算出する必要があります。Cosminexus RMが消費するコネクション数は次のようになります。

Cosminexus RMが消費するコネクション数＝キュー間転送受信時の同時リクエスト実行数

付録H　旧バージョンからの移行

＜この節の構成＞

付録H.1　uCosminexus Reliable Messaging 01-00からの移行

付録H.2　Cosminexus RM 01-01からの移行

付録H.3　Cosminexus RM 01-02からの移行

付録H.4　共用キューのバージョンアップ

付録H.5　移行時の注意事項

付録H.1　uCosminexus Reliable Messaging 01-00からの移行

uCosminexus Reliable Messaging 01-00からCosminexus RM 01-03へ移行するときの手順について，次に示します。サーバ管理コマンドについては，マニュアル「Cosminexus アプリケーション設定操作ガイド」を参照してください。

uCosminexus Reliable Messagingの停止
uCosminexus Reliable Messagingを停止します。詳細については，「4.1.3　Cosminexus RMの停止（永続版リソースアダプタの場合）」を参照してください。

J2EEサーバの停止
サーバ管理コマンドを使用して，J2EEサーバを停止します。

リソースアダプタのバージョンアップ
サーバ管理コマンドを使用して，Cosminexus RMおよびDB Connectorをバージョンアップしてください。

環境設定の変更
%HRMDIR%をCosminexus RM 01-03がインストールされたディレクトリに合わせて修正してください。PATH環境変数などに指定している場合は同様に修正してください。

共用キューのバージョンアップ
共用キューを使用している場合は，共用キューをバージョンアップしてください。詳細については，「付録H.4　共用キューのバージョンアップ」

usrconf.cfgの修正
キュー間転送を使用している場合，usrconf.cfgファイルをテキストエディタで開き，次の行を削除してください。

add.class.path=<uCosminexus Reliable Messaging 01-00のインストールディレクトリ>¥conf

キュー間転送用Webアプリケーションの入れ替え
キュー間転送を使用している場合，uCosminexus Reliable Messaging 01-00のキュー間転送用Webアプリケーションがデプロイされています。これをCosminexus RM 01-03のキュー間転送用Webアプリケーションに入れ替えてください。

次に示す手順は，必須ではありませんが，実施することをお勧めします。

uCosminexus Reliable Messaging 01-00のアンインストール
uCosminexus Reliable Messaging 01-00のコマンドやライブラリを誤って使用しないように，アンインストールしてください。

サポートされないプロパティの削除
Cosminexus RM 01-03ではサポートされないプロパティを削除してください。Cosminexus RM 01-03ではサポートされないプロパティを次に示します。

RMReceiveThreadNum

RMLogTraceFileDir

RMTRTransferControl

送信用共用キューの再作成
Cosminexus RM 01-03に移行したあと，uCosminexus Reliable Messaging 01-00で作成した送信用共用キューを削除し，新たに送信用共用キューを作成してください。

注意

uCosminexus Reliable Messaging 01-00で作成した転送キューをCosminexus RM 01-03に移行した場合，転送モードが互換モード（compatible）の転送キューとして扱われます。

付録H.2　Cosminexus RM 01-01からの移行

Cosminexus RM 01-01からCosminexus RM 01-03へ移行するときの手順は，uCosminexus Reliable Messaging 01-00からCosminexus RM 01-03へ移行するときの手順1.～手順3.と同様です（手順1.のuCosminexus Reliable MessagingはCosminexus RM 01-01に読み替えてください）。手順の詳細は，「付録H.1　uCosminexus Reliable Messaging 01-00からの移行」を参照してください。

注意

Cosminexus RM 01-01で作成した転送キューをCosminexus RM 01-03に移行した場合，転送モードが互換モード（compatible）の転送キューとして扱われます。

付録H.3　Cosminexus RM 01-02からの移行

Cosminexus RM 01-02からCosminexus RM 01-03へ移行するときの手順は，uCosminexus Reliable Messaging 01-00からCosminexus RM 01-03へ移行するときの手順1.～手順3.と同様です（手順1.のuCosminexus Reliable MessagingはCosminexus RM 01-02に読み替えてください）。手順の詳細は，「付録H.1　uCosminexus Reliable Messaging 01-00からの移行」を参照してください。

注意

Cosminexus RM 01-02で作成した転送キューをCosminexus RM 01-03に移行した場合，転送モードが互換モード（compatible）の転送キューとして扱われます。

付録H.4　共用キューのバージョンアップ

共用キューのバージョンを0100または0200から0300に移行する手順について，次に示します。

Cosminexus RMの停止
Cosminexus RMを停止します。詳細については，「4.1.3　Cosminexus RMの停止（永続版リソースアダプタの場合）」を参照してください。

DBのバックアップ
バージョンアップによって，次に示す三つのテーブルが変更されます。必要に応じてDBのバックアップをとってください。

共用キュー受信用メッセージ情報テーブル

共用キュー受信用ライト管理テーブル

共用キュー受信用リード管理テーブル

スクリプトファイルの編集
共用キューをバージョンアップするためのスクリプトファイル（%HRMDIR%¥sql¥shqupdate_V1toV2.sql）を任意の場所にコピーしてから，テキストエディタで開き，ファイル中の"<RMSystemName>"の部分をRMSystemNameの指定値に置き換えてください。また，ファイル中の"<QueueName>"の部分をバージョンアップする受信用共用キューのキュー名に置き換えてください。

SQLファイルの実行
SQLファイルを実行して，受信用共用キューのテーブルを拡張します。

Windowsの場合

次に示すコマンドでHiRDB SQL Executerを開始します。

pdsqlw -u <接続ユーザ名>/<パスワード>※
      -h <HiRDBサーバのホスト名またはIPアドレス>
      -n <HiRDBサーバのポート番号>

HiRDB SQL Executerの［ファイル］メニューから［ファイルから実行］を選択し，手順3.で編集したSQLファイルを指定して実行します。

UNIXの場合

環境変数PDUSER※，PDHOST，PDNAMEPORTを設定したあと，次に示すコマンドでHiRDB SQL ExecuterからSQLファイルを実行します。

pdsql  <  <手順3.で編集したSQLファイルのパス>

注※

接続ユーザ名には，権限を付与した接続ユーザ名を指定します。詳細については，「3.4.1(1)(b)　HiRDBのユーザ権限の付与」を参照してください。

バージョンアップしたい受信用共用キューに応じて手順2.から手順4.までを繰り返してください。

付録H.5　移行時の注意事項

移行時の注意事項を次に示します。

Cosminexus RM 01-02以前のバージョンで作成した転送キューをCosminexus RM 01-03に移行した場合，転送モードが互換モード（compatible）の転送キューとして扱われます。

Cosminexus RMのバージョンアップや修正パッチを適用した場合，コマンドのバッチファイル（Windowsの場合）またはシェルスクリプト（UNIXの場合）に記載されている，コマンドのリクエストタイムアウト値「ejbserver.rmi.request.timeout」の値は，０（タイムアウト無し）で上書きされます。０以外を指定していた場合は，移行後に値を設定し直してください。

付録I　用語解説

Cosminexus RMで使用する用語について説明します。

（英字）

Cosminexus Performance Tracer

リクエストが処理されるときに，決められたポイントごとに各機能が出力する性能解析情報をファイルに出力するための構成ソフトウェアです。

EIS

データベースやトランザクションサーバなど，企業内に構築されているバックエンドシステムです。

EJB

業務ロジックを記述したJavaコンポーネントです。Enterprise JavaBeans Specificationによって仕様が規定されます。

FIFO

メッセージをグルーピングするための単位です。メッセージはFIFO単位で管理されます。

FIFOは，次の3種類に大きく分けられます。

登録・取り出し用FIFO
アプリケーションからの登録または取り出し対象となるキューにあるメッセージの単位です。

送信用FIFO
通信層で，他システムに対してメッセージを送信するためのメッセージの単位です。

受信用FIFO
通信層で，他システムからのメッセージを受信するためのメッセージの単位です。

2と3を総称して「通信用FIFO」と呼ぶ場合があります。また，通信用FIFOは，グループと同じ意味です。

HTTP

インターネットで，WWWサーバとWWWクライアントの間でHTML文書を送受信するための通信プロトコルです。

J2EEサーバ

アプリケーションを実行するためのサーバ基盤であるJ2EEコンテナを生成，実行する環境です。

Cosminexus RMは，J2EEサーバとしてCosminexusを使用します。

JDBCコネクション

Javaで実装するアプリケーションからDBにアクセスするためのコネクションです。Sun Microsystems, Inc.が提唱する標準インタフェースによって生成されます。

Cosminexus RMは，DB Connectorを介してJDBCコネクションを利用し，DBにアクセスします。

JMSインタフェース

Javaで実装したアプリケーション間で，キューを介してメッセージを送受信するためのAPIです。Java Message Service Specificationによって仕様が規定されます。

Cosminexus RMが提供するJMSインタフェースは，JMS Version 1.0.2bのPTP（ポイントツーポイント）モデルに基づいています。

JMSクライアント

JMSインタフェースを使用するメッセージングシステムの構成要素の一つです。Java言語によって記述されて，メッセージを送受信するプログラムです。

Cosminexus RMを使用する場合，アプリケーションのことです。

JMSプロバイダ

JMSインタフェースを使用するメッセージングシステムの構成要素の一つです。メッセージングシステムに必要な管理機能，制御機能およびJMSインタフェースを実装する製品です。

Cosminexus RMを使用する場合，Cosminexus RMのことです。

JNDIネーミングサービス

アプリケーションにネーミングサービスおよびディレクトリサービスのインタフェースを提供する，Javaプラットフォーム用の標準拡張機能です。

Cosminexus RMでは，アプリケーションでのキューオブジェクトの生成などに利用します。

JSP

HTMLの中に固有のタグを埋め込んでEJBを呼び出したり，サーブレットから値を受け取ったりできるWebページです。JavaServer Pages Specificationによって仕様が規定されます。

Message-driven Bean（MDB）

メッセージの到着を契機に実行されるEJBです。Cosminexus RMでは，受信用のキューにメッセージが登録されたことを契機に，Message-driven Beanで実装したメソッドを実行できます。詳細については，「2.6.3　Message-driven Beanとの連携」を参照してください。

SOAP

Simple Object Access Protocol（簡易オブジェクト・アクセス・プロトコル）の略語です。ネットワーク上のサービスを呼び出す際のメッセージを規定したもので，HTTPとXMLがベースとなっています。

SOAPアタッチメント

SOAPメッセージの本体情報を複数含む部分です。また，バイナリ形式のデータもここに含む場合があります。

SOAPヘッダ

SOAPメッセージのヘッダ情報部分です。WS-Reliabilityに関する情報はここに格納されます。

SOAPボディ

SOAPメッセージの本体情報です。

SOAPメッセージ

SOAPで規定されたメッセージです。SOAPヘッダ・SOAPボディ・SOAPアタッチメントの三つの要素で構成されます。ただしSOAPアタッチメントは任意の要素です。

TP1/EE

TP1/Server Baseと合わせて使用するオプション製品です。Cosminexus RMとの間でDBを介したメッセージの送受信を行う機能を備えています。TP1/EEを利用することによって，CosminexusとOpenTP1間での異なるコンポーネント間の通信が実現できます。

WS-Reliability

標準化団体OASISで標準化された，インターネット向けのオープンな非同期通信プロトコルです。

（ア行）

あて先

メッセージの送信先であるシステムのことです。

あて先アドレス

メッセージの送信先であるシステムのアドレスです。

アプリケーション

ユーザが業務に合わせて実装するプログラムです。

Cosminexus RMのアプリケーションは，Cosminexus RMが提供するAPIを使用して実装されます。

永続化

不揮発性の記憶媒体にデータを保存し，変化しない状態にすることです。

永続版リソースアダプタ

データベースにメッセージを永続化するCosminexus RMのリソースアダプタのことです。メッセージの再現性を保持し，高信頼な非同期のメッセージの受け渡しを実現します。

（カ行）

キュー

アプリケーションが送受信するメッセージの格納先です。

Cosminexus RMでは，DB上にキューが作成されます。

キュー間転送

サーバ間転送で，自サーバのキューから相手サーバのキューへメッセージを転送することです。

キュー作成ファイル

非永続版リソースアダプタで使用するキューを定義するためのファイルです。永続版リソースアダプタではコマンドでキューを作成しますが，非永続版リソースアダプタではキュー作成ファイルにキュー属性を定義しておくことでリソースアダプタの起動時にキュー情報が有効になります。

キュー定義ファイル

JNDIネーミングサービスに登録するキュー表示名と実際のキュー名を関連づけるファイルです。キュー定義ファイルのフルパスをQueueConfigFileNameプロパティに指定すると，Cosminexus RMの開始時に，定義されたキュー表示名がJNDIネーミングサービスに登録されます。

キュー定義文

キュー作成ファイル内でキュー属性やキュー名を定義するための文のことです。キュー定義文に記述された内容に従って，リソースアダプタの起動時にキュー情報を復元します。

クライアント定義ファイル

SOAP通信基盤が使用するファイルです。SOAPメッセージを送信するとき，SOAP通信基盤の動作を定義するために使用します。

グループ

通信層でメッセージをグルーピングするための単位です。メッセージはグループごとに管理されます。順序保証などのQoSは，グループの範囲で提供されます。

（サ行）

サーバ間転送

Cosminexus RM同士，またはCosminexus RMと通信可能な他製品の間で，メッセージを転送することです。

サーブレット

サーバ側で実行されるJavaプログラムです。継続的にメモリ上で動作してサービスを提供します。Java Servlet Specificationによって仕様が規定されます。

受信

サーバ間転送によるメッセージを受け付けることです。

送信

サーバ間転送で，転送先キューに対してメッセージを転送することです。

（タ行）

転送

複数のシステム間でメッセージの送受信を行うことです。

転送先キュー

メッセージが転送されるキューです。

転送先キューのアドレス

メッセージが転送されるキューのアドレスです。あて先アドレスとキュー名で表します。

登録

アプリケーションがキューにメッセージを格納することです。

トランザクションマネジャ

トランザクション処理を管理および実行する機能です。CosminexusのJ2EEサーバはCosminexus TPBrokerを利用してトランザクションマネジャとして動作します。

Cosminexus RMのアプリケーションでのメッセージの送受信は，トランザクションマネジャでの管理の対象にすることができます。

取り出し

アプリケーションがキューからメッセージを取り出すことです。

（ハ行）

配信

受信したメッセージをキューに格納することです。

非永続化

不揮発性の記憶媒体を使用しないで，揮発性のメモリだけにデータを保存して，処理を実施することです。

非永続版リソースアダプタ

データベースによるメッセージの永続化をしないCosminexus RMのリソースアダプタのことです。非永続なローカルキューだけが利用できます。

（マ行）

メッセージ

JMSインタフェースによって実装されたアプリケーション間で送受信される，データの単位です。

Cosminexus RMのアプリケーションが使用するメッセージは，Messageインタフェース，およびそのサブインタフェースによって実装されます。

面番号

メッセージログやトレースがファイルサイズの上限まで出力された場合に，システムはファイル名称中の通し番号を一つインクリメントして，新しいファイル名称で出力を開始します。この通し番号を面番号といいます。

このように出力されるファイルの数を面数といいます。

（ラ行）

リソースアダプタ

DBサーバやトランザクションサーバなどのバックエンドシステムとJ2EEサーバを接続するための接続機能です。J2EE Connector Architecture（JCA）Specificationによって仕様が規定されます。

リソースマネジャ

トランザクションマネジャと連携して資源を管理する機能です。

Cosminexus RMはリソースマネジャとして，J2EEサーバと連携できます。

索引

[数字]
[Ａ][Ｂ][Ｃ][Ｄ][Ｅ][Ｆ][Ｇ][Ｈ][Ｉ][Ｊ][Ｋ][Ｌ][Ｍ][Ｏ][Ｐ][Ｑ][Ｒ][Ｓ][Ｔ][Ｖ][Ｗ][Ｘ]
[ア行][カ行][サ行][タ行][ナ行][ハ行][マ行][ヤ行][ラ行]

(数字)

1.4モード

(英字)

(Ａ)

acknowledgeメソッド〔Messageインタフェース〕

addPayloadcontentTypeメソッド〔BytesContainerインタフェース〕

addPayloadメソッド〔BytesContainerインタフェース〕

APPLICATION_OCTET_STREAMフィールド

APPLICATION_POSTSCRIPTフィールド

APPLICATION_RTFフィールド

APPLICATION_X_TEXINFOフィールド

APPLICATION_X_TEXフィールド

APPLICATION_X_TROFFフィールド

AUDIO_BASICフィールド

AUDIO_MIDIフィールド

AUDIO_X_AIFCフィールド

AUDIO_X_AIFFフィールド

AUDIO_X_WAVフィールド

AUTO_ACKNOWLEDGEフィールド

(Ｂ)

BLOB/LONG/CLOB型データ受取バッファサイズ

BMT

bufSize

BytesContainerFactoryインタフェース

BytesContainerインタフェース

BytesContainerインタフェースの仕様

BytesContainerインタフェースのデータ型

BytesMessageインタフェース

(Ｃ)

clearBodyメソッド〔Messageインタフェース〕

clearPropertiesメソッド〔Messageインタフェース〕

clearメソッド〔BytesContainerインタフェース〕

CLIENT_ACKNOWLEDGEフィールド

closeメソッド〔QueueBrowserインタフェース〕

closeメソッド〔QueueConnection（Connection）インタフェース〕

closeメソッド〔QueueReceiver（MessageConsumer）インタフェース〕

closeメソッド〔QueueSender（MessageProducer）インタフェース〕

closeメソッド〔QueueSession（Session）インタフェース〕

CMT

commitメソッド〔QueueSession（Session）インタフェース〕

ConnectionMetaDataインタフェース

CONNECT権限

CORBAネーミングサービス

Cosminexus Component Container

Cosminexus Developer's Kit for Java

Cosminexus Performance Tracer

Cosminexus Performance Tracer

Cosminexus RM開始時の復元完了待ち合わせの有無

Cosminexus RM開始処理のタイムアウト時間

Cosminexus RM固有のプロパティ

Cosminexus RMのインポート

Cosminexus RMの開始

Cosminexus RMの開始（永続版リソースアダプタの場合）

Cosminexus RMの開始（非永続版リソースアダプタの場合）

Cosminexus RMの概要

Cosminexus RMのコンフィグレーションプロパティの一覧

Cosminexus RMのシステム構築（非永続版リソースアダプタの場合）

Cosminexus RMのシステム名の決定

Cosminexus RMの状態遷移（永続版リソースアダプタの場合）

Cosminexus RMの状態遷移（非永続版リソースアダプタの場合）

Cosminexus RMの停止（永続版リソースアダプタの場合）

Cosminexus RMの停止（非永続版リソースアダプタの場合）

Cosminexus RMの表示名

Cosminexus RMの復元処理時の管理情報テーブルの不正

Cosminexus RMのプロパティ設定

Cosminexus RMのプロパティ定義（永続版リソースアダプタの場合）

Cosminexus RMのプロパティ定義（非永続版リソースアダプタの場合）

Cosminexus TPBroker

Cosminexusのアウトプロセストランザクションサービスの利用

Cosminexus用メッセージログ

createBrowserメソッド〔QueueSession（Session）インタフェース〕

createBrowserメソッド〔QueueSession（Session）インタフェース〕

createBytesContainerメソッド〔BytesContainerFactoryインタフェース〕

createBytesMessageメソッド〔QueueSession（Session）インタフェース〕

createConnectionConsumerメソッド〔QueueConnection（Connection）インタフェース〕

createMapMessageメソッド〔QueueSession（Session）インタフェース〕

createMessageメソッド〔QueueSession（Session）インタフェース〕

createObjectMessageメソッド〔QueueSession（Session）インタフェース〕

createObjectMessageメソッド〔QueueSession（Session）インタフェース〕

createQueueConnectionメソッド〔QueueConnectionFactory（ConnectionFactory）インタフェース〕

createQueueConnectionメソッド〔QueueConnectionFactory（ConnectionFactory）インタフェース〕

createQueueSessionメソッド〔QueueConnection（Connection）インタフェース〕

createQueueメソッド〔QueueSession（Session）インタフェース〕

createReceiverメソッド〔QueueSession（Session）インタフェース〕

createReceiverメソッド〔QueueSession（Session）インタフェース〕

createSenderメソッド〔QueueSession（Session）インタフェース〕

createStreamMessageメソッド〔QueueSession（Session）インタフェース〕

createTemporaryQueueメソッド〔QueueSession（Session）インタフェース〕

createTextMessageメソッド〔QueueSession（Session）インタフェース〕

createTextMessageメソッド〔QueueSession（Session）インタフェース〕

(Ｄ)

databaseName

databaseName

DB Connector for Cosminexus RM

DB Connector for Cosminexus RMとCosminexus RMの開始

DB Connector for Cosminexus RMとCosminexus RMのプロパティ設定

DB Connector for Cosminexus RMのインポート

DB Connector for Cosminexus RMの機能

DB Connector for Cosminexus RMの機能一覧

DB Connector for Cosminexus RMのコンフィグレーションプロパティの一覧

DB Connector for Cosminexus RMの選択

DB Connector for Cosminexus RMの前提製品の設定

DB Connector for Cosminexus RMのプロパティ定義

DB Connector for Cosminexus RM連携時の注意事項

DB Connectorとのコネクション共有機能の使用有無

DBHostName

DBHostName

DBMS

DBMSの設定（HiRDBを使用する場合）

DBMSの設定（Oracleを使用する場合）

DBアクセス時の認証

DBクライアントの設定

DBコネクションを使用するタイミング

DBサーバの共有

DBの運用

DBのバックアップ

DEFAULT_DELIVERY_MODEフィールド

DEFAULT_PRIORITYフィールド

DEFAULT_TIME_TO_LIVEフィールド

DeliveryModeインタフェース

description

description

DMID

DMQCAUSE-001

DMQCAUSE-002

DMQCAUSE-003

DMQCAUSE-004

DUPS_OK_ACKNOWLEDGEフィールド

(Ｅ)

EIS

EJB

(Ｆ)

FIFO

FIFO

FIFO情報テーブル

(Ｇ)

getBooleanPropertyメソッド〔Messageインタフェース〕

getBytePropertyメソッド〔Messageインタフェース〕

getClientIDメソッド〔QueueConnection（Connection）インタフェース〕

getContentTypeメソッド〔BytesContainerインタフェース〕

getDeliveryModeメソッド〔QueueSender（MessageProducer）インタフェース〕

getDisableMessageIDメソッド〔QueueSender（MessageProducer）インタフェース〕

getDisableMessageTimestampメソッド〔QueueSender（MessageProducer）インタフェース〕

getDoublePropertyメソッド〔Messageインタフェース〕

getEnumerationメソッド〔QueueBrowserインタフェース〕

getErrorCodeメソッド〔HRMExceptionクラス〕

getErrorMessageメソッド〔HRMExceptionクラス〕

getExceptionListenerメソッド〔QueueConnection（Connection）インタフェース〕

getFloatPropertyメソッド〔Messageインタフェース〕

getIntPropertyメソッド〔Messageインタフェース〕

getJMSCorrelationIDAsBytesメソッド〔Messageインタフェース〕

getJMSCorrelationIDメソッド〔Messageインタフェース〕

getJMSDeliveryModeメソッド〔Messageインタフェース〕

getJMSDestinationメソッド〔Messageインタフェース〕

getJMSExpirationメソッド〔Messageインタフェース〕

getJMSMajorVersionメソッド〔ConnectionMetaDataインタフェース〕

getJMSMessageIDメソッド〔Messageインタフェース〕

getJMSMinorVersionメソッド〔ConnectionMetaDataインタフェース〕

getJMSPriorityメソッド〔Messageインタフェース〕

getJMSProviderNameメソッド〔ConnectionMetaDataインタフェース〕

getJMSRedeliveredメソッド〔Messageインタフェース〕

getJMSReplyToメソッド〔Messageインタフェース〕

getJMSTimestampメソッド〔Messageインタフェース〕

getJMSTypeメソッド〔Messageインタフェース〕

getJMSVersionメソッド〔ConnectionMetaDataインタフェース〕

getJMSXPropertyNamesメソッド〔ConnectionMetaDataインタフェース〕

getLinkedExceptionメソッド〔HRMExceptionクラス〕

getLongPropertyメソッド〔Messageインタフェース〕

getMessageListenerメソッド〔QueueReceiver（MessageConsumer）インタフェース〕

getMessageListenerメソッド〔QueueSession（Session）インタフェース〕

getMessageSelectorメソッド〔QueueBrowserインタフェース〕

getMessageSelectorメソッド〔QueueReceiver（MessageConsumer）インタフェース〕

getMetaDataメソッド〔QueueConnection（Connection）インタフェース〕

getObjectPropertyメソッド〔Messageインタフェース〕

getObjectメソッド〔ObjectMessageインタフェース〕

getPayloadメソッド〔BytesContainerインタフェース〕

getPriorityメソッド〔QueueSender（MessageProducer）インタフェース〕

getPropertyNamesメソッド〔Messageインタフェース〕

getProviderMajorVersionメソッド〔ConnectionMetaDataインタフェース〕

getProviderMinorVersionメソッド〔ConnectionMetaDataインタフェース〕

getProviderVersionメソッド〔ConnectionMetaDataインタフェース〕

getQueueNameメソッド〔Queue（Destination）インタフェース〕

getQueueメソッド〔QueueBrowserインタフェース〕

getQueueメソッド〔QueueReceiver（MessageConsumer）インタフェース〕

getQueueメソッド〔QueueSender（MessageProducer）インタフェース〕

getShortPropertyメソッド〔Messageインタフェース〕

getStringPropertyメソッド〔Messageインタフェース〕

getTextメソッド〔TextMessageインタフェース〕

getTimeToLiveメソッド〔QueueSender（MessageProducer）インタフェース〕

getTransactedメソッド〔QueueSession（Session）インタフェース〕

(Ｈ)

HiRDB

HiRDB/Developer's Kit

HiRDB/Run Time

HiRDB SQL Executer

HiRDB SQL Executer

HiRDBのRDエリアの準備

HiRDBの環境変数グループの登録

HiRDBのクライアント環境変数グループ

HiRDBの初期設定

HiRDBのスキーマの定義

HiRDBのディクショナリ搬出入ユティリティ（pdexpコマンド）

HiRDBの同時アクセス可能実表数

HiRDBの排他資源の見積もり

HiRDBの見積もり

HiRDBのユーザ権限の付与

HRM_CMD_HOST

HRM_CMD_PORT

HRM_SYSTEM_NAME

hrmchgaddr（あて先変更）

hrmchgque（受信用共用キューの属性変更）

hrmchgque（送信用共用キューの属性変更）

hrmchgque（転送キューの属性変更）

hrmchgque（ローカルキューの属性変更）

hrmdeladdr（あて先削除）

hrmdelmsg（メッセージの削除）

hrmdelque（キューの削除）

HRMDIR

HRMExceptionクラス

HRMExceptionコンストラクタ〔HRMExceptionクラス〕

HRMIllegalArgumentExceptionクラス

hrmlsaddr（あて先参照）

hrmlsdmsg（デッドメッセージの参照）

hrmlsmsg（メッセージの表示）

hrmlsque（キュー情報の表示）

hrmlsstat（システム状態の表示）

hrmlstrn（トランザクション状態の表示）

hrmlstrs（通信状態表示）

hrmmkaddr（あて先登録）

hrmmkque（受信用共用キューの作成）

hrmmkque（送信用共用キューの作成）

hrmmkque（転送キューの作成）

hrmmkque（ローカルキューの作成）

hrmregdmsg（デッドメッセージの再登録）

hrmskipmsg（受信待ちメッセージのスキップ）

hrmstart（実行状態への移行）

hrmstartque（キューの抑止解除）

hrmstarttrs（送受信抑止解除）

hrmstop（管理状態への移行）

hrmstopque（キューの抑止）

hrmstoptrs（送受信抑止）

HTTP

(Ｉ)

IMAGE_IEFフィールド

IMAGE_TIFFフィールド

IMAGE_X_XWINDOWDUMPフィールド

(Ｊ)

J2EEコンテナ

J2EEサーバ

J2EEサーバ

J2EEサーバ（Cosminexus）の設定

J2EEリソースアダプタ

JDBCコネクション

JDBCコネクション

JDBCコネクションの再利用

JMS_

JMS_HITACHI_DeadMessageCause

JMS_HITACHI_DeadMessageID

JMS_HITACHI_DeadMessageOriginalQueueName

JMS_HITACHI_DeadMessageTimestamp

JMS APIのバージョン

JMS APIのマイナーバージョン番号

JMS APIのメジャーバージョン番号

JMSCorrelationID

JMSDeliveryMode

JMSDestination

JMSExpiration

JMSMessageID

JMSPriority

JMSRedelivered

JMSReplyTo

JMSTimestamp

JMSType

JMSX

JMSXAppID

JMSXConsumerTXID

JMSXDeliveryCount

JMSXGroupID

JMSXGroupSeq

JMSXProducerTXID

JMSXRcvTimestamp

JMSXState

JMSXUserID

JMSインタフェース

JMSインタフェース継承図

JMSインタフェースの一覧

JMS管理オブジェクト

JMS基本情報

JMSクライアント

JMS仕様との差異

JMS定義のプロパティ

JMSプロバイダ

JMSプロバイダのバージョン

JMSプロバイダのマイナーバージョン番号

JMSプロバイダのメジャーバージョン番号

JMSプロバイダ名

JMSメッセージの構成

JMSメッセージのプロパティ

JMSメッセージのペイロード

JMSメッセージのヘッダ

JMSメッセージのルートインタフェース

JNDI

JNDI登録名

JNDIネーミングサービス

JNDIネーミングサービス

JSP

(Ｋ)

KFRM00002-W

KFRM00003-W

KFRM00004-W

KFRM00005-W

KFRM01000-E

KFRM01001-E

KFRM01002-E

KFRM01003-W

KFRM01004-I

KFRM01005-I

KFRM01006-I

KFRM01007-I

KFRM01008-I

KFRM01009-I

KFRM01010-I

KFRM01011-I

KFRM01012-E

KFRM01013-E

KFRM01014-I

KFRM01015-I

KFRM01016-I

KFRM01017-E

KFRM01018-E

KFRM01019-E

KFRM01020-I

KFRM01800-E

KFRM01801-E

KFRM01802-E

KFRM01803-W

KFRM01804-I

KFRM01805-I

KFRM01806-E

KFRM01807-W

KFRM02000-E

KFRM10000-E

KFRM10001-E

KFRM10002-E

KFRM10003-E

KFRM10022-E

KFRM10023-E

KFRM11000-E

KFRM11001-E

KFRM11002-W

KFRM12000-E

KFRM12001-E

KFRM13000-E

KFRM13001-I

KFRM13004-W

KFRM13005-E

KFRM13006-W

KFRM13007-W

KFRM13011-W

KFRM13012-W

KFRM13013-I

KFRM13015-I

KFRM13016-E

KFRM13017-E

KFRM13018-E

KFRM13019-E

KFRM13020-E

KFRM13021-E

KFRM13022-W

KFRM13023-E

KFRM13024-W

KFRM13025-I

KFRM13026-I

KFRM13027-I

KFRM13028-W

KFRM13029-I

KFRM14000-E

KFRM14001-E

KFRM14002-E

KFRM14003-E

KFRM14004-E

KFRM14005-E

KFRM14008-E

KFRM14009-E

KFRM14010-E

KFRM14012-W

KFRM14013-E

KFRM14014-E

KFRM14015-E

KFRM14016-E

KFRM14017-E

KFRM14018-E

KFRM14019-E

KFRM14020-E

KFRM14021-E

KFRM14022-E

KFRM15000-E

KFRM16000-E

KFRM16001-E

KFRM16002-E

KFRM16003-W

KFRM16005-E

KFRM16006-E

KFRM16008-E

KFRM16009-I

KFRM16010-I

KFRM16011-E

KFRM16012-E

KFRM16013-E

KFRM16014-E

KFRM17000-E

KFRM17001-E

KFRM17002-E

KFRM17003-E

KFRM17004-E

KFRM17005-E

KFRM17006-E

KFRM17007-W

KFRM17008-W

KFRM17009-W

KFRM17010-W

KFRM17011-W

KFRM17012-W

KFRM17013-E

KFRM17014-W

KFRM20000-E

KFRM20001-E

KFRM20002-E

KFRM20003-E

KFRM20004-E

KFRM20005-E

KFRM20006-E

KFRM20007-E

KFRM20008-E

KFRM20009-E

KFRM20010-E

KFRM20011-E

KFRM20012-E

KFRM20014-I

KFRM20016-I

KFRM20017-I

KFRM20018-I

KFRM20019-I

KFRM20020-I

KFRM20021-I

KFRM20022-I

KFRM20024-I

KFRM20025-I

KFRM20026-I

KFRM20027-I

KFRM20028-E

KFRM20029-E

KFRM20030-E

KFRM20031-I

KFRM20032-E

KFRM20033-E

KFRM20034-E

KFRM20035-E

KFRM20036-E

KFRM20037-E

KFRM20038-E

KFRM20039-E

KFRM20040-E

KFRM20041-E

KFRM20042-E

KFRM20043-E

KFRM20044-E

KFRM20045-E

KFRM20046-E

KFRM20047-I

KFRM20048-I

KFRM20049-I

KFRM20050-I

KFRM20051-I

KFRM20052-I

KFRM20053-I

KFRM20055-I

KFRM20056-I

KFRM20057-I

KFRM20058-I

KFRM20059-E

KFRM20060-E

KFRM20061-E

KFRM20062-E

KFRM20063-E

KFRM20064-E

KFRM20065-E

KFRM20066-E

KFRM20067-E

KFRM20068-E

KFRM20071-E

KFRM20072-E

KFRM20074-I

KFRM20075-I

KFRM20078-I

KFRM20079-I

KFRM20080-I

KFRM20081-W

KFRM20082-E

KFRM20083-E

KFRM20084-E

KFRM20085-E

KFRM20086-E

KFRM20087-E

KFRM20088-E

KFRM20089-E

KFRM20090-E

KFRM20091-E

KFRM20092-E

KFRM20093-E

KFRM20094-W

KFRM20095-E

KFRM20096-W

KFRM20097-W

KFRM20098-I

KFRM20099-I

KFRM20100-E

KFRM20121-W

KFRM20122-W

KFRM20123-W

KFRM20125-E

KFRM20126-E

KFRM32000-E

KFRM32001-E

KFRM32002-W

KFRM32003-I

KFRM32006-W

KFRM32007-W

KFRM32008-W

KFRM32009-E

KFRM34000-E

KFRM40001-I

KFRM40003-W

KFRM40004-W

KFRM40005-E

KFRM40006-W

KFRM40007-I

KFRM40008-W

KFRM40009-W

KFRM40010-W

KFRM40011-E

KFRM40012-I

KFRM40013-E

KFRM41000-W

KFRM42000-W

KFRM42002-W

KFRM42003-W

KFRM42004-W

KFRM42005-W

KFRM99000-E

(Ｌ)

linkedResourceAdapterName

(Ｍ)

maxBinarySize

MDB

Message-driven Bean

Message-driven Beanとの連携

Messageインタフェース

(Ｏ)

ObjectMessageインタフェース

Oracle

Oracle JDBC Driver

(Ｐ)

PATH

PDCWAITTIME

pddef

PDHOST

PDNAMEPORT

PDSWAITTIME

PDSWATCHTIME

PDTXACANUM

PDUSER

PDXAMODE

PRFトレース

PRFトレース取得時のイベントID

PRFトレースの取得情報

PRFトレースファイルの運用（永続版リソースアダプタの場合）

PRFトレースファイルの運用（非永続版リソースアダプタの場合）

PRFトレースファイルの運用方法

PRFトレースファイルの取得レベル

PRFトレースファイルの編集

propertyExistsメソッド〔Messageインタフェース〕

PTPメッセージング機能のメソッドの機能差

PTPメッセージングモデル

(Ｑ)

QoS

Queue（Destination）インタフェース

QueueBrowserインタフェース

QueueConfigFileName

QueueConnection（Connection）インタフェース

QueueConnectionFactory（ConnectionFactory）インタフェース

QueueMakeFileName

QueueReceiver（MessageConsumer）インタフェース

QueueSender（MessageProducer）インタフェース

QueueSession（Session）インタフェース

(Ｒ)

RDエリアの容量の確保

readBooleanメソッド〔BytesMessageインタフェース〕

readBytesメソッド〔BytesMessageインタフェース〕

readBytesメソッド〔BytesMessageインタフェース〕

readByteメソッド〔BytesMessageインタフェース〕

readCharメソッド〔BytesMessageインタフェース〕

readDoubleメソッド〔BytesMessageインタフェース〕

readFloatメソッド〔BytesMessageインタフェース〕

readIntメソッド〔BytesMessageインタフェース〕

readLongメソッド〔BytesMessageインタフェース〕

readShortメソッド〔BytesMessageインタフェース〕

readUnsignedByteメソッド〔BytesMessageインタフェース〕

readUnsignedShortメソッド〔BytesMessageインタフェース〕

readUTFメソッド〔BytesMessageインタフェース〕

receiveNoWaitメソッド〔QueueReceiver（MessageConsumer）インタフェース〕

receiveメソッド〔QueueReceiver（MessageConsumer）インタフェース〕

receiveメソッド〔QueueReceiver（MessageConsumer）インタフェース〕

recoverメソッド〔QueueSession（Session）インタフェース〕

resetメソッド〔BytesMessageインタフェース〕

RMAssociateJDBCFlag

RMAutoDeleteMessage

RMDeadMessageQueueName

RMDeleteMessageImmediately

RMLineTraceLevel

RMLinkedDBConnectorName

RMLogTraceFileNum

RMLogTraceFileSize

RMMaxDeliveryNum

RMMethodTraceLevel

RMPassByReference

RMSHConnectFlag

RMSHPort

RMStartTimeout

RMSweepTimerInterval

RMSystemName

RMSystemNameプロパティの値と現在時刻および通番

RMTRConnectFlag

RMTRPendingNotifyInterval

RMTRResendInterval1

RMTRResendInterval1Num

RMTRResendInterval2

RMTRResendTimerInterval

RMTRSendThreadNum

RMTRTransferControlDir

RMWaitRestoration

rollbackメソッド〔QueueSession（Session）インタフェース〕

runメソッド〔QueueSession（Session）インタフェース〕

(Ｓ)

sendメソッド〔QueueSender（MessageProducer）インタフェース〕

sendメソッド〔QueueSender（MessageProducer）インタフェース〕

sendメソッド〔QueueSender（MessageProducer）インタフェース〕

sendメソッド〔QueueSender（MessageProducer）インタフェース〕

serverName

setBooleanPropertyメソッド〔Messageインタフェース〕

setBytePropertyメソッド〔Messageインタフェース〕

setClientIDメソッド〔QueueConnection（Connection）インタフェース〕

setDeliveryModeメソッド〔QueueSender（MessageProducer）インタフェース〕

setDisableMessageIDメソッド〔QueueSender（MessageProducer）インタフェース〕

setDisableMessageTimestampメソッド〔QueueSender（MessageProducer）インタフェース〕

setDoublePropertyメソッド〔Messageインタフェース〕

setExceptionListenerメソッド〔QueueConnection（Connection）インタフェース〕

setFloatPropertyメソッド〔Messageインタフェース〕

setIntPropertyメソッド〔Messageインタフェース〕

setJMSCorrelationIDAsBytesメソッド〔Messageインタフェース〕

setJMSCorrelationIDメソッド〔Messageインタフェース〕

setJMSDeliveryModeメソッド〔Messageインタフェース〕

setJMSDestinationメソッド〔Messageインタフェース〕

setJMSExpirationメソッド〔Messageインタフェース〕

setJMSMessageIDメソッド〔Messageインタフェース〕

setJMSPriorityメソッド〔Messageインタフェース〕

setJMSRedeliveredメソッド〔Messageインタフェース〕

setJMSReplyToメソッド〔Messageインタフェース〕

setJMSTimestampメソッド〔Messageインタフェース〕

setJMSTypeメソッド〔Messageインタフェース〕

setLongPropertyメソッド〔Messageインタフェース〕

setMessageListenerメソッド〔QueueReceiver（MessageConsumer）インタフェース〕

setMessageListenerメソッド〔QueueSession（Session）インタフェース〕

setObjectPropertyメソッド〔Messageインタフェース〕

setObjectメソッド〔ObjectMessageインタフェース〕

setPriorityメソッド〔QueueSender（MessageProducer）インタフェース〕

setShortPropertyメソッド〔Messageインタフェース〕

setStringPropertyメソッド〔Messageインタフェース〕

setTextメソッド〔TextMessageインタフェース〕

setTimeToLiveメソッド〔QueueSender（MessageProducer）インタフェース〕

sizeメソッド〔BytesContainerインタフェース〕

SOAP

SOAPアタッチメント

SOAPアタッチメント

SOAP通信基盤の設定

SOAPプロトコル

SOAPヘッダ

SOAPボディ

SOAPメッセージ

SQLWarningLevel

startメソッド〔QueueConnection（Connection）インタフェース〕

stopメソッド〔QueueConnection（Connection）インタフェース〕

(Ｔ)

TEXT_HTMLフィールド

TEXT_PLAINフィールド

TextMessageインタフェース

toStringメソッド〔Queue（Destination）インタフェース〕

TP1/EE

(Ｖ)

VIDEO_MPEGフィールド

VIDEO_QUICKTIMEフィールド

VIDEO_X_MSVIDEOフィールド

(Ｗ)

writeBooleanメソッド〔BytesMessageインタフェース〕

writeBytesメソッド〔BytesMessageインタフェース〕

writeBytesメソッド〔BytesMessageインタフェース〕

writeByteメソッド〔BytesMessageインタフェース〕

writeCharメソッド〔BytesMessageインタフェース〕

writeDoubleメソッド〔BytesMessageインタフェース〕

writeFloatメソッド〔BytesMessageインタフェース〕

writeIntメソッド〔BytesMessageインタフェース〕

writeLongメソッド〔BytesMessageインタフェース〕

writeObjectメソッド〔BytesMessageインタフェース〕

writeShortメソッド〔BytesMessageインタフェース〕

writeUTFメソッド〔BytesMessageインタフェース〕

WS-Reliability

WS-Reliabilityサポート一覧

WS-Reliabilityのヘッダ要素

(Ｘ)

XAOpenString

XAOpenString

XATransaction利用時のリソースアダプタ間でのDB共有の制限

(ア行)

(あ)

アクセスモード

値渡し方式

あて先

あて先

あて先アドレス

あて先情報テーブル

アプリケーション

アプリケーション

アプリケーション作成時の注意事項

アプリケーション識別子

アプリケーション指定のプロパティ

アプリケーションの開始（永続版リソースアダプタの場合）

アプリケーションの開始（非永続版リソースアダプタの場合）

(い)

移行処理

一部抑止状態

一部抑止状態

移動前キュー名

イベント

イベントの受信

イベントの送信

インストール

インストールすると格納されるファイル

インタフェースの機能差

インタフェースの種類

インポート

インポート

インポート

インポート

(う)

運用前の準備（永続版リソースアダプタの場合）

運用前の準備（非永続版リソースアダプタの場合）

(え)

永続化

永続キュー属性

永続版リソースアダプタ

(お)

応答先

オプション

(カ行)

(か)

開始中状態

開始停止メッセージログ

回線トレース

回線トレースの出力レベル

書き込み専用モード

環境構築のサンプル手順

環境変数の設定

漢字コードセット

完全抑止状態

完全抑止状態

管理状態

管理状態から実行状態に移行

管理情報テーブルの移行

管理情報テーブルの一覧

管理情報テーブルの削除

(き)

キャッシュメッセージ数

キャッシュメッセージ数

キャッシュメッセージ数

キャッシュメッセージ数

キャッシュメッセージ数

キャッシュメッセージ数

キュー

キュー

キュー間転送

キュー間転送

キュー間転送によるシステム間連携

キュー間転送のあて先指定

キュー間転送の互換通信

キュー間転送の使用有無

キュー間転送の注意事項

キュー間転送の通信モデル

キュー間転送を使用する場合のCosminexus RMの設定

キュー間転送を使用する場合の設定

キュー作成時の指定値とメッセージのヘッダ

キュー作成ファイル

キュー作成ファイルの作成

キュー作成ファイルの場所

キュー情報

キュー情報テーブル

キュー定義ファイル

キュー定義ファイルの作成（永続版リソースアダプタの場合）

キュー定義ファイルの作成（非永続版リソースアダプタの場合）

キュー定義ファイルの場所

キュー定義文

キューと抑止解除できる形態

キューと抑止できる形態

キューの運用（永続版リソースアダプタの場合）

キューの永続性

キューの永続性

キューの永続性

キューの作成

キューの作成

キューの種類

キューの種類

キューの種類

キューの種類

キューの種類

キューの障害

キューの状態遷移（永続版リソースアダプタの場合）

キュー表示名

キュー名

キュー名一覧

キューを削除

強制的にキューを削除

強制的にメッセージを削除

共用キューイベントトレース

共用キューが保持するデータの不正および矛盾

共用キュー受信用メッセージ情報テーブル

共用キュー受信用ライト管理テーブル

共用キュー受信用リード管理テーブル

共用キューでのメッセージ受信時の処理の流れ

共用キューによるシステム間連携

共用キューのキュー復元時のバージョン不正

共用キューを使用して複数システム間でのアプリケーション連携をする場合のイベント受信用ポート番号

共用キューを使用して複数システム間でのアプリケーション連携をする場合の受信用共用キューの有無

共用キューを使用して複数システム間でのアプリケーション連携をする場合のリカバリスレッド監視間隔

共用キューを使用する場合の登録先キュー名

(く)

クライアント定義ファイル

クライアント定義ファイルが格納されているディレクトリのパス

クライアント定義ファイルの使用方法

クラスの機能差

グループ

グループ識別子

(け)

権限

(こ)

構文

コネクション

コネクションIDの取得

コネクション再利用

コネクション使用数

コネクションの共有

コネクションの接続テスト

コネクションプーリング機能

コネクションプールの見積もり

コピーの状態

コマンド実行の前提条件

コマンドの一覧

コマンドの概要

コマンドの記述形式

コマンドの詳細

コマンドの同時実行

コマンドの有効範囲

コンフィグレーションプロパティの設定例〔DB Connector for Cosminexus RM〕

コンフィグレーションプロパティの設定例（永続版リソースアダプタの場合）

コンフィグレーションプロパティの設定例（非永続版リソースアダプタの場合）

(サ行)

(さ)

サーバ間転送

サーバ定義ファイルの設定

サーブレット

再送間隔

再送間隔1

再送間隔1での再送回数

再送間隔2

再送タイマ監視間隔

最大メッセージ数

最大メッセージ数

最大メッセージ数

最大メッセージ数

最大メッセージ数

最大メッセージ長

最大メッセージ長

再配送

参照渡し方式

参照渡し方式の利用の有無

サンプルアプリケーション

(し)

シーケンス番号

識別子

システム管理情報テーブル

システム形態

システム構築・運用の流れとマニュアルの参照先

システム構築（永続版リソースアダプタの場合）

システム構築の準備

システム構築の流れ

システム名

システム名の設定

実行状態

実行状態から管理状態に移行

実行状態への移行

受信

受信用共用キュー

出力メッセージ数

出力メッセージ数

出力メッセージバイト数

出力メッセージバイト数

順序保証

障害コードの詳細

障害時の動作

障害調査用SQLの出力

障害文字列

状態遷移

シリアル取り出し属性

(す)

スキーマ定義

スキーマ定義

スキーマ定義権限

ステートメントキャンセル

(せ)

接続テスト

接続テスト

接続ユーザ

接続ユーザ名の変更

セレクタ

全メッセージを削除

(そ)

相関識別子

送信

送信時刻

送信スレッドの起動数

送信用共用キュー

即時削除

(タ行)

(た)

滞留メッセージの監視

滞留メッセージの監視時間

単一システムでのアプリケーション連携

(ち)

遅延削除

(つ)

通常状態

通常状態

通番

(て)

データベース再編成ユティリティ（pdrorgコマンド）

データベース定義ユティリティ（pddef）

テーブル

テーブル削除用SQLファイルの使用

デッドメッセージID

デッドメッセージID

デッドメッセージID

デッドメッセージキュー

デッドメッセージキューに移動された原因

デッドメッセージキューに移動された時刻

デッドメッセージキューに移動される前に保存されていたキュー名

デッドメッセージキューによるデッドメッセージの再登録

デッドメッセージキュー未使用時の無効メッセージ自動削除の有無

デッドメッセージキュー名

デプロイ

デプロイ

転送

転送キュー

転送先キュー

転送先キューのアドレス

転送データ相互接続用インタフェース継承図

転送データ相互接続用インタフェースの一覧

転送データ相互接続用インタフェースの使い方

転送データ相互接続用インタフェースを利用する場合の設定

(と)

同期受信

登録

トランザクション識別子

トランザクション識別子

トランザクション制御

トランザクション設定

トランザクションとメッセージ受信

トランザクションとメッセージ送信

トランザクションの状態

トランザクションマネジャ

トランザクションマネジャ

トランザクションマネジャでのトランザクションの利用

取り出し

トレース取得ポイント

トレースファイルの最大面数

トレースファイルのファイルサイズ

(ナ行)

(な)

内部状態

内部状態

(に)

認証

(ね)

ネーミングサービス

(ハ行)

(は)

配信

配信

配送

配送回数の最大値

配送時刻

配送保証

パッケージ

パッケージ

パラレル取り出し属性

(ひ)

非永続化

非永続キュー属性

非永続版リソースアダプタ

比較演算子

非同期受信

非同期通信

(ふ)

ファイルサイズ

プール

フォルトコード一覧

複数システム間でのアプリケーション連携

複数システムのキュー間でメッセージを転送するアプリケーション連携

プライオリティ

プライオリティ

プロパティ

プロパティが使用する接頭語

プロパティの型変換

(へ)

閉塞状態

閉塞状態

ペイロード

ヘッダ

(ほ)

ポイントツーポイント

ポート番号

(マ行)

(め)

メソッドトレース

メソッドトレースの出力レベル

メソッドの機能差

メッセージ

メッセージインタフェースとキューの種類

メッセージ機能のメソッドの機能差

メッセージサイズを見積もる方法

メッセージ削除処理の実行間隔

メッセージ識別子

メッセージ受信時のアクセスモード

メッセージ承認モード

メッセージ情報テーブル

メッセージ生成時のアクセスモード

メッセージセレクタ

メッセージセレクタ

メッセージ操作

メッセージ即時削除の利用有無

メッセージタイプ

メッセージ通番

メッセージ通番

メッセージ通番

メッセージとキューの関係

メッセージ取り出しモード

メッセージ取り出しモード

メッセージ取り出しモード

メッセージの受け渡し

メッセージの永続性

メッセージの管理

メッセージの構成

メッセージの再送

メッセージの再利用

メッセージの削除

メッセージの受信制御

メッセージの有効期間

メッセージ配送回数

メッセージ有効期間

メッセージ有効期間

メッセージ有効期間

メッセージ有効期間

メッセージ要素のアクセスモード

メッセージング共通機能のメソッドの機能差

メッセージングモデル

メモリ所要量

面数

面番号

(も)

文字コード

(ヤ行)

(ゆ)

有効期間

有効期間

ユーザ識別子

(よ)

用語解説

読み取り書き込み両用モード

読み取り専用モード

(ラ行)

(り)

リカバー

リカバリスレッド

リクエストタイムアウト値の変更

リソースアダプタ

リソースアダプタ間の依存関係

リソースアダプタの設定

リソースマネジャ

リテラル

(れ)

例外クラスの一覧

例外クラスの一覧

例外クラスの継承

例外クラスの継承

連携するDB Connectorの表示名

(ろ)

ローカルキュー

ローカルキューによるシステム内アプリケーション間連携

ローカルキューの運用（非永続版リソースアダプタの場合）

ローカルキューの状態遷移（非永続版リソースアダプタの場合）

ローカルキューの操作方法

ローカルトランザクションの利用

論理演算子

■ 商標類

AIXは，米国における米国International Business Machines Corp.の登録商標です。
HP-UXは，米国Hewlett-Packard Companyのオペレーティングシステムの名称です。
Itaniumは，アメリカ合衆国および他の国におけるインテル コーポレーションまたはその子会社の登録商標です。
Java 及びすべてのJava関連の商標及びロゴは，米国及びその他の国における米国Sun Microsystems, Inc.の商標または登録商標です。
Linuxは，Linus Torvaldsの米国およびその他の国における登録商標あるいは商標です。
Microsoftは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
ORACLEは，米国Oracle Corporation の登録商標です。
Oracleは，米国Oracle Corporation及びその子会社，関連会社の登録商標です。
Oracle9iは，米国Oracle Corporationの商標です。
Oracle 10gは，米国Oracle Corporationの商標です。
Red Hatは，米国およびその他の国でRed Hat,Inc. の登録商標若しくは商標です。
SOAP（Simple Object Access Protocol）は，分散ネットワーク環境においてXMLベースの情報を交換するための通信プロトコルの名称です。
SQL*Plusは，米国Oracle Corporationの登録商標です。
Windowsは，米国およびその他の国における米国Microsoft Corp.の登録商標です。
Windows Serverは，米国およびその他の国における米国Microsoft Corp. の商標です。
Windows Vistaは，米国Microsoft Corporationの米国及びその他の国における登録商標または商標です。