5.7. HTTP 上の Jakarta Enterprise Beans 呼び出し

HTTP 上の Jakarta Enterprise Beans 呼び出しには、クライアント側実装とサーバー側実装の 2 つの異なる部分が含まれます。

5.7.1. クライアント側実装

クライアント側の実装は、Undertow HTTP クライアントを使用してサーバーを呼び出す EJBReceiver で設定されます。接続管理は、接続プールを使用して自動的に処理されます。

HTTP トランスポートを使用するようにリモート Jakarta Enterprise Beans クライアントアプリケーションを設定するには、以下の依存関係を HTTP トランスポート実装に追加する必要があります。

<dependency>
    <groupId>org.wildfly.wildfly-http-client</groupId>
    <artifactId>wildfly-http-ejb-client</artifactId>
</dependency>

HTTP 呼び出しを実行するには、http URL スキームを使用し、HTTP インボーカーのコンテキスト名である wildfly-services を含める必要があります。たとえば、remote+http://localhost:8080 をターゲット URL として使用している場合、HTTP トランスポートを使用するにはこれを http://localhost:8080/wildfly-services に更新する必要があります。

5.7.2. サーバー側実装

サーバー側実装は、受信 HTTP リクエストを処理し、それらをアンマーシャルし、結果を内部 Jakarta Enterprise Beans 呼び出しコードに渡すサービスで設定されます。

サーバーを設定するには、undertow サブシステムで使用したい各仮想ホストで http-invoker を有効にする必要があります。これは、標準の設定ではデフォルトで有効になっています。無効になっている場合は、以下の管理 CLI コマンドを使用して再度有効にできます。

/subsystem=undertow/server=default-server/host=default-host/setting=http-invoker:add(http-authentication-factory=myfactory, path="wildfly-services")

http-invoker には wildfly-services がデフォルトの path と、以下のいずれかの属性があります。

  • 上記のコマンドが示すように、Elytron http-authentication-factory への参照である必要がある http-authentication-factory
  • レガシー security-realm.

上記の属性は相互排他的であることに注意してください。http-authentication-factorysecurity-realm の両方を同時に指定することはできません。

注記

http-authentication-factory の使用を希望するすべてのデプロイメントは、Elytron セキュリティーと、指定の HTTP 認証ファクトリーに対応する同じセキュリティードメインを使用する必要があります。