コネクション関連のプロパティーを使用して、ブローカとそのクライアントの間の物理的な接続を設定および管理します。Message Queue クライアントで使用可能なコネクションサービスについては、「ブローカへの接続」で説明しています。この項では、使用可能なコネクションサービス、サービス名、サービスタイプ、および基礎となるプロトコルについて説明しています。コネクションサービスは、マルチスレッド化されており、専用のポート経由で使用できます。このポートは、ブローカのポートマッパーによって動的に割り当てることも、管理者が静的に割り当てることもできます。デフォルトでは、ブローカを起動すると、jms および admin サービスが稼働します。
すべてのコネクションには 2 つの端があるため、両側でコネクションの設定を行い、調整する必要があります。
クライアントは、コネクションファクトリオブジェクトの特定の属性を設定して、デフォルト以外のコネクションサービス、ホスト、およびポートの要求、異なるブローカへのコネクションが必要な場合に再接続するためのブローカのリストの指定、および再接続動作の設定を行う必要があります。クライアントはまた、失敗したコネクションをテストするための ping 間隔を指定することもできます。
管理者は、ブローカのプロパティーを使用して、デフォルト以外のコネクションサービスの有効化、必要に応じた静的なポートの割り当て、スレッドの設定、および複数のネットワークカードが使用された場合の接続先のホストの指定を行います。管理者はまた、クライアントがアクセス可能かどうかをテストするための ping 間隔を指定することもできます。これはリソースの管理に役立ちます。
クライアントは、ファイアウォール経由で Message Queue サービスに接続できます。これは、ファイアウォール管理者に特定のポートを開いてもらってからその (静的) ポートに接続するか、付録 B 「Message Queue の機能」で説明しているように、HTTP サービスまたは HTTPS サービスを使用して実現できます。
各コネクションサービスは、特定の認証および承認機能もサポートします。詳細は、「セキュリティーサービス」を参照してください。
コネクションサービスには、ブローカのメインポート 7676 に常駐する共通ポートマッパーによりポートが割り当てられます。Message Queue クライアントランタイムがブローカとの間でコネクションを設定する場合、最初にポートマッパーに接続し、選択したコネクションサービスのポート番号を要求します。
ポートマッパーは、jms、ssljms、admin、および ssladminの各サービスの設定時に、静的なポート番号を割り当てることによってオーバーライドできます。ただし、静的ポートは通常、ファイアウォールを通してコネクションを確立する場合のように特殊な状況でのみ使用され、一般的にはお勧めしません。
各コネクションサービスは、複数のコネクションをサポートするマルチスレッドです。これらのコネクションに必要なスレッドは、プール内のブローカによって保持されます。スレッドの割り当て方法は、スレッドの最小数および最大数に指定した値、および選択したスレッドモデルによって決まります。
ブローカのプロパティーを設定してスレッドの最小数および最大数を指定できます。コネクションでスレッドが必要になると、コネクションをサポートするサービスのスレッドプールにスレッドが追加されます。最小数では、割り当てに使用できるスレッドの数を指定します。使用可能なスレッドの数がこの最小しきい値を超えると、システムはスレッドをシャットダウンします。スレッドは最小値に再び達するまで解放されるため、メモリーリソースが節約されます。負荷が大きい場合、プールの最大数に達するまでスレッドの数が増加する可能性があります。最大数に達すると、スレッドが使用可能になるまで新しい接続は拒否されます。
選択したスレッドモデルにより、スレッドが 1 つのコネクション専用か複数のコネクションで共有されるかが指定されます。
専用モデルでは、ブローカへのコネクションごとに 2 つのスレッドが必要になります。1 つは受信メッセージ用で、1 つは送信メッセージ用です。これにより、使用可能なコネクション数が制限されますがパフォーマンスが向上します。
共有モデルでは、メッセージを送受信するときに共有スレッドによってコネクションが処理されます。各コネクションに専用のスレッドが必要ないので、このモデルでは使用可能なコネクションの数が増加しますが、スレッド管理のオーバーヘッドが増えるためにパフォーマンスに影響します。