5.9.2. キューの設定
5.9.2.1. キュー MBean の属性
- Name
- キュー名を定義します。
- JNDIName
- キューをバインドする JNDI 名を定義します。
- DLQ
- このキューの DLQ (Dead Letter Queue) を定義して、Server Peer 設定ファイルで設定されているすべての値を無効にします。
- ExpiryQueue
- Expiry Queue を定義して、Server Peer 設定ファイルで設定されているすべての値を無効にします。
- RedeliveryDelay
- このキューに適用される再配信の遅延を定義して、Server Peer 設定ファイルで設定されているすべての値を無効にします。
- MaxDeliveryAttempts
- 設定されている場合、メッセージが DLQ に送信されるまでに試行されるメッセージの配信最大回数を定義します。デフォルト値は
-1です。これは、Server Peer 設定ファイルからの値が使用されていることを意味します。他のどの設定も Server Peer 設定ファイルで設定されている値を無効にします。 - CreatedProgrammatically
- キューがプログラムによって作成された場合は
trueを返します。 - MessageCount
- キューのメッセージ合計数を返します。スケジュールされたメッセージ数に、配信されている数と配信されていない数が加わります。
- ScheduledMessageCount
- キューの スケジュールされたメッセージ の数を返します。これは後日に配信が予定されているメッセージの数です。スケジュールされた配信により、特定のメッセージが配信される最も早い時刻を指定できます。例えば、今から 2 時間は配信されないように指定して、今メッセージを送ることができます。詳しくはメッセージのヘッダーで以下を設定してください。
long now = System.currentTimeMillis(); Message msg = sess.createMessage(); msg.setLongProperty(JBossMessage.JMS_JBOSS_SCHEDULED_DELIVERY_PROP_NAME, now + 1000 * 60 * 60 * 2); prod.send(msg); - MaxSize
- キューで保留できるメッセージの最大数を指定します。過剰なメッセージは破棄されます。デフォルト値は
-1で、バインドされません。 - Clustered
- デスティネーションがクラスター化されている場合、この属性は
trueに設定する必要があります。 - MessageCounter
- 各キューはメッセージカウンターを維持します。
- MessageCounterStatistics
- メッセージカウンターの統計です。
- MessageCounterHistoryDayLimit
- メッセージカウンターの履歴を保持する最長日数です。Server Peer 設定ファイルで設定されているすべての値を無効にします。
- ConsumerCount
- 現在キューからコンシュームしているコンシューマーの数です。
- DropOldMessageOnRedeploy
- 以前にデプロイした属性とは異なるクラスター属性でキューサービスをどのように処理するか指定します。
trueに設定すると、キューサービスの属性に異なるクラスター属性が含まれている場合はキューサービスが再デプロイした後に、キューに残っているすべてのメッセージは削除されます。false(デフォルト) に設定すると、すべてのメッセージは保持されます。
警告
デスティネーションを再デプロイする場合は、クラスター内のすべてのノードをシャットダウンし、適切な設定変更を加え、ノードを再起動する必要があります。
非クラスター化のキューからクラスター化のキューに再デプロイするには、クラスター属性を
true に設定し、キューサービス設定を各ノードに追加する必要があります。
クラスター化のキューから非クラスター化のキューに再デプロイするには、キュー設定の 1 つでクラスター属性を
false に設定し、クラスター内のすべての他のキューを削除する必要があります。
5.9.2.1.1. Destination Security Configuration
<SecurityConfig> は、デスティネーションに読み取り、書き込み、作成を行うことができるロールを決定します。JBossMQ デスティネーションのセキュリティ設定と同じ構文とセマンティクスを使用します。
<SecurityConfig>
<security>
<role read="true" write="true" create="true"/>
</security>
<SecurityConfig>
<SecurityConfig> 要素には 1 つの <security> 要素を含む必要があります。それには、複数の <role> 要素を含むことができます。<role> 要素は以下の属性を使用してその特定のロールに対しアクセスの種類を定義します。
- read
- ロールがコンシューマーを作成、メッセージを受信、デスティネーションの閲覧を行うことができると指定します。
- write
- ロールがプロデューサーを作成、デスティネーションにメッセージを送信できると指定します。
- create
- ロールがこのデスティネーションで持続性のあるサブスクリプションを作成できると指定します。
注記
デスティネーションのセキュリティ設定はオプションです。
SecurityConfig 要素を指定しないと、Server Peer からのデフォルトのセキュリティ設定が使用されます。
5.9.2.1.2. Destination paging parameters
Pageable Channels (ページング可能なチャンネル) は、キュー単位またはトピック単位でメモリに一度に保存できるメッセージの最大数を指定できる JBoss Messaging の機能です。JBoss Messaging は、ブロック単位で透過的にメッセージをストレージ間でページングします。これによって、チャンネルサイズが大きくなると、パフォーマンスを低下させることなくキューとサブスクリプションのサイズを非常に大きくすることができます。
ページング可能なチャンネルに関連するパラメーターは以下のとおりです。
- FullSize
- 一度にメモリでキューまたはトピックのサブスクリプションが保持するメッセージの最大数を指定します。実際のキューはこれより多くのメッセージを保持できますが、メッセージは追加されたりコンシュームされたりするためストレージ間でページングされます。値を指定しない場合のデフォルト値は
75000です。 - PageSize
- キューまたはサブスクリプションからメッセージを読み込む場合の、動作ごとに事前に読み込んだメッセージの最大数を指定します。値を指定しない場合のデフォルト値は
2000です。 - DownCacheSize
- メッセージがストレージにフラッシュされるまでに Down Cache が保持するメッセージの最大数を指定します。デフォルト値は
2000メッセージです。メッセージがキューからストレージにページングされる場合、メッセージはストレージに書き込まれる前に Down Cache に入ります。これにより書き込みを単独の動作として発生させ、パフォーマンスを向上させます。注記
一時的なキューのページングパラメーターは適切な接続ファクトリで指定する必要があります。使用可能な様々な接続ファクトリについての詳細は 「接続ファクトリの設定」 を参照してください。
5.9.2.1.3. キュー管理 Bean の動作
- RemoveAllMessages
- キューからすべてのメッセージを削除(および消去)します。
重要
これによりキューからすべてのメッセージが永久に消去されますので、使用する場合はご注意ください。 - ListAllMessages
- 現在キューにあるすべてのメッセージを一覧表示します。この動作で JMS セレクターを引数として使用すると、所定の基準に一致するキュー内のメッセージのサブセットを取得することができます。
- ListDurableMessages
- キューにあるすべての 持続性のある メッセージを一覧表示します。この動作で JMS セレクターを引数として使用すると、所定の基準に一致するキュー内のメッセージのサブセットを取得することができます。
- ListNonDurableMessages
- キューにあるすべての 持続性のない メッセージを一覧表示します。この動作で JMS セレクターを引数として使用すると、所定の基準に一致するキュー内のメッセージのサブセットを取得することができます。
- ResetMessageCounter
- メッセージカウンターをゼロにリセットします。
- ResetMessageCounterHistory
- メッセージカウンター履歴をリセットします。
- ListMessageCounterAsHTML
- メッセージカウンターを HTML 形式で一覧表示します。
- ListMessageCounterHistoryAsHTML
- メッセージカウンター履歴を HTML 形式で一覧表示します。