ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Java EE運用ガイド
Interstage

2.18.3 物理格納先の管理

物理格納先は、JMSクライアントが送信したメッセージを格納する領域です。
物理格納先の種類には、Point-to-Point(1対1)形態のQueueと、Publish/Subscribe(1対多)形態のTopicの2種類が存在します。
物理格納先では、以下の管理を行います。

物理格納先の動作は、生成時と運用中に設定できます。設定可能な項目と設定方法について以下に説明します。


物理格納先の自動生成

JMSクライアントが存在していない物理格納先にアクセスした場合、メッセージブローカは自動的に新しい物理格納先を作成します。
物理格納先の自動生成は、imqbrokerdコマンドのオプション、またはimqcmdコマンドのupdate bkrサブコマンドを使用して行います。コマンドの詳細については、「リファレンスマニュアル(コマンド編)」の「Java EE運用コマンド」-「imqbrokerd」/「imqcmd」を参照してください。
物理格納先の自動生成に関するプロパティの詳細については、「6.7.3 物理格納先自動生成に関するプロパティ」を参照してください。

注意

  • 本機能は、定義ミスにより誤って意図しない物理格納先にメッセージが送受信される場合があります。このため、本運用時には、物理格納先の自動作成プロパティにfalseを設定して運用してください。

  • 自動生成された物理格納先は、アクセスがなくなると自動削除されます。


物理格納先の自動作成は、imqbrokerdコマンドに、以下の例に示す2つのプロパティを指定してメッセージブローカを起動することにより、QueueとTopicそれぞれに対して物理格納先の自動生成を抑止します。

物理格納先の自動生成を抑止する例

imqbrokerd -port 37676 -name brokertest -Dimq.autocreate.queue=false -Dimq.autocreate.topic=false

また、メッセージブローカ起動後も、imqcmdコマンドのupdate bkrサブコマンドを使用して、物理格納先の自動生成を抑止するよう設定を変更します。

物理格納先の設定を変更する例

imqcmd update bkr -b localhost:37676 -o imq.autocreate.queue=false -o imq.autocreate.topic=false

物理格納先の作成

imqcmdコマンドのcreate dstサブコマンドを使用して、物理格納先を作成します。

ローカルホスト上で動作しているメッセージブローカに対して、JMSQueueという名前のQueueを作成する

imqcmd create dst -b localhost:37676 -n JMSQueue -t q

デフォルトの設定を変更して作成するには、物理格納先の生成に関するプロパティを-oオプションで指定して作成します。
物理格納先の生成に関するプロパティの詳細については、「6.7.7 物理格納先の生成または更新に関するプロパティ」を参照してください。

物理格納先の滞留メッセージの最大数を「100」に変更する

imqcmd create dst -b localhost:37676 -n JMSQueue -t q -o maxNumMsgs=100

物理格納先の一覧表示

imqcmdコマンドのlist dstサブコマンドを使用して、物理格納先の一覧を表示します。

メッセージブローカの物理格納先の一覧を表示する例

imqcmd list dst -b localhost:37676

物理格納先情報の表示

imqcmdコマンドのquery dstサブコマンドを使用して、物理格納先に設定されているプロパティの情報を表示します。

物理格納先JMSQueueのプロパティの情報を表示する

imqcmd query dst -b localhost:37676 -t q -n JMSQueue

物理格納先プロパティの更新

imqcmdコマンドのupdate dstサブコマンドを使用して、物理格納先に設定されているプロパティの情報を更新します。
物理格納先の更新に関するプロパティの詳細については、「6.7.7 物理格納先の生成または更新に関するプロパティ」を参照してください。

物理格納先JMSQueueのプロパティ「maxNumMsgs」と「maxBytesPerMsg」を変更する

imqcmd update dst -b localhost:37676 -t q -n JMSQueue -o maxNumMsgs=100 -o maxBytesPerMsg=100

物理格納先の停止再開

imqcmdコマンドのpause dstサブコマンドを使用して、Producerから物理格納先JMSQueue、物理格納先JMSQueueからConsumer、またはその両方のメッセージの配信を停止します。

物理格納先JMSQueueからConsumerへのメッセージの配信を停止する

imqcmd pause dst -b localhost:37676 -t q -n JMSQueue -pst CONSUMERS

停止したメッセージの配信は、imqcmdコマンドのresume dstコマンドを使用して再開します。

物理格納先JMSQueueからConsumerへのメッセージ配信を再開する

imqcmd resume dst -b localhost:37676 -t q -n JMSQueue

物理格納先の蓄積メッセージの破棄

imqcmdコマンドのpurge dstサブコマンドを使用して、物理格納先に格納されたすべてのメッセージを破棄します。

物理格納先JMSQueueに格納されたすべてのメッセージを破棄する

imqcmd purge dst -b localhost:37676 -t q -n JMSQueue

物理格納先の削除

imqcmdコマンドのdestroy dstサブコマンドを使用して、物理格納先を削除します。

物理格納先JMSQueueを削除する

imqcmd destroy dst -b localhost:37676 -t q -n JMSQueue