5.3. HTTP 上の JNDI 呼び出し
HTTP 上の JNDI 呼び出しには、クライアント側実装とサーバー側実装の 2 つの異なる部分が含まれます。
5.3.1. クライアント側実装
クライアント側実装はリモートネーミング実装と似ていますが、Undertow HTTP クライアントを使用して HTTP を基にしています。
接続管理は直接的ではなく暗黙的で、既存のリモートネーミング実装で使用される方法と似ているキャッシングを使用します。接続プールは、接続パラメーターを基にキャッシュされます。接続プールが指定された期間使用されないと、破棄されます。
HTTP トランスポートを使用するようにリモート JNDI クライアントアプリケーションを設定するには、以下の依存関係を HTTP トランスポート実装に追加する必要があります。
<dependency> <groupId>org.wildfly.wildfly-http-client</groupId> <artifactId>wildfly-http-naming-client</artifactId> </dependency>
HTTP 呼び出しを実行するには、http
URL スキームを使用し、HTTP インボーカーのコンテキスト名である wildfly-services
を含める必要があります。たとえば、remote+http://localhost:8080
をターゲット URL として使用している場合、HTTP トランスポートを使用するにはこれを http://localhost:8080/wildfly-services
に更新する必要があります。
5.3.2. サーバー側実装
サーバー側実装は既存のリモートネーミング実装と似ていますが、HTTP トランスポートを使用します。
サーバーを設定するには、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
属性は 2 つのパラメーターを取ります。 その 1 つは path
で、デフォルトは /wildfly-services
になります。 もう 1 つのパラメーターは http-authentication-factory
で、Elytron の http-authentication-factory
への参照である必要があります。
http-authentication-factory
の使用を希望するすべてのデプロイメントは、Elytron セキュリティーと、指定の HTTP 認証ファクトリーに対応する同じセキュリティードメインを使用する必要があります。