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>