jBroker MQサーバは、通常msgsvc.propertiesという名前のプロパティファイルを使用して構成されます。 このファイルには、いくつかのプロパティがあります。これらはサーバを起動する前に指定する必要があります。
msgsvc.name - jBroker MQサーバの名前。 この名前は、サーバで使用されるすべてのデータベーステーブルのプリフィックスになります。 複数のサーバで同じデータベースを共有する場合、データベースの損傷を避けるため、異なる名前を使用してください。
msgsvc.factory.topic - 追加トピック接続ファクトリのカンマ区切りリスト。 各項目のフォーマットは、name:clientID:username:passwordです。 clientID、username、およびpasswordエントリはすべてオプションです。 トピック接続ファクトリは、jBroker MQ名前空間の
topicコンテキストにバインドされます。
msgsvc.xa.factory.topic - 追加XAトピック接続ファクトリのカンマ区切りリスト。 このフォーマットは上のものと同じです。 XAトピック接続ファクトリは、jBroker MQ名前空間のtopicコンテキストにバインドされます。
msgsvc.factory.queue - 追加キュー接続ファクトリのカンマ区切りリスト。 このフォーマットは上のものと同じです。 XAキュー接続ファクトリは、jBroker MQ名前空間のqueueコンテキストにバインドされます。
msgsvc.xa.factory.queue - 追加XAキュー接続ファクトリのカンマ区切りリスト。 このフォーマットは上のものと同じです。 XAキュー接続ファクトリは、jBroker MQ名前空間のqueueコンテキストにバインドされます。
msgsvc.memory - メッセージに使用できる最大メモリ。 このメモリ量を超えると、jBroker MQはメッセージのページアウトを開始します。 この値は、宛先に設定されている最大メモリサイズに合わせてください。 詳細については、こちらを参照してください。
msgsvc.port - jBroker MQサーバが着信IIOP要求をリッスンするTCP/IPポート。 1つのサーバで使用できるポートは、各マシンで1つです。
msgsvc.logdir - jBroker MQがステータスやエラー情報を書き込むログディレクトリです。
msgsvc.maxthreads - サーバが割り当てることができる最大スレッド数。 このプロパティが指定されていない場合、jBroker MQサーバにスレッド数の制限はありませんが、必要なスレッドだけ割り当てます。
msgsvc.store - ストア名は、使用するデータベースを示します。 jBroker MQでは、現在、Cloudscape 3.6の「Cloudscape」、Oracle 8.1.xの「Oracle」、Sybase Adaptive Server Anywhere 6.0の「ASAnywhere」、Microsoft SQL Server 2000の「SQLServer」、およびメモリストアの「memory」をサポートしています。 jBroker MQサーバは、メモリストアを使用する場合、持続的な状態を維持しないので注意してください。
msgsvc.jdbc.driver - 持続的ストアへのアクセスに使用されるJDBCドライバ。
msgsvc.jdbc.url - データベース接続のUDL。
msgsvc.jdbc.user - データベースユーザ名。 こちらで詳しく説明するとおり、セキュリティが有効な場合、このユーザも自動的にjBroker MQ管理者になります。
msgsvc.jdbc.password - データベースユーザのパスワード。
msgsvc.jdbc.minpoolsize - データベースアクセスに使用される接続プールの最小サイズ。 jBroker MQサーバが起動すると、この数のデータベース接続が割り当てられます。
msgsvc.jdbc.maxpoolsize - 接続プールの最大サイズ。 持続メッセージの量が多いときに、この値がパフォーマンスに直接影響するかどうかは、jBroker MQを実行しているハードウェアにより異なります。
msgsvc.jdbc.maxmsgsize - データベースに保存できる最大メッセージサイズ。 このプロパティは、バイナリデータのテキストサイズを設定するためにSybaseデータベースだけで使用されるので注意してください。 このプロパティは、その他のデータベースでは無視されます。
msgsvc.security.enable - セキュリティを有効にするかどうかを指定します。 デフォルト値はfalseです。つまり、セキュリティなしで実行します。 安全なサーバでは、接続するユーザ名およびパスワードが必要です。また、アクセスコントロールがその宛先に適用されます(こちらを参照) msgsvc.propertiesファイルを環境に従って編集した場合、jBroker MQで使用されるテーブルを作成する必要があります。 テーブルは、最初だけ、またはテーブルが失われるたびに作成する必要があります。 データベースは、dbinitコマンドを使用して初期化されます。 jBroker MQサーバは、jmqservコマンドを使用して起動およびシャットダウンされます。
jBroker MQサーバは、メッセージで使用されるメモリサイズをmsgsvc.memoryで制限するように構成できます。 これにより、サーバプロセスで使用されるメモリの合計サイズが間接的に制限されます。 使用できるメモリがなくなると、サーバは、データベースへのメッセージのページアウトを開始します。
Java Virtual Machineで使用できるメモリをjBroker MQサーバですべて消費しないようにすることが理想的な場合、msgsvc.memoryの値をアプリケーションの性質に合わせることが重要です。 たとえば、アプリケーションがいくつかのトピックパブリッシャから多くのトピックサブスクライバにファンアウトする場合、宛先プロパティを使用してメモリを制限することをお勧めします。
また、宛先がdestination.maxUnconsumedMsgNumまたはdestination.maxUnconsumedMsgBytesプロパティを使用して制限される場合、msgsvc.memoryの値は、そのメモリサイズに合わせて設定してください。 これは、フローコントロールが通常の操作中に適用される場合、特に注意してください。
アプリケーションがメッセージを大量に送信する場合、またはいくつかの宛先のメッセージコンシューマが期限切れで非アクティブになっている場合、msgsvc.memoryプロパティを使用すると、実際にサーバで使用されるメッセージだけをメモリに保管することができます。