5.4. Jakarta Enterprise Beans クライアントのリモーティング相互運用性

リモート Jakarta Enterprise Beans クライアントアプリケーションは、サーバーに接続するために remoting サブシステムに定義されたコネクターを使用します。ニーズに合わせて、次のコネクターのいずれかを使用できます。

  • http-connector: デフォルトポート 8080 で undertow の HTTP アップグレード機能を介してサーバーへのクライアント接続をサポートします。このコネクターが設定されると、クライアントは、暗号化されていない接続に remote+http URI スキームを使用し、暗号化された接続に remote+https URI スキームを使用します。
  • コネクター: レガシー リモート URI スキームを使用したサーバーへのクライアント接続をサポートします。このコネクターは、古い Jakarta Enterprise Beans クライアントアプリケーションでの使用に適しています。
注記

Jakarta Enterprise Beans クライアントは、これまでのリモーティングベースのコネクターを使用する他に、http URI スキームを使用して undertow および HTTP プロトコルを介してサーバーに接続できます。詳細は、Jakarta Enterprise Beans Invocation Over HTTP を参照してください。

デフォルトの HTTP コネクター

デフォルトのコネクターは http-connector で、クライアントは URI スキーム remote+http または remote+https を使用する必要があります。デフォルトのリモート接続ポートは 8080 で、undertow のデフォルトポートです。以下の例は、jboss-ejb-client プロパティーファイルを示しています。

remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
remote.connections=default
remote.connection.default.host=localhost
remote.connection.default.port=8080
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false

異なる JBoss EAP バージョンのクライアントのサポート

クライアントアプリケーションが JBoss EAP 6 の Jakarta Enterprise Beans クライアントライブラリーを使用し、JBoss EAP 7 サーバーへの接続が必要な場合は、8080 以外のポートでリモーティングコネクターを公開するようにサーバーを設定する必要があります。その後、そのクライアントは新しく設定されたコネクターを使用して接続する必要があります。

JBoss EAP 7 の Jakarta Enterprise Beans クライアントライブラリーを使用し、JBoss EAP 6 サーバーへの接続を必要とするクライアントアプリケーションは、サーバーインスタンスによって remoting http-remoting コネクターは使用されず、remoting コネクターコネクターが使用されることを認識する必要があります。これは、以下の新しいクライアント側の接続プロパティーを定義することで実現されます。

remote.connection.default.protocol=remote

Jakarta Enterprise Beans クライアントアプリケーションの複数のコネクターのサポート

JBoss EAP 7.4 より前は、Jakarta Enterprise Beans クライアントアプリケーションは remoting サブシステムに定義された 1 つのリモーティングコネクターのみの使用に制限され、サーバーに接続することがありました。このコネクターは、ejb3 サブシステムの リモート 要素の connector-ref 属性に指定されています。デフォルトの http-connector を使用して、undertow の HTTP アップグレード機能を介して remote+http プロトコルで接続を提供するか、レガシー リモート プロトコル経由で接続を提供するレガシー コネクター を使用できます。

JBoss EAP 7.4 では、Jakarta Enterprise Beans クライアントが接続目的で使用できるコネクターのリストを指定できます。このリストを指定するには、remote 要素の新しい connectors 属性を使用します。connectors 属性は、remoting サブシステムに定義されたコネクターのリストを受け入れます。これにより、1 台のサーバーが Jakarta Enterprise Beans クライアントアプリケーションに複数の接続を提供できます。たとえば、EAP 7.2 以降と互換性のあるクライアントは、http-connector および EAP 7.2 の以前のバージョンと互換性のあるレガシークライアントで remote+http プロトコルを使用してサーバーに接続できます。コネクター でレガシー リモート プロトコルを使用して接続できます。

例:

legacy-remoting-connector は remoting サブシステムに定義された コネクター であるとみなします。以下の例は、write 属性を使用して remoting コネクターの値を更新する ejb3 サブシステム設定を示しています。

/subsystem=ejb3/service=remote:write-attribute(name=connectors, value=[http-remoting-connector, legacy-remoting-connector])

domain.xml ファイルまたは standalone.xml ファイルを表示して、ejb3 サブシステムで設定済みのリモーティングコネクターを確認できます。

<remote cluster="ejb" connectors="http-remoting-connector legacy-remoting-connector" thread-pool-name="default">
  <channel-creation-options>
   <option name="MAX_OUTBOUND_MESSAGES" value="1234" type="remoting"/>
  </channel-creation-options>
</remote>
注記

Jakarta Enterprise Beans リモート呼び出しは、JBoss EAP 6 でのみ JBoss EAP 7 でサポートされます。

Jakarta Enterprise Beans クライアントのリモーティング相互運用性のほかにも、以下のオプションを使用してレガシークライアントに接続できます。