239.9. Netty ボスおよびワーカースレッドプールの再利用


Camel 2.12 以降で利用可能

Netty には、ボスとワーカーの 2 種類のスレッドプールがあります。デフォルトでは、各 Netty コンシューマーとプロデューサーにはプライベートスレッドプールがあります。複数のコンシューマーまたはプロデューサー間でこれらのスレッドプールを再利用する場合は、スレッドプールを作成してレジストリーに登録する必要があります。

たとえば、Spring XML を使用すると、以下に示すように、2 つのワーカースレッドを持つ NettyWorkerPoolBuilder を使用して共有ワーカースレッドプールを作成できます。

Copy to Clipboard Toggle word wrap
  <!-- use the worker pool builder to help create the shared thread pool -->
  <bean id="poolBuilder" class="org.apache.camel.component.netty.NettyWorkerPoolBuilder">
    <property name="workerCount" value="2"/>
  </bean>

  <!-- the shared worker thread pool -->
  <bean id="sharedPool" class="org.jboss.netty.channel.socket.nio.WorkerPool"
        factory-bean="poolBuilder" factory-method="build" destroy-method="shutdown">
  </bean>
ヒント

Boss スレッドプールには、Netty コンシューマー用の org.apache.camel.component.netty.NettyServerBossPoolBuilder ビルダーと、Netty プロデューサー用の org.apache.camel.component.netty.NettyClientBossPoolBuilder があります。

次に、Camel ルートで、以下に示すように URIworkerPool オプションを設定することにより、このワーカープールを参照できます。

Copy to Clipboard Toggle word wrap
    <route>
      <from uri="netty:tcp://localhost:5021?textline=true&amp;sync=true&amp;workerPool=#sharedPool&amp;orderedThreadPoolExecutor=false"/>
      <to uri="log:result"/>
      ...
    </route>

別のルートがある場合は、共有ワーカープールを参照できます。

Copy to Clipboard Toggle word wrap
    <route>
      <from uri="netty:tcp://localhost:5022?textline=true&amp;sync=true&amp;workerPool=#sharedPool&amp;orderedThreadPoolExecutor=false"/>
      <to uri="log:result"/>
      ...
    </route>
  1. などがあります。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.