14.4.4. Netty サーブレットの設定


Netty サーブレットトランスポートでは、HornetQ トラフィックを HTTP を介してサーブレットエンジンで実行されているサーブレットにトンネリングできます (トラフィックは仮想マシン HornetQ サーバーにリダイレクトされます)。
これは、トラフィックが Web アプリケーションを提供している可能性があるサーブレットエンジンを介してルーティングされるため、Netty HTTP トランスポートとは異なります。これにより、企業ポリシーで、単一の Web サーバーが HTTP ポートでリッスンできる場合に、HornetQ を使用できます。

Netty サーバートランスポートのためにサーブレットエンジンを設定

  1. サーブレットをデプロイします。サーブレットを使用する Web アプリケーションは以下のような web.xml ファイルを持つことがあります。
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
      version="2.4">
      <servlet>
        <servlet-name>HornetQServlet</servlet-name>
        <servlet-class>org.jboss.netty.channel.socket.http.HttpTunnelingServlet</servlet-class>
        <init-param>
          <param-name>endpoint</param-name>
          <param-value>local:org.hornetq</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>HornetQServlet</servlet-name>
        <url-pattern>/HornetQServlet</url-pattern>
      </servlet-mapping>
    </web-app>
    Copy to Clipboard Toggle word wrap
  2. netty-invm アクセプターを JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-configuration.xml のサーバーサイド設定に追加します。
    <acceptors>
      <acceptor name="netty-invm">
        <factory-class>
          org.hornetq.core.remoting.impl.netty.NettyAcceptorFactory
        </factory-class>
        <param key="use-invm" value="true"/>
        <param key="host" value="org.hornetq"/>
      </acceptor>
    </acceptors>
    Copy to Clipboard Toggle word wrap
  3. クライアントのコネクターを JBOSS_DIST/jboss-as/server/PROFILE/deploy/hornetq/hornetq-configuration.xml で定義します。
    <connectors>
      <connector name="netty-servlet">
        <factory-class>
          org.hornetq.core.remoting.impl.netty.NettyConnectorFactory
        </factory-class>
        <param key="host" value="localhost"/>
        <param key="port" value="8080"/>
        <param key="use-servlet" value="true"/>
        <param key="servlet-path" value="/messaging/HornetQServlet"/>
      </connector>
    </connectors>
    Copy to Clipboard Toggle word wrap

初期パラメーター

endpoint
サーブレットがパケットを転送する netty アクセプターを定義します。host パラメーターの名前を照合します。
web.xml で設定されたサーブレットパターンは使用される URL のパスです。コネクター設定のコネクターパラメーター servlet-path は、Web アプリケーション (存在する場合) のアプリケーションコンテキストを使用してこれに照合する必要があります。
また、以下の設定をコネクターに追加することにより、SSL を介してサーブレットトランスポートを使用することもできます。
<connector name="netty-servlet">
  <factory-class>
    org.hornetq.core.remoting.impl.netty.NettyConnectorFactory
  </factory-class>
  <param key="host" value="localhost"/>
  <param key="port" value="8443"/>
  <param key="use-servlet" value="true"/>
  <param key="servlet-path" value="/messaging/HornetQServlet"/>
  <param key="ssl-enabled" value="true"/>
  <param key="key-store-path" value="path to a keystore"/>
  <param key="key-store-password" value="keystore password"/>
</connector>
Copy to Clipboard Toggle word wrap
キーストアを使用するためにアプリケーションサーバーを設定する必要もあります。以下のように、SSL/TLS コネクター設定を server/default/deploy/jbossweb.sar/server.xml で編集します。
<Connector protocol="HTTP/1.1" SSLEnabled="true"
  port="8443" address="${jboss.bind.address}"
  scheme="https" secure="true" clientAuth="false"
  keystoreFile="path to a keystore"
  keystorePass="keystore password" sslProtocol = "TLS" />
Copy to Clipboard Toggle word wrap
両方のケースでは、キーストアとパスワードを提供する必要があります。詳細については、HornetQ に同梱された Servlet SSL の例を参照してください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat