第18章 クライアントの設定
18.1. wildfly-config.xml ファイルを使用したクライアント設定 リンクのコピーリンクがクリップボードにコピーされました!
EJB や naming などの JBoss EAP クライアントライブラリーは、リリース 7.1 まで異なる設定ストラテジーを使用していました。サーバー設定と似た方法で、すべてのクライアント設定を 1 つの設定ファイルに統合するため、JBoss EAP 7.1 には wildfly-config.xml ファイルが導入されました。
以下の表は、JBoss EAP 7.1 の wildfly-config.xml ファイルを使用して実現できるクライアント設定および設定タイプと、リファレンススキーマリンクを示しています。
| クライアント設定 | スキーマの場所 / 設定情報 |
|---|---|
|
認証クライアント |
スキーマリファレンスは、 スキーマは、http://www.jboss.org/schema/jbossas/elytron-1_0_1.xsd にも公開されています。 |
|
詳細と設定例については、「 詳細は、JBoss EAP『How to Configure Identity Management』の「Configure Client Authentication with Elytron Client」を参照してください。 | |
|
EJB クライアント |
スキーマリファレンスは、 スキーマは http://www.jboss.org/schema/jbossas/wildfly-client-ejb_3_0.xsd にも公開されます。 |
|
詳細と設定例については、「 その他の簡単な例は、JBoss EAP『Migration Guide』の「Migrate an EJB Client to Elytron」を参照してください。 | |
|
HTTP クライアント |
スキーマリファレンスは、 スキーマは http://www.jboss.org/schema/jbossas/wildfly-http-client_1_0.xsd にも公開されます。 |
|
注記 この機能はテクノロジープレビューとしてのみ提供されます。
詳細と設定例については、「 | |
|
リモーティングクライアント |
スキーマリファレンスは スキーマは、http://www.jboss.org/schema/jbossas/jboss-remoting_5_0.xsd にも公開されています。 |
|
詳細と設定例については、「 | |
|
XNIO ワーカークライアント |
スキーマリファレンスは、 スキーマは、http://www.jboss.org/schema/jbossas/xnio_3_5.xsd にも公開されています。 |
|
詳細と設定例については、「 |
18.1.1. wildfly-config.xml ファイルを使用したクライアント認証設定 リンクのコピーリンクがクリップボードにコピーされました!
urn:elytron:1.0.1 ネームスペースにある authentication-client 要素を使用すると、wildfly-config.xml ファイルを使用してクライアント認証を設定できます。ここでは、この要素を使用したクライアント認証の設定方法について説明します。
authentication-client 要素および属性
authentication-client 要素には、任意で以下のトップレベル子要素とそれらの子要素を含むことが可能です。
credential-storesこの任意の要素は、設定内でクレデンシャルを埋め込む代わりに、設定内の他の場所から参照されるクレデンシャルストアを定義します。
任意数の
credential-store要素を含むことができます。例:
credential-stores設定Copy to Clipboard Copied! Toggle word wrap Toggle overflow
credential-storeこの要素は、設定の別の場所から参照されるクレデンシャルストアを定義します。
この要素は以下の属性を持ちます。
Expand 属性名 属性の説明 name
クレデンシャルストアの名前。この属性は必須です。
type
クレデンシャルストアのタイプ。この属性は必須です。
provider
クレデンシャルストアのロードに使用する
java.security.Providerの名前。この属性は任意です。この要素には、以下の各子要素を 1 つのみ含めることができます。
attributesこの要素は、クレデンシャルストアの初期化に使用される設定属性を定義し、設定に必要な回数繰り返すことができます。
例:
attributes設定<attributes> <attribute name="..." value="..." /> </attributes>
<attributes> <attribute name="..." value="..." /> </attributes>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
protection-parameter-credentialsこの要素には、クレデンシャルストアを初期化するときに使用される保護パラメーターにアセンブルされる 1 つまたは複数のクレデンシャルを含むことができます。
It can contain one or more of the following child elements, which are dependent on the credential store implementation:
例:
protection-parameter-credentials設定Copy to Clipboard Copied! Toggle word wrap Toggle overflow
key-store-referenceこの要素は、JBoss EAP 7.1 の認証メカニズムによって 現在使用されていません。キーストアへの参照を定義します。
この要素は以下の属性を持ちます。
Expand 属性名 属性の説明 key-store-name
キーストア名。この属性は必須です。
alias
参照されたキーストアからロードするエントリーのエイリアス。単一のエントリーのみが含まれるキーストアのみ省略できます。
これには、以下の子要素の 1 つのみを含めることができます。
例:
key-store-reference設定<key-store-reference key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-reference>
<key-store-reference key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-reference>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
credential-store-referenceこの要素はクレデンシャルストアへの参照を定義します。
この要素は以下の属性を持ちます。
Expand 属性名 属性の説明 store
クレデンシャルストア名。
alias
参照されたクレデンシャルストアからロードするエントリーのエイリアス。単一のエントリーのみが含まれるキーストアのみ省略できます。
clear-text
クリアテキストのパスワード。
clear-password- この要素は、クリアテキストパスワードを定義します。
key-pairこの要素は、JBoss EAP 7.1 の認証メカニズムによって 現在使用されていません。パブリックキーとプライベートキーのペアを定義します。
これには、以下の子要素を含めることができます。
public-key-pem- この要素は、JBoss EAP 7.1 の認証メカニズムによって 現在使用されていません。EPM エンコードのパブリックキーを定義します。
private-key-pem- この要素は、PEM エンコードのプライベートキーを定義します。
certificateこの要素は、JBoss EAP 7.1 の認証メカニズムによって 現在使用されていません。証明書を指定します。
この要素は以下の属性を持ちます。
Expand 属性名 属性の説明 private-key-pem
PEM エンコードのプライベートキー。
pem
対応する証明書。
bearer-token- この要素はベアラートークンを定義します。
oauth2-bearer-tokenこの要素は、OAuth 2 のベアラートークンを定義します。
これには以下の属性があります。
Expand 属性名 属性の説明 token-endpoint-uri
トークンエンドポイントの URL。
この要素には、以下の各子要素を 1 つのみ含めることができます。
client-credentialsこの要素は、クライアントクレデンシャルを定義します。
この要素は以下の属性を持ちます。
Expand 属性名 属性の説明 client-id
クライアント ID。この属性は必須です。
client-secret
クライアントシークレット。この属性は必須です。
resource-owner-credentialsこの要素は、リソース所有者のクレデンシャルを定義します。
この要素は以下の属性を持ちます。
Expand 属性名 属性の説明 name
リソース名。この属性は必須です。
pasword
パスワード。この属性は必須です。
key-storesこの要素は任意で、設定の別の場所から参照されるキーストアを定義します。
例:
key-stores設定Copy to Clipboard Copied! Toggle word wrap Toggle overflow
key-storeこの要素は任意で、設定の他の場所から参照されるキーストアを定義します。
key-storeには以下の属性があります。Expand 属性名 属性の説明 name
キーストアの名前。属性は必須です。
type
JCEKSなどのキーストアタイプ。この属性は必須です。provider
クレデンシャルストアのロードに使用する
java.security.Providerの名前。この属性は任意です。wrap-passwords
true の場合、
passwordsをラップします。パスワードは、クリアなパスワードコンテンツを UTF-8 でエンコードした後、結果のバイトを秘密鍵として格納します。デフォルトはfalseです。キーストアのロード元を定義する以下の要素の 1 つが必ず含まれる必要があります。
また、キーストアを初期化するときに使用する保護パラメーターを指定する以下の要素の 1 つが含まれている必要があります。
fileこの要素はキーストアファイルの名前を指定します。
これには以下の属性があります。
Expand 属性名 属性の説明 name
ファイルの完全修飾ファイルパスおよび名前。
load-fromこの要素は、キーストアファイルの URI を指定します。
これには以下の属性があります。
Expand 属性名 属性の説明 uri
キーストアファイルの URI。
resourceこの要素は、
Threadコンテキストクラスローダーからロードするリソースの名前を指定します。これには以下の属性があります。
Expand 属性名 属性の説明 name
The name of the resource.
key-store-clear-passwordこの要素はクリアテキストパスワードを指定します。
これには以下の属性があります。
Expand 属性名 属性の説明 password
クリアテキストのパスワード。
key-store-credentialこの要素は、このキーストアにアクセスするために保護パラメーターとして使用するエントリーを取得する別のキーストアへの参照を指定します。
key-store-credential要素には以下の属性があります。Expand 属性名 属性の説明 key-store-name
キーストア名。この属性は必須です。
alias
参照されたキーストアからロードするエントリーのエイリアス。単一のエントリーのみが含まれるキーストアのみ省略できます。
これには、以下の子要素の 1 つのみを含めることができます。
例:
key-store-credential設定<key-store-credential key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-credential>
<key-store-credential key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-credential>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
authentication-rulesこの要素は、適切な認証設定を適用するためにアウトバウンド接続と照合するルールを定義します。
authentication-configurationが必要である場合、アクセスされたリソースの URI と、任意の抽象型および抽象型オーソリティーは、設定に定義されたルールと照合され、使用するauthentication-configurationを特定します。この要素には、1 つまたは複数の子
rule要素を含めることができます。例:
authentication-rules設定Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ruleこの要素は、適切な認証設定を適用するためにアウトバウンド接続と照合するルールを定義します。
これには以下の属性があります。
Expand 属性名 属性の説明 use-configuration
ルールが一致した時に選択される認証設定。
認証設定ルールの照合は、SSL コンテキストルールの照合とは独立しています。認証設定ルールは認証設定、SSL コンテキストルールは SSL コンテキストを参照すること以外は、認証ルールの構造は SSL コンテキストルールの構造と同じです。
これには、以下の子要素を含めることができます。
例: 認証の
rule設定Copy to Clipboard Copied! Toggle word wrap Toggle overflow
match-no-user-
URI 内に埋め込まれた
user-infoがない場合、このルールと一致します。
match-user-
URI 内に埋め込まれた
user-infoがこの要素に指定されたname属性と一致する場合、このルーツと一致します。
match-protocol-
URI 内のプロトコルがこの要素に指定されたプロトコル
name属性と一致する場合、このルールと一致します。
match-host-
URI 内に指定されたホスト名がこの要素に指定されたホスト
name属性と一致する場合、このルールと一致します。
match-path-
URI 内に指定されたパスがこの要素に指定されたパス
name属性と一致する場合、このルールと一致します。
match-port-
URI 内に指定されたポート番号がこの要素に指定されたポート
number属性と一致する場合、このルールと一致します。これは、URI 内に指定された番号のみと照合され、このプロトコルから派生するデフォルトのポート番号とは照合されません。
match-urn-
URI のスキーム固有の部分がこの要素に指定された
name属性と一致する場合、このルールと一致します。
match-domain-name-
URI のプロトコルが
domainで、URI のスキーム固有の部分がこの要素に指定されたname属性と一致する場合、このルールと一致します。
match-abstract-type-
抽象型が
name属性と一致し、オーソリティーがこの要素で指定されたauthority属性と一致する場合、このルールと一致します。
authentication-configurationsこの要素は、認証ルールによって選択される名前付きの認証設定を定義します。
これには、1 つまたは複数の
configuration要素を含めることができます。例:
authentication-configurations設定Copy to Clipboard Copied! Toggle word wrap Toggle overflow
configurationこの要素は、認証ルールによって選択される名前付きの認証設定を定義します。
これには、以下の子要素を含めることができます。
-
任意の
set-host-name、set-port-number、およびset-protocol要素は宛先をオーバーライドできます。 -
任意の
set-user-nameおよびset-anonymous要素は相互排他的で、認証の名前の設定や匿名認証への切り替えに使用できます。 -
次は任意の
set-mechanism-realm-name、rewrite-user-name-regex、sasl-mechanism-selector、set-mechanism-properties、credentials、set-authorization-name、およびproviders要素です。 -
最後の 2 つの要素
use-provider-sasl-factoryおよびuse-service-loader-sasl-factoryは任意で、相互排他的です。SASL メカニズムファクトリーが認証に対して検出される方法を定義します。
-
任意の
set-host-nameこの要素は、認証された呼び出しのホスト名をオーバーライドします。
これには以下の属性があります。
Expand 属性名 属性の説明 name
ホスト名。
set-port-numberこの要素は、認証された呼び出しのポート番号をオーバーライドします。
これには以下の属性があります。
Expand 属性名 属性の説明 number
ポート番号。
set-protocolこの要素は、認証された呼び出しのプロトコルをオーバーライドします。
これには以下の属性があります。
Expand 属性名 属性の説明 name
プロトコル。
set-user-nameこの要素は、認証に使用するユーザー名を設定します。
set-anonymous要素とは使用しないでください。これには以下の属性があります。
Expand 属性名 属性の説明 name
認証に使用するユーザー名。
set-anonymous-
匿名認証への切り替えに使用されます。
set-user-name要素とは使用しないでください。
set-mechanism-realm-nameこの要素は、必要時に SASL メカニズムによって選択されるレルムの名前を指定します。
これには以下の属性があります。
Expand 属性名 属性の説明 name
レルムの名前。
rewrite-user-name-regexこの要素は、認証に使用されるユーザー名を再書き込みする正規表現パターンと代替を定義します。
この要素は以下の属性を持ちます。
Expand 属性名 属性の説明 pattern
正規表現パターン。
replacement
認証に使用されるユーザー名の再書き込みに使用する代替。
sasl-mechanism-selectorこの要素は、
org.wildfly.security.sasl.SaslMechanismSelector.fromString(string)メソッドからの構文を使用して SASL メカニズムを指定します。これには以下の属性があります。
Expand 属性名 属性の説明 selector
SASL メカニズムセレクター。
sasl-mechanism-selectorに必要な文法に関する詳細は、JBoss EAP『How to Configure Server Security』の「sasl-mechanism-selectorGrammar」を参照してください。
set-mechanism-properties-
この要素には、認証メカニズムに渡される 1 つまたは複数の
property要素を含めることができます。
propertyこの要素は、認証メカニズムに渡されるプロパティーを定義します。
この要素は以下の属性を持ちます。
Expand 属性名 属性の説明 key
プロパティー名。
value
プロパティーの値。
credentialsこの要素は、認証中に使用できる 1 つまたは複数のクレデンシャルを定義します。
It can contain one or more of the following child elements, which are dependent on the credential store implementation:
これらは、
protection-parameter-credentials要素に含まれる子要素と同じです。詳細と設定例については、protection-parameter-credentials要素の説明を参照してください。
set-authorization-nameこの要素は、承認に使用する名前が認証 ID とは異なる場合に、その名前を指定します。
この要素は以下の属性を持ちます。
Expand 属性名 属性の説明 name
承認に使用する名前。
use-provider-sasl-factory-
継承または設定に定義され、利用可能な SASL クライアントファクトリーの検索に使用される
java.security.Providerインスタンスを指定します。この要素はuse-service-loader-sasl-factory要素とは使用しないでください。
use-service-loader-sasl-factoryこの要素は、サービスローダー検出メカニズムを使用して SASL クライアントファクトリーの検出に使用されるモジュールを指定します。指定されたモジュールがない場合は、設定をロードしたクラスローダーが使用されます。この要素は
use-provider-sasl-factory要素とは使用しないでください。これには以下の属性があります。
Expand 属性名 属性の説明 module-name
モジュール名
net-authenticatorこの要素に含まれる設定はありません。この要素が存在する場合、
org.wildfly.security.auth.util.ElytronAuthenticatorがjava.net.Authenticator.setDefault(Authenticator)で登録されます。これにより、認証を必要とする HTTP 呼び出しに JDK API が使用された場合にElytron 認証クライアント設定が認証に使用されます。注記JDK は JBM 全体で最初の呼び出し時に認証をキャッシュするため、同じ URI への複数の呼び出しに異なるクレデンシャルを必要としないスタンドアロンプロセスのみに使用することが推奨されます。
ssl-context-rulesこれは任意の要素で、SSL コンテキストルールを定義します。
ssl-contextが必要な場合、アクセスされたリソースの URI と、任意の抽象型および抽象型オーソリティーは、設定に定義されたルールと照合され、使用するssl-contextを特定します。この要素には、1 つまたは複数の子
rule要素を含めることができます。例:
ssl-context-rules設定Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ruleこの要素は、SSL コンテキスト定義で照合するルールを定義します。
これには以下の属性があります。
Expand 属性名 属性の説明 use-ssl-context
ルールに一致したときに選択される SSL コンテキスト定義。
SSL コンテキストルールの照合は、認証ルールの照合とは独立しています。SSL コンテキストルールは SSL コンテキスト、認証ルールは認証設定を参照すること以外は、SSL コンテキストルールの構造は、認証設定ルールの構造と同じです。
これには、以下の子要素を含めることができます。
例: SSL コンテキストの
rule設定Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ssl-contextsこれは任意の要素で、SSL コンテキストルールによって選択される SSL コンテキスト定義を定義します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
default-ssl-context-
この要素は、
javax.net.ssl.SSLContext.getDefault()によって返されるSSLContextを取り、ssl-context-rulesから参照されるように名前を割り当てます。この要素は繰り返すことができるため、異なる名前を使用してデフォルトの SSL コンテキストを参照することができます。
ssl-contextこの要素は、接続に使用する SSL コンテキストを定義します。
任意で以下の各子要素を 1 つずつ含めることができます。
key-store-ssl-certificateこの要素は、キーのキーストア内のエントリーへの参照と、このSSL コンテキストに使用する証明書を定義します。
この要素は以下の属性を持ちます。
Expand 属性名 属性の説明 key-store-name
キーストア名。この属性は必須です。
alias
参照されたキーストアからロードするエントリーのエイリアス。単一のエントリーのみが含まれるキーストアのみ省略できます。
以下の子要素を含めることができます。
この構造は、
key-store-credential設定で使用される構造とほぼ同じですが、この構造ではキーと証明書のエントリーを取得します。しかし、入れ子のkey-store-clear-passwordおよびkey-store-credential要素は、エントリーをアンロックするために保護パラメーターを提供します。例:
key-store-ssl-certificate設定<key-store-ssl-certificate key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-ssl-certificate>
<key-store-ssl-certificate key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-ssl-certificate>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
trust-storeこの要素は、
TrustManagerの初期化に使用されるキーストアへの参照です。これには以下の属性があります。
Expand 属性名 属性の説明 key-store-name
キーストア名。この属性は必須です。
cipher-suiteこの要素は、有効化された暗号スイートにフィルターを設定します。
これには以下の属性があります。
Expand 属性名 属性の説明 selector
暗号スイートをフィルターするセレクター。セレクターは、
org.wildfly.security.ssl.CipherSuiteSelector.fromString(selector)メソッドによって作成される OpenSSL スタイルの暗号リスト文字列の形式を使用します。例: デフォルトのフィルターを使用した
cipher-suite設定<cipher-suite selector="DEFAULT" />
<cipher-suite selector="DEFAULT" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow
protocol- この要素は、サポートされるプロトコルのスペース区切りリストを定義します。使用できるプロトコルのリストは、JBoss EAP『How to Configure Server Security』の「client-ssl-context Attributes」の表を参照してください。
provider-name- 使用できるプロバイダーの特定後、この要素で定義された名前を持つプロバイダーのみが使用されます。
certificate-revocation-listこの要素は、証明書失効リストへのパスと、証明書パスに存在可能な自己発行でない中間証明書の最大数の両方を定義します。この要素が存在する場合、ピア証明書を証明書失効リストと照合することができます。
この要素は以下の属性を持ちます。
Expand 属性名 属性の説明 path
証明書リストへのパス。この属性は任意です。
maximum-cert-path
証明書パスに存在可能な自己発行でない中間証明書の最大数。この属性は任意です。
providersこの要素は、必要時に
java.security.Providerインスタンスを探す方法を定義します。これには、以下の子要素を含めることができます。
authentication-clientの設定セクションはお互いに独立しているため、この要素は以下の場所に設定できます。例:
providers設定の場所Copy to Clipboard Copied! Toggle word wrap Toggle overflow providers設定は、オーバーライドされない限りは定義される要素と、その要素の子要素に適用されます。子要素のprovidersの仕様は、その親要素に指定されたprovidersをオーバライドします。指定されたproviders設定がない場合、デフォルトの動作は以下と同様になり、Elytron プロバイダーはグローバルに登録されたプロバイダーよりも優先されますが、グローバルに登録されたプロバイダーの使用も許可されます。例:
providers設定<providers> <use-service-loader /> <global /> </providers>
<providers> <use-service-loader /> <global /> </providers>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
global-
この空の要素は、
java.security.Security.getProviders()メソッド呼び出しによってロードされるグローバルプロバイダーの使用を指定します。
use-service-loader- この空の要素は、指定のモジュールによってロードされるプロバイダーの使用を指定します。指定されたモジュールがない場合は、認証クライアントをロードしたクラスローダーが使用されます。
JBoss EAP 7.1 の認証メカニズムによって現在使用されていない要素
The following child elements of the credentials element in the Elytron client configuration are not currently used by any authentication mechanisms in JBoss EAP. They can be used in your own custom implementations of authentication mechanism; however, they are not supported.
-
key-pair -
public-key-pem -
key-store-reference -
certificate
18.1.2. wildfly-config.xml ファイルを使用した EJB クライアント設定 リンクのコピーリンクがクリップボードにコピーされました!
urn:jboss:wildfly-client-ejb:3.0 ネームスペースにある jboss-ejb-client 要素を使用し、wildfly-config.xml ファイルを使用すると、EJB クライアント接続、グローバルインターセプター、および呼び出しのタイムアウトを設定できます。ここでは、この要素を使用した EJB クライアントの設定方法について説明します。
jboss-ejb-client 要素および属性
jboss-ejb-client 要素には、任意で以下の 3 つのトップレベル子要素と、それらの子要素を含めることができます。
invocation-timeoutこれは任意の要素で、EJB 呼び出しのタイムアウトを指定します。この要素には以下の属性があります。
Expand 属性名 属性の説明 seconds
EJB ハンドシェイクまたはメソッド呼び出しのリクエストと応答のサイクルに対するタイムアウト値 (秒単位)。この属性は必須です。
メソッドの実行時間がタイムアウトの時間よりも長くなった場合、呼び出しによって
jboss-ejb-clientが発生しますが、サーバー側は中断されません。
global-interceptors-
これは任意の要素で、グローバル EJB クライアントインターセプターを指定します。任意の数の
interceptor要素を含めることができます。
interceptorこの要素は、EJB クライアントインターセプターを指定するために使用され、以下の属性があります。
Expand 属性名 属性の説明 class
org.jboss.ejb.client.EJBClientInterceptorインターフェースを実装するクラスの名前。この属性は必須です。module
インターセプタークラスのロードに使用されるモジュールの名前。この属性は任意です。
connections-
この要素は、EJB クライアント接続を指定するために使用されます。任意の数の
connection要素を含めることができます。
connectionこの要素は、EJB クライアント接続を指定するために使用されます。任意で
interceptors要素を含めることができ、以下の属性があります。Expand 属性名 属性の説明 uri
接続の宛先 URI。この属性は必須です。
interceptors-
この要素は、EJB クライアントインターセプターを指定するために使用されます。任意の数の
interceptor要素を含めることができます。
wildfly-config.xml ファイルの EJB クライアント設定例
以下は、wildfly-config.xml ファイルの jboss-ejb-client 要素を使用して、EJB クライアント、グローバルインターセプター、および呼び出しタイムアウトを設定する例になります。
18.1.3. wildfly-config.xml ファイルを使用した HTTP クライアント設定 リンクのコピーリンクがクリップボードにコピーされました!
以下は、wildfly-config.xml ファイルを使用して HTTP クライアントを設定する方法の例になります。
wildfly-config.xml ファイルを使用した HTTP クライアント設定は、テクノロジープレビューとしてのみ提供されます。テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。
テクノロジープレビュー機能のサポート範囲については、Red Hat カスタマーポータルの「テクノロジプレビュー機能のサポート範囲」を参照してください。
18.1.4. wildfly-config.xml ファイルを使用したリモーティングクライアント設定 リンクのコピーリンクがクリップボードにコピーされました!
urn:jboss-remoting:5.0 ネームスペースにある endpoint 要素を使用すると、wildfly-config.xml ファイルを使用してリモーティングクライアントを設定できます。ここでは、この要素を使用したリモーティングの設定方法について説明します。
endpoint 要素および属性
endpoint 要素には、任意で以下の 2 つのトップレベル子要素と、それらの子要素を含めることができます。
さらに、以下の属性があります。
| 属性名 | 属性の説明 |
|---|---|
|
name |
エンドポイント名。この属性は任意です。指定がない場合、可能であればエンドポイント名はシステムのホスト名から派生します。 |
providers-
これは任意の要素で、リモートエンドポイントのトランスポートプロバイダーを指定します。任意の数の
providerを含めることができます。
providerこの要素は、リモートトランスポートプロバイダーを定義します。この要素には以下の属性があります。
Expand 属性名 属性の説明 scheme
このプロバイダーに対応するプライマリー URI スキーム。この属性は必須です。
aliases
このプロバイダーに対しても認識される他の URI スキーム名のスペース区切りリスト。この属性は任意です。
module
プロバイダー実装が含まれるモジュールの名前。この属性は任意です。指定がない場合は、JBoss Remoting をロードするクラスローダーがプロバイダークラスを検索します。
class
トランスポートプロバイダーを実装するクラスの名前。この属性は任意です。指定がない場合は、プロバイダークラスの検索に
java.util.ServiceLoaderファシリティーが使用されます。
connections-
これは任意の要素で、リモートエンドポイントの接続を指定します。任意の数の
connection要素を含めることができます。
connectionこの要素は、リモートエンドポイントの接続を定義します。この要素には以下の属性があります。
Expand 属性名 属性の説明 destination
エンドポイントの宛先 URI。この属性は必須です。
read-timeout
対応するソケットの読み取り操作に対するタイムアウト値 (秒単位)。この属性は任意ですが、
heartbeat-intervalが定義されている場合のみ指定してください。write-timeout
書き込み操作に対するタイムアウト値 (秒単位)。この属性は任意ですが、
heartbeat-intervalが定義されている場合のみ指定してください。ip-traffic-class
この接続のトラフィックに使用する数値の IP トラフィッククラスを定義します。この属性は任意です。
tcp-keepalive
TCP キープアライブを使用するかどうかを決定するブール値設定。この属性は任意です。
heartbeat-interval
接続ハートビートのチェック時に使用する間隔 (ミリ秒単位)。この属性は任意です。
wildfly-config.xml ファイルのリモートクライアント設定例
以下は、wildfly-config.xml ファイルを使用してリモーティングクライアントを設定する例になります。
18.1.5. wildfly-config.xml ファイルを使用したデフォルトの XNIO ワーカー設定 リンクのコピーリンクがクリップボードにコピーされました!
urn:xnio:3.5 ネームスペースにある worker 要素を使用すると、wildfly-config.xml ファイルを使用して XNIO ワーカーを設定できます。ここでは、この要素を使用して XNIO ワーカークライアントを設定する方法を説明します。
worker 要素および属性
worker 要素には、任意で以下のトップレベル子要素とそれらの子要素を含むことが可能です。
daemon-threadsこれは任意の要素で、ワーカーおよびタスクスレッドがデーモンスレッドであるべきかどうかを指定します。この要素の内容はありません。この要素には以下の属性があります。
Expand 属性名 属性の説明 value
ワーカーおよびタスクスレッドがデーモンスレッドであるべきかどうかを指定するブール値。
trueの値はワーカーおよびタスクスレッドがデーモンスレッドであるべきであることを示します。falseの場合は、デーモンスレッドであるべきでないことを示します。この属性は必須です。この要素の指定がない場合、
trueの値が想定されます。
worker-nameこの要素はワーカーの名前を定義します。ワーカー名はスレッドダンプおよび JMX に表示されます。この要素には内容がなく、以下の属性があります。
Expand 属性名 属性の説明 value
ワーカーの名前。この属性は必須です。
pool-sizeこれは任意の要素で、ワーカーのタスクスレッドプールの最大サイズを定義します。この要素の内容はなく、以下の属性があります。
Expand 属性名 属性の説明 max-threads
作成するスレッドの最大数を指定する正の整数。
task-keepaliveこれはオプションの要素で、タスクスレッドが期限切れになる前にキープアライブの時間を指定します。この要素には以下の属性があります。
Expand 属性名 属性の説明 value
アイドル状態のスレッドを保持する最小期間を秒数で指定する正の整数。この属性は必須です。
io-threadsこれは任意の要素で、維持する I/O セレクタースレッドの数を決定します。通常この数は、利用可能なコアの数の倍数で、小さな定数になります。これには以下の属性があります。
Expand 属性名 属性の説明 value
I/O スレッドの数を指定する正の整数。この属性は必須です。
stack-sizeこれは任意の要素で、ワーカースレッドの最低スレッドスタックサイズを指定します。この要素は、密度が非常に高い特殊な状態のみで定義する必要があります。この要素には以下の属性があります。
Expand 属性名 属性の説明 value
要求されたスタックサイズをバイト単位で指定する正の整数。この属性は必須です。
outbound-bind-addresses-
これは任意の要素で、アウトバウンド接続に使用するバインドアドレスを指定します。各バインドアドレスマッピングは、宛先 IP アドレスブロックと、そのブロック内の宛先への接続に使用するバインドアドレスおよびオプションのポート番号で構成されます。任意の数の
bind-address要素を含めることができます。
bind-addressこれは任意の要素で、個別のバインドアドレスマッピングを定義します。この要素には以下の属性があります。
Expand 属性名 属性の説明 match
照合する CIDR 表記の IP アドレスブロック。
bind-address
アドレスブロックが一致した場合にバインドする IP アドレス。この属性は必須です。
bind-port
アドレスブロックが一致した場合にバインドするポート番号。この値のデフォルトは
0で、任意のポートにバインドします。この属性は任意です。
wildfly-config.xml ファイルの XNIO ワーカー設定例
以下は、wildfly-config.xml ファイルを使用してデフォルトの XNIO ワーカーを設定する方法の例になります。