40.2. クライアントサイドスレッド管理

クライアントサイドで、HornetQ は、単一のスタティックスケジュールスレッドプールと、JVM インスタンスの同じクラスローダーを使用してすべてのクライアントが使用する単一のスタティック汎用スレッドプールを維持します。
スタティックスケジュールスレッドプールの最大サイズは 5 スレッドであり、汎用スレッドプールはバインドされない最大サイズを持ちます。
また、必要な場合は、各 ClientSessionFactory インスタンスがこれらのスタティックプールを使用せず、独自のスケジュールおよび汎用プールを維持するよう HornetQ を設定できます。ClientSessionFactory から作成されたすべてのセッションは代わりにこれらのプールを使用します。
ClientSessionFactory インスタンスが独自のプールを使用するよう設定するには、作成後すぐに適切なセッターメソッドを使用します。以下に例を示します。
ClientSessionFactory myFactory = HornetQClient.createClientSessionFactory(...);
myFactory.setUseGlobalPools(false);
myFactory.setScheduledThreadPoolMaxSize(10);
myFactory.setThreadPoolMaxSize(-1);
JMS API の使用時に、ClientSessionFactory で同じパラメーターを設定し、ConnectionFactory インスタンスを作成します。以下に例を示します。
ConnectionFactory myConnectionFactory = HornetQJMSClient.createConnectionFactory(myFactory);
JNDI を使用して HornetQConnectionFactory インスタンスをインスタンス化する場合は、接続ファクトリーを定義する JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-jms.xml ファイルでこれらのパラメーターを設定することもできます。以下に、例を示します。
<connection-factory name="NettyConnectionFactory">
   <connectors>
      <connector-ref connector-name="netty"/>
   </connectors>
   <entries>
      <entry name="/ConnectionFactory"/>
      <entry name="/XAConnectionFactory"/>
   </entries>
   <use-global-pools>false</use-global-pools>
   <scheduled-thread-pool-max-size>10</scheduled-thread-pool-max-size>
   <thread-pool-max-size>-1</thread-pool-max-size>
</connection-factory>