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

3.15.3 物理格納先の管理

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

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

物理格納先の自動生成

JMSクライアントが存在していない物理格納先にアクセスしようとした場合、メッセージブローカが自動的に新しい物理格納先を作成します。
物理格納先を自動生成する場合は、imqbrokerdコマンドのオプション、またはimqcmdコマンドのupdate bkrサブコマンドを使用します。
物理格納先の自動生成に関するプロパティの詳細については、「9.7.3 物理格納先自動生成に関するプロパティ」を参照してください。

注意

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

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

物理格納先の自動作成は、以下の例に示す2つのプロパティをimqbrokerdコマンドに指定してメッセージブローカを起動することで、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オプションで指定して作成します。
物理格納先の生成に関するプロパティの詳細については、「9.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サブコマンドを使用して、物理格納先に設定されているプロパティの情報を更新できます。
物理格納先の更新に関するプロパティの詳細については、「9.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