3.5.1 キュー作成ファイルの作成
非永続版リソースアダプタを使用する場合,キュー作成ファイルに記述したキュー定義文を基にキューを作成します。キュー作成ファイルはテキストファイルで作成して,任意のディレクトリに格納してください。キュー作成ファイルのフルパスをQueueMakeFileNameプロパティに指定すると,キュー作成ファイルに指定されたキュー定義文を基に,Reliable Messaging開始時に非永続キュー属性のローカルキューが作成されます。
(1) キュー作成ファイルの記述形式
記述形式
hrmmkque 〔-d {serial|parallel|parallel_unit_order}〕 〔-n 最大メッセージ数〕〔-x 表示名〕 〔-e メッセージ有効期間〕 キュー名
-
オプション
- -d {serial|parallel|parallel_unit_order} 〜《parallel》
-
作成するキューのメッセージ取り出しモードを指定します。
serial:シリアル取り出し属性
parallel:パラレル取り出し属性
parallel_unit_order:パラレル取り出し属性(ただし,同一ユニット識別子の配信順序制御)
各属性を指定したときのメッセージの処理については,「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) キュー作成ファイルの作成時の注意事項
-
次の場合は,Reliable Messagingが閉塞します。
-
キュー作成ファイルの読み込みに失敗した場合
-
指定されたパスにキュー作成ファイルがない場合
-
キュー作成ファイル読み込み時にメモリ不足が発生した場合
-
キュー作成ファイルに不正なキュー定義文がある場合
-
キュー作成ファイルに"hrmmkque"と対になるセミコロンがない場合
-
キュー作成ファイルに有効なキュー定義文が存在しない場合
-
キュー作成ファイルの読み込み処理中に何らかの入出力例外が発生した場合
-
-
オプションフラグ,フラグ引数,またはキュー名に不正がある場合,該当の定義文を無視して処理が続行されます。
-
-xオプションで指定したキューの表示名は,キュー定義ファイルを使用しない場合に,指定した表示名でJNDIネーミングサービスに登録されます。キュー定義ファイルを使用する場合は,指定した表示名でJNDIネーミングサービスに登録されません。