Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

第3章 新機能および改良された機能

3.1. セキュリティーおよび Elytron

Elytron および elytron サブシステム

WildFly Elytron プロジェクトをベースとする elytron が JBoss EAP 7.1 に新たに導入されました。Elytron は、アプリケーションサーバー全体でセキュリティーを統一するために使用されるセキュリティーフレームワークです。elytron サブシステムは、アプリケーションと管理インターフェース両方の設定を一元化し、機能と統合のカスタム実装を作成する API および SPI のセットを提供します。Elytron コンポーネントの詳細は、セキュリティーアーキテクチャー中核の概念およびコンポーネント を参照してください。

JBoss EAP 7.1 には、レガシーの security サブシステムおよびコア管理認証が含まれ、これらがデフォルトで使用されます。elytron の設定方法に関する詳細は、How to Configure Server SecurityElytron Subsystem を参照してください。

elytron サブシステムの重要な機能には以下が含まれます。

  • 強化された HTTP および SASL 認証の認証メカニズム。
  • セキュリティーアイデンティティーを承認に使用できる状態にするため、セキュリティーアイデンティティーをセキュリティードメイン全体で伝搬し、透過的に変換できる改良されたアーキテクチャー。変換は、設定可能なロールデコーダー、ロールマッパー、およびパーミッションマッパーを使用して実行されます。
  • 暗号化スイートおよびプロトコルを含む SSL/TTS 設定の一元化。
  • 一括セキュアアイデンティティー構築などの SSL/TLS の最適化と、確立中の SSL/TLS 接続への承認の密な結び付け。これにより、最初のリクエストの受信前にパーミッションのチェックが行われます。一括セキュアアイデンティティー構築によって、リクエストごとにセキュアアイデンティティーを構築する必要がなくなります。
  • レガシーのパスワード vault 実装に代わるセキュアクレデンシャルストア。セキュアクレデンシャルストアは、暗号化された文字列だけでなく、暗号化された他のクレデンシャルタイプも複数格納できます。クレデンシャルストアの詳細は、How to Configure Server SecurityCredential Store を参照してください。elytron サブシステム以外のサブシステムでは、新規およびレガシーのパスワード vault を使用できます。

クレデンシャルストア

JBoss EAP 7.1 では、クレデンシャルストアを elytron サブシステムで設定できます。クレデンシャルストアは、セキュアなストレージやクレデンシャルの使用を可能にし、レガシーのパスワード vault よりも多くの利点があります。クレデンシャルストアに格納されたクレデンシャルは、別の JBoss EAP サブシステムによってセキュアに参照されます。これにより、パスワードなどのクレデンシャルがプレーンテキストで保存されないようにします。詳細は、How to Configure Server SecurityCredential Store を参照してください。

認証された管理ユーザーのアイデンティティーのマッピング

elytron サブシステムを使用して管理インターフェースをセキュア化する場合、認証されたユーザーのアイデンティティーマッピングのためにセキュリティードメインを管理インターフェースに提供できます。これにより、管理インターフェースへのログイン時に、認証されたユーザーが適切な ID で表示されます。詳細は、How to Configure Server SecurityMapping Identity for Authenticated Management Users を参照してください。

アプリケーションの自己署名証明書の自動作成

JBoss EAP 7.1 では、レガシーセキュリティーレルム向けの自己署名証明書の自動生成が開発目的で提供されます。詳細は、How to Configure Server SecurityAutomatic Self-signed Certificate Creation for Applications を参照してください。

セキュリティーレルムのキャッシュ

Elytron は、セキュリティーレルムからクレデンシャル検索の結果をキャッシュできる caching-realm を提供します。たとえば、これを使用して LDAP またはデータベースからのクレデンシャルにキャッシュを設定して、頻繁にクエリーが行われるユーザーのパフォーマンスを向上できます。詳細は、How to Configure Identity ManagementSet Up Caching for Security Realms を参照してください。

コンテナー管理のシングルサインオン

Elytron FORM 認証メソッドを使用するアプリケーションにコンテナ管理のシングルサインを使用するよう JBoss EAP 7.1 を設定することができます。これにより、ユーザーは 1 度認証されると再認証なしで FORM 認証によってセキュア化された他のリソースにアクセスできます。詳細は How to Configure Identity ManagementConfigure Applications to use Container-managed Single Sign-on を参照してください。

リモート呼び出しのセキュリティーアイデンティティーの伝搬

JBoss EAP 7.1 には、サーバーとアプリケーションを簡単に設定し、リモート呼び出しに対してクライアントからサーバーにセキュリティーアイデンティティーを伝搬する機能が導入されました。また、サーバーコンポーネントを設定して、指定ユーザーのセキュリティーアイデンティティー内で実行することもできます。

詳細は、JBoss EAP 向け How to Configure Server SecurityPropagating Security Identities for Remote Calls を参照してください。

WildFly Elytron ツール

JBoss EAP 7.1 には、JBoss EAP サーバーを実行せずにクレデンシャルを作成または変更できる WildFly Elytron Tool が含まれています。このツールを使用すると、vault オプションを使用してパスワード vault をクレデンシャルストアに変換することもできます。

WildFly Elytron Tool の使用方法に関する詳細は、How to Configure Server SecurityCreate and Modify Credential Stores Offline with the WildFly Elytron Tool を参照してください。

適用可能なサブシステムおよび管理インターフェースで Elytron を有効にするスクリプト

適用可能なサブシステムおよび管理インターフェースで Elytron フレームワークを有効にするスクリプトが提供されます。このスクリプトは enable-elytron.cli で、EAP_HOME/docs/example/ ディレクトリーにあります。このスクリプトの使用は任意で、Elytron は個別のサブシステム上で必要なときに有効にすることもできます。詳細は、セキュリティーアーキテクチャー初期状態の Red Hat JBoss Enterprise Application Platform 7.1 によるセキュリティーの対処 を参照してください。

管理コンソールを使用した Elytron サブシステムの設定

管理コンソールを使用して elytron サブシステムを設定する場合は、ConfigurationSubsystemsSecurity - Elytron と選択します。詳細は、How to Configure Server SecurityElytron Subsystem を参照してください。

JBoss EAP サブシステムと Elytron の統合

JBoss EAP 7.1 では、Elytron を使用して以下の JBoss EAP サブシステムのさまざまな側面をセキュア化できます。

batch-jberet
Elytron セキュリティードメインを使用してバッチ処理を実行するよう、batch-jberet サブシステムを設定できます。詳細は、設定ガイドバッチジョブのセキュリティー設定 を参照してください。
datasources
クレデンシャルストアまたは Elytron セキュリティードメインを使用して、データソース定義に認証情報を提供できます。詳細は、設定ガイドデータソースセキュリティー を参照してください。
ejb3
ejb3 サブシステムに Elytron セキュリティードメインのマッピングを作成し、デプロイメントによって参照されるようにすることができます。詳細は、Developing EJB ApplicationsElytron Integration with the EJB Subsystem を参照してください。
iiop-openjdk
SSL/TLS/ を使用するよう iiop-openjdk サブシステムを設定し、クライアントとサーバー間の通信をセキュア化することができます。詳細は、設定ガイドElytron サブシステムで SSL/TLS を使用するよう IIOP を設定 を参照してください。
jca
elytron-enabled 属性を使用して、ワークマネージャーの Elytron セキュリティーを有効にすることができます。詳細は、設定ガイドJCA サブシステムの設定 を参照してください。
jgroups
SYM_ENCRYPT および ASYM_ENCRYPT プロトコルを設定し、elytron サブシステムに定義されたキーストアまたはクレデンシャル参照を参照できます。AUTH プロトコルを設定して、elytron が管理するクレデンシャルストアおよびキーストアを参照することもできます。詳細は、設定ガイドクラスターのセキュア化 を参照してください。
mail
クレデンシャルストアを使用して mail サブシステムのパスワードを提供できます。詳細は、設定ガイドパスワードにクレデンシャルストアを使用 を参照してください。
messaging-activemq
Elytron セキュリティーを使用して messaging-activemq サブシステムをセキュア化できます。詳細は、Configuring MessagingUsing the Elytron Subsystem を参照してください。
modcluster
Elytron クライアント ssl-context を使用して、SSL/TLS でロードバランサーと通信することができます。詳細は、How to Configure Server SecurityElytron Integration with the ModCluster Subsystem を参照してください。
remoting
remoting サブシステムでインバウンドおよびアウトバウンド接続を設定し、elytron サブシステムに定義された認証コンテキスト、SASL 認証ファクトリー、および SSL コンテキストを参照できます。詳細は、How to Configure Server SecurityElytron Integration with the Remoting Subsystem を参照してください。
resource-adapters
Elytron を使用してリソースアダプターへの接続をセキュア化できます。ワークマネージャーによって実行されるワークの提出時、セキュリティーインフローを有効にしてセキュリティークレデンシャルを確立できます。詳細は、設定ガイドElytron サブシステムを使用するようリソースアダプターを設定 を参照してください。
undertow
elytron サブシステムを使用して、SSL/TLS とアプリケーション認証を両方設定できます。詳細は、How to Configure Server SecurityUsing SSL/TLS と、 How to Configure Identity ManagementConfigure Web Applications to Use Elytron or Legacy Security for Authentication を参照してください。

3.2. サーバー管理

停止状態でのサーバーの起動

起動処理中、JBoss EAP 7.1 はすべてのサービスが起動するまで停止状態になります。サーバーは、停止状態の間はリクエストを受け付けません。必要なサービスがすべて起動すると、サーバーは通常の実行状態になり、リクエストの受け付けを開始します。

サーバーを停止状態で起動し、resume 操作が呼び出されるまで停止状態のままにすることもできます。サーバーを停止状態で起動するには、該当する操作の start-mode 引数を suspend に設定します。

  • スタンドアロンサーバーの場合は、--start-mode=suspend 引数を standalone.sh スクリプトに渡します。

    例: スタンドアロンサーバーを停止状態で起動

    $ EAP_HOME/bin/standalone.sh --start-mode=suspend

  • 管理対象ドメインの場合は、start-mode=suspend 引数を start 管理 CLI 操作に渡します。

    例: 管理対象ドメインサーバーを停止状態で起動

    /host=HOST_NAME/server-config=SERVER_NAME:start(start-mode=suspend)

コア管理サブシステムを使用したサーバーライフサイクルイベントの監視

JBoss EAP 7.1 では、リスナーを JBoss EAP の core-management サブシステムに登録し、サーバーライフサイクルイベントを監視できます。詳細は、設定ガイドcore-management サブシステムを使用したサーバーライフサイクルイベントの監視 を参照してください。

JMX 通知を使用したサーバーライフサイクルイベントの監視

JBoss EAP 7.1 では、JMX 通知リスナーを登録してサーバーライフサイクルイベントを監視できます。詳細は、設定ガイドJMX 通知を使用したサーバーライフサイクルイベントの監視 を参照してください。

管理 CLI からの設定変更の追跡および表示

管理対象ドメインでは、ホストおよびサーバー関連の設定変更はホストレベルで追跡されます。ホストコントローラーの設定変更を可能にすると、そのホストコントローラーが管理するサーバーすべてで設定の変更が可能になります。設定変更の追跡は、新しい core-management サブシステムで設定されるようになりました。詳細は、設定ガイド設定変更の確認 を参照してください。

ワーカー統計の監視

管理 CLI を使用してワーカーのランタイム統計を確認できます。これは、接続数、スレッド数、キューのサイズなどのワーカー統計を表示します。

以下のコマンドは、デフォルトのワーカーのランタイム統計を表示します。

/subsystem=io/worker=default:read-resource(include-runtime=true,recursive=true)

詳細は、Performance Tuning GuideConfiguring Workers を参照してください。

スレーブホストコントローラーの改良されたリソース監視

JBoss EAP 7.1 では、スレーブとして設定されたホストコントローラーはドメイン全体の設定で不必要なリソースを無視します。スレーブホストコントローラーによって管理されるサーバーと関連付けられていないリソースは無関係になる可能性があります

使用されていない設定を無視するには、JBoss EAP 7.0 ホストコントローラーのリモートドメインコントローラーに対する接続設定で、ignore-unused-configurationtrue に設定します。デフォルトでは、ignore-unused-configuration 属性は定義されていません。

詳細と設定例は、設定ガイドJBoss EAP 7.0 インスタンスを管理するよう JBoss EAP 7.1 ドメインコントローラーを設定 を参照してください。

--backup コマンドラインフラグを使用し、ignore-unused-configurationtrue に設定すると、ドメインコントローラーを使用できない場合にスレーブホストコントローラーはドメイン設定のバックアップコピーを使用して起動します。これを行うのに、スレーブホストコントローラーに完全な domain.xml は必要ありません。

キャッシュされた設定を使用して起動したホストコントローラーによるドメインコントローラーへの自動再接続

JBoss EAP 7.1 では、ドメインコントローラーに接続できなかったためキャッシュされた設定を使用して起動したホストコントローラーは、ドメインコントローラーが利用可能になると自動的に再接続します。

サーバーロケールの設定

org.jboss.logging.locale プロパティーを使用すると、Boss EAP からのメッセージや JBoss EAP が所有する依存関係からのメッセージなど、JBoss Logging を使用してログに記録されたメッセージのロケールを上書きできます。

詳細は、設定ガイドorg.jboss.logging.locale プロパティーを使用したサーバーロケールの設定 を参照してください。

新しい属性: parse-group-name-from-dn

JBoss EAP 7.1 では、parse-group-name-from-dn 属性が /core-service=management/security-realm=realm/authorization=ldap/group-search=principal-to-group で使用できるようになりました。この属性は、org.jboss.as.domain.management.security.parseGroupNameFromLdapDN システムプロパティーの代わりに提供されます。

詳細は、移行ガイドLDAP セキュリティーレルムの有効化による DN のロールの解析 を参照してください。

JBoss Operations Network を使用した JBoss EAP の管理

Red Hat JBoss Operations Network を使用して、JBoss EAP 7.1 サーバーを監視し、サーバーの設定を管理することができます。

重要

JBoss Operations Network は、JBoss EAP 7.1 elytron サブシステムの設定をサポートしません。監視サポートは、JBoss EAP undertowiiop-openjdkio、および messaging-activemq サブシステムと、JBoss EAP 6.4 で利用可能であった JBoss Operations Network JBoss EAP プラグインの機能に限定されます。

3.3. 管理 CLI

添付の表示および保存

JBoss EAP 7.1 では、attachment コマンドを使用して添付されたストリームのコンテンツを表示または保存できます。これは、コンテンツをストリームとして公開できる管理リソースに対して動作します。

以下の管理 CLI コマンドを使用して、添付のコンテンツを表示します。

attachment display --operation=/subsystem=logging/log-file=server.log:read-attribute(name=stream)

以下の管理 CLI コマンドを使用して、添付のコンテンツをファイルに保存します。

attachment save --operation=/subsystem=logging/log-file=server.log:read-attribute(name=stream) --file=test.log
注記

ファイル名の指定がない場合、EAP_HOME/bin/STREAM_UUID がファイルパスとして使用されます。

詳細は Management CLI GuideDisplay the Contents of an Attachment および Save the Contents of an Attachment を参照してください。

管理操作へのファイルの添付

JBoss EAP 7.1 では、管理 CLI を使用してファイルを管理操作に添付できます。add-content 操作を使用するとコンテンツを既存の展開 (exploded) デプロイメントに追加できます。remove-content 操作を使用するとコンテンツを削除できます。例を以下に示します。

/deployment=test.war:add-content(content=[{input-stream-index=/path/to/a.txt,target-path=a.txt}])

browse-content 操作を使用するとデプロイメントのコンテンツを閲覧できます。

コマンドのタイムアウト設定

JBoss EAP 7.1 を使用すると、管理 CLI コマンドの完了まで待機する最大時間 (秒単位) を設定できます。0 の値はタイムアウトがないことを意味します。デフォルトではタイムアウトはありません。例を以下に示します。

command-timeout set 30

非対話モードで出力にプロンプトおよびコマンドを表示

JBoss EAP 7.1 では、--echo-command 引数を使用すると非対話モードで実行されたコマンドの出力にプロンプトおよびコマンドが表示されます。これは、実行されたコマンドと出力を照らし合わせて問題を解決する場合に便利です。

$ EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/cli_commands.txt --echo-command

コマンドと出力は、コマンドが実行されると表示されます。

[standalone@localhost:9990 /] :read-attribute(name=running-mode)
{
    "outcome" => "success",
    "result" => "NORMAL"
}
[standalone@localhost:9990 /] ls /deployment
helloworld.war

カスタムモジュールのエクスポートされた依存関係の指定

JBoss EAP 7.1 では、--export-dependencies 引数を使用してモジュールのエクスポートされた依存関係を指定できます。例を以下に示します。

module add --name=com.mysql --resources=/path/to/mysql-connector-java-5.1.36-bin.jar --export-dependencies=javax.api,javax.transaction.api
重要

module 管理 CLI コマンドを使用したモジュールの追加および削除は、テクノロジープレビュー としてのみ提供されます。このコマンドは、管理対象ドメインでの使用や、リモートによる管理 CLI への接続時には適していません。本番環境では、モジュールを手作業で追加および削除する必要があります。詳細は、JBoss EAP 設定ガイドカスタムモジュールの手動作成 および 手作業によるカスタムモジュールの削除 を参照してください。

モジュール作成時における代替モジュールディレクトリーの作成

デフォルトの EAP_HOME/modules/ ディレクトリーの代わりに使用する外部の JBoss EAP モジュールディレクトリーを定義した場合、--module-root-dir 引数を使用してモジュール作成時にディレクトリーを指定できます。

module add --module-root-dir=/path/to/my-external-modules/ --name=com.mysql --resources=/path/to/mysql-connector-java-5.1.36-bin.jar --dependencies=javax.api,javax.transaction.api
重要

module 管理 CLI コマンドを使用したモジュールの追加および削除は、テクノロジープレビュー としてのみ提供されます。このコマンドは、管理対象ドメインでの使用や、リモートによる管理 CLI への接続時には適していません。本番環境では、モジュールを手作業で追加および削除する必要があります。詳細は、JBoss EAP 設定ガイドカスタムモジュールの手動作成 および 手作業によるカスタムモジュールの削除 を参照してください。

IBM JDK を使用した管理 CLI セッションの起動

jboss-cli スクリプトは com.ibm.jsse2.overrideDefaultTLS プロパティーを true に設定します。IBM JDK を使用している場合、Elytron によって設定された SSL の使用時に認証問題の発生を防ぐため、この設定は重要になります。IBM JDK を使用し、別の方法を使用して CLI セッションを起動する場合 (EAP_HOME/bin/client/jboss-cli-client.jar にあるクラスをプログラムで使用する場合など) は、必ずこのプロパティーを設定してください。

3.4. 管理コンソール

アプリケーションデプロイメントの更新

Jboss EAP 7.1 には、アプリケーションのデプロイメントを管理する更新されたユーザーインターフェースが含まれています。管理コンソールの Deployments タブに以下のデプロイメント機能が含まれるようになりました。

  • Explode ドロップダウンオプション。無効化されたデプロイメントを展開できます。
  • Browse Content ドロップダウンオプション。デプロイメントのファイルを閲覧できます。移動はサポートされません。
  • アプリケーションがアーカイブであるかまたは展開デプロイメントであるかを表す詳細。

トランザクション監視サポート

JBoss EAP 7.1 は強化された transactions サブシステムメトリックスと、管理コンソールの JDBC および JMS トランザクションリソースのメトリックを提供します。

メッセージングの準備済みトランザクションの表示および管理

管理コンソールを使用して、messaging-activemq サブシステムの準備済みトランザクションを表示、コミット、およびロールバックできます。詳細は、Configuring MessagingManage Prepared Transactions Using the Management Console を参照してください。

テキストフィールドのサジェスト機能

管理コンソールのテキストフィールドで入力を行うと、設定にある値が候補として表示されます。

JMS ブリッジの追加

管理コンソールを使用して JMS ブリッジを追加するには、 ConfigurationSubsystemsMessaging - ActiveMQJMS BridgeViewAdd と移動します。必要な情報を入力し、Save をクリックします。

設定変更の追跡および表示

管理コンソールからの設定変更の追跡を有効にするには、Runtime タブに移動して、スタンドアロンサーバーまたは管理対象ドメインホストを選択し、ドロップダウンメニューで Configuration Changes を選択します。Enable ボタンをクリックし、最大の履歴値を指定します。

そのページの表に変更された設定が日付、変更元、結果、および操作詳細とともに表示されます。

フィルターの設定

管理コンソールを使用して Undertow フィルターを設定するには、ConfigurationSubsystemsWeb/HTTP - UndertowFiltersView と移動します。

バッチジョブの管理

JBoss EAP 7.1 では、管理コンソールからバッチジョブを管理できます。Runtime タブに移動してサーバーを選択し、 SubsystemsBatchView と選択します。 Jobs タブを開き、必要に応じてジョブを開始、停止、および再開します。

データソース接続のテスト

管理コンソールで データソースの作成 ウィザードを使用するときに、データソースの作成前に接続をテストできます。ウィザードの Test Connection 画面で Test Connection ボタンをクリックします。

データソーステンプレートの使用

管理コンソールを使用してデータソースを作成するとき、Create Datasource ウィザードでサポートされるデータベースのデフォルト値が含まれるテンプレートが提供されます。これは、JBoss EAP 7.1 で新たにサポートされます。

サブシステムサポート

JBoss EAP 7.1 では、管理コンソールを使用した以下のサブシステムの設定がサポートされるようになりました。

  • BeanValidation
  • IO
  • Jaxrs
  • Jdr
  • Jsf
  • Jsr77
  • ネーミング
  • Pojo
  • Remoting
  • RequestController
  • Sar
  • Security - Elytron
  • Singleton
  • Weld

3.5. Web サーバー

HTTP/2 サポート

JBoss EAP 7.1 では、HP-UX を除くすべての サポートされるオペレーティングシステム でセキュア HTTP/2 がサポートされます。JBoss EAP 7.1 で HTTP/2 を有効にする次の 2 つの方法がサポートされます。

  • reflection API を使用する、ALPN 向けの JBoss EAP 7.1 内部サポートを使用する方法。これは、追加設定せずにそのまま使用できますが、OpenJDK と Oracle JDK に限定されます。
  • 新しい JBoss Core Services OpenSSL から ALPN サポートを使用する方法。これは、HP-UX を以外のサポートされるオペレーティングシステムすべてで動作します。

3.6. ロギング

無効なサーバー設定ファイルが原因のブートエラーのレポートを改良

以前のバージョンでは、無効なサーバー設定ファイルの解析時にブートエラーが発生してもほとんどフィードバックが提供されず、デバッグが困難でした。JBoss EAP 7.1 は、XML 解析エラーの発生時に XSD 分析を使用して、より詳細なエラーメッセージを生成します。これにより、エラーの発生場所が表示され、検証エラーに関するフィードバックが提供されるようになり、可能な場合は XSD から関連するドキュメントをプルおよび表示して問題を説明するようになりました。強化された XML 設定の検証には、デプロイメントのデプロイメント記述子は含まれません。

サーバーログに含まれるパッチ情報

パッチ関連の情報は、起動時に server.log ファイルに記録されるようになりました。これは、問題をデバッグするときに便利な情報です。

3.7. デプロイメント

展開デプロイメントの管理

JBoss EAP 7.1 では、管理された展開デプロイメントを作成し、デプロイメント管理操作を使用して内容を操作できます。

詳細は、設定ガイド展開デプロイメントの管理 を参照してください。

コンテンツリポジトリー閲覧のサポート

JBoss EAP 7.1 では、デプロイメント管理操作を使用して、管理されたデプロイメントのコンテンツを確認できます。詳細は、設定ガイドデプロイメントのコンテンツの表示 を参照してください。

すべてのデプロイメントのアンデプロイ

JBoss EAP 7.1 では、管理 CLI からワイルドカード (*) を使用してすべてのデプロイメントをアンデプロイできるようになりました。例を以下に示します。

undeploy *

無効化されたすべてのデプロイメントの再デプロイ

JBoss EAP 7.1 では、管理 CLI からワイルドカード (*) を使用して無効化されたすべてのデプロイメントをデプロイできるようになりました。例を以下に示します。

deploy --name=*

3.8. クラスローディング

module.xml ファイルにおけるリソースの絶対パスの使用

JBoss EAP 7.1 では、モジュールの module.xml ファイルの resource-root パス要素で絶対パスを使用できるようになりました。これにより、リソースライブラリーを EAP_HOME/modules/ ディレクトリーに移動しなくてもリソースライブラリーにアクセスできるようになりました。

3.9. ネーミング

JNDI バインディングの動的な変更

JBoss EAP 7.1 では、rebind 操作を使用して JNDI バインディグを動的に更新でき、サービスをリロードまたは再起動する必要はありません。しかし、サービスを再起動する必要がある外部のコンテキストバインディングでは動作しません。

詳細は、設定ガイドJNDI バンディングの動的な変更 を参照してください。

3.10. トランザクション

トランザクションの正常シャットダウン

サーバーは中断すると新しいリクエストを受け付けませんが、インフライトトランザクションおよびリクエストは完了するかタイムアウトが期限切れになるまで継続されます。これは、XTS トランザクションに関連する web サービスリクエストも同様です。詳細は、設定ガイドJBoss EAP の正常な一時停止およびシャットダウン を参照してください。

改良されたトランザクション監視

JBoss EAP 7.1 では、datasourcestransactions、および messaging-activemq サブシステムのトランザクションリソースの統計が改良されました。

利用可能な統計に関する詳細は、設定ガイドデータソースの統計 および トランザクション統計情報の表示 と、Configuring MessagingMonitoring Messaging Statistics を参照してください。

トランザクション削除時の forget 呼び出し

トランザクションログで delete 操作を使用すると、forget 呼び出しが発生するようになり、XA リソースベンダーログが適切に消去されるようになりました。詳細と forget 呼び出しの挙動設定については、設定ガイドトランザクションの削除 を参照してください。

3.11. JCA

分散ワークマネージャーのサポート

JBoss EAP 7.1 は、分散ワークマネージャーを使用した別のワークマネージャーインスタンスでのワーク実行の再スケジュールをサポートします。詳細は、設定ガイド分散ワークマネージャー を参照してください。

3.12. データソース

データソース接続のフラッシュ

管理 CLI または管理コンソールを使用してデータソース接続をフラッシュできます。詳細は、設定ガイドデータソース接続のフラッシュ を参照してください。

無効化されたエンリストメントトレースの記録

JBoss EAP 7.1 では、デフォルトでデータソースの enlistment-trace 属性が false に設定されています。エンリストメントトレースの記録を有効にするには、enlistment-trace 属性を true に設定します。

警告

エンリストメントトレースを有効にすると、トランザクションエンリストメント中のエラーを容易に追跡できますが、パフォーマンスに影響します。

3.13. リソースアダプター

汎用 JMS リソースアダプターの設定

JBoss EAP 7.1 では、汎用 JMS リソースアダプターを JMS プロバイダーと使用するように設定できます。

リソースアダプター接続のフラッシュ

管理 CLI を使用して、リソースアダプター接続をフラッシュできます。詳細は、設定ガイドリソースアダプター接続のフラッシュ を参照してください。

無効化されたエンリストメントトレースの記録

JBoss EAP 7.1 では、デフォルトでリソースアダプターの enlistment-trace 属性が false に設定されています。エンリストメントトレースの記録を有効にするには、enlistment-trace 属性を true に設定します。

警告

エンリストメントトレースを有効にすると、トランザクションエンリストメント中のエラーを容易に追跡できますが、パフォーマンスに影響します。

3.14. EJB

クラスター化されたシングルトン MDB のサポート

JBoss EAP 7.1 はクラスター化されたシングルトン MDB の使用をサポートするようになりました。MDB がクラスター化されたシングルトンとして認識され、クラスターにデプロイされると、1 度に 1 つのノードでのみアクティブになります。サーバーノードに障害が発生したり、シャットダウンすると、クラスター化されたシングルトン MDB は他のノードでアクティベートされ、そのノードでメッセージを消費し始めます。

詳細は、Developing EJB ApplicationsClustered Singleton MDBs を参照してください。

インバウンド MDB 接続すべての再バランス

JBoss EAP 7.0 では、基盤の Artemis クラスタートポロジーが変更したときに ArtemisMDB の rebalanceConnections アクティベーション設定プロパティーを使用してインバウンド MDB 接続すべてを再バランスすることができました。

JBoss EAP 7.1 では、messaging-activemq サブシステムの pooled-connection-factory 設定に rebalance-connections 属性を使用してこの挙動を設定できるようになりました。

レガシー EJB クライアントの互換性

JBoss EAP 7.1 には以下の 2 つの EJB クライアントが同梱されます。

EJB クライアント
新しい EJB クライアントは、JBoss EAP 7.0 の EJB クライアントとほぼ後方互換性を維持しますが、完全ではありません。この EJB クライアントは動的なアイデンティティー切り替えをサポートします。また、単一の接続上で複数のアイデンティティーをサポートするようにリモーティングが改良され、アイデンティティーごとに新しい接続は必要ありません。
レガシー EJB クライアント

レガシー EJB クライアントは、バイナリーの後方互換性を完全に維持します。このレガシー EJB クライアントは、JBoss EAP 7.0 の EJB クライアントを使用して最初にコンパイルされたクライアントアプリケーションと実行できます。JBoss EAP 7.0 の EJB クライアントに存在するすべての API は、JBoss EAP 7.1 の レガシー EJB クライアントに存在します。

詳細は、Developing EJB ApplicationsLegacy EJB Client Compatibility を参照してください。

EJB クライアントコードの単純化

JBoss EAP 7.1 では、EJB サーバー側のクラスター化コンポーネントを呼び出すときに EJB クライアントコードを単純化できます。

詳細は、Developing EJB ApplicationsEJB Client Code Simplification を参照してください。

EJB クライアントアドレスの設定

JBoss EAP 7.1 では、EJB クライアントのソケットを特定のアドレスとポートにバインドできます。バインド後、対象の EJB は呼び出したリモートクライアントのソースアドレスとポートを読み取りできます。

詳細は、Developing EJB ApplicationsConfigure the EJB Client Address を参照してください。

jboss-ejb-client 依存関係の単一 artifactID

wildfly-ejb-client-bom を使用してバージョンが管理される jboss-ejb-client 依存関係を含めると、EJB クライアントに必要なすべての依存関係が含まれるようになります。

JBoss EAP の過去のリリースでは、依存関係を手作業で pom.xml に含める必要がありました。JBoss EAP 7.1 ではこれが必要なくなりました。

詳細は、Developing EJB ApplicationsProject Dependencies for Remote EJB Clients を参照してください。

インターセプターバインディングの正規表現サポート

JBoss EAP 7.1 では、ejb3 サブシステムの allow-ejb-name-regex 属性を true に設定して、インターセプターバインディングの正規表現を許可することができます。これにより、インターセプターは指定の正規表現と一致するすべての Bean とマッピングされます。

詳細は、Developing EJB ApplicationsConfigure a Container Interceptor を参照してください。

3.15. JSF

Multi-JSF のサポート

JBoss EAP 7.1 は Multi-JSF の完全サポートします。この機能を使用すると、JBoss EAP で提供される JSF 実装をユーザーが提供する JSF 実装に置き換えることができます。また、ユーザーは複数の JSF 実装をインストールでき、簡単にデフォルトの実装に切り替えることができます。

独自の JSF 実装を提供およびインストールするときに以下の問題が発生する可能性があるため、注意してください。

Mojarra/MyFaces 2.1.x/2.0.x

JBoss EAP 7 は Java EE 7 の認定実装です。しかし、バージョン 2.1 以下の代替の JSF 実装をインストールすると、JBoss EAP 7 は Java EE 7 に準拠しません。2.1 以下のバージョンは JSR-314 に定義されている JSF 2.0 仕様に準拠するため、JSR-344 に定義されている JSF 2.2 仕様の機能がありません。

詳細は、設定ガイドJavaServer Faces の複数の JSF 実装 を参照してください。

3.16. Hibernate

Hibernate ORM 5.1 へのアップグレード

JBoss EAP 7.1 には Hibernate ORM 5.1 が含まれるようになりました。Hibernate ORM 5.1 リリースにはパフォーマンスの改善とバグ修正が多く含まれています。さらに、以下の新機能と改良が追加されています。

Hibernate ORM 5.1 の機能
  • Hibernate Query Language (HQL) では、マップされたアソシエーションだけでなく、エンティティーへの結合を定義できます。

    select ...
    from FinancialRecord f
        left join User u
            on r.lastUpdateBy = u.username
  • API は、識別子による単一アイデンティティーをロードする機能を提供する他に、Hibernate ネイティブ API Session を使用して識別子による同じ型の複数エントリー のロードもサポートします。例を以下に示します。

    // Load Users 1, 2 and 3 at one shot
    List<User> users = session.byMultipleIds(User.class).multiLoad( 1, 2, 3 );
  • 本リリースでは CDI 統合が改良され、Hibernate が CDI BeanManager にアクセスするタイミングが早すぎると発生する問題の解決策が含まれています。詳細は、HHH-8706 および HHH-10477 を参照してください。
  • Envers 監査クエリーを定義するときに、1 対 1 および多対 1 のアソシエーションをまたがって参照できるようになりました。

Hibernate Validator 5.3.x へのアップグレード

JBoss EAP 7.1 には Hibernate Validator 5.3.x が含まれるようになりました。主な変更点は次のとおりです。

  • バグ修正
  • 動的ペイロードを制約違反に追加できる機能。
  • 制約定義および宣言の新しいプログラムによる API。
  • ビルトイン制約メッセージの新しい変換。

詳細は、開発ガイドHibernate Validator 5.3.x の新機能 を参照してください。

Envers クエリーにおける関連のプロパティーへのアクセス

JBoss EAP 7.1 では、Envers クエリーで関連するエンティティーのプロパティーにアクセスできます。詳細は、Developing Hibernate ApplicationsTraversing Entity Associations Using Properties of Referenced Entities を参照してください。

レイジーローディング属性の取得グループ

JBoss EAP 7.1 では、バイトコードエンハンスのレイジーローディングを使用している場合にグループの 1 つがアクセスされると取得される属性のグループを定義できます。詳細は、 Developing Hibernate ApplicationsLazy Attribute Loading を参照してください。

3.17. 高可用性

新しいロードバランサープロファイル

JBoss EAP 7.1 には、サーバーをロードバランサーとして実行できるようにするために事前設定される新しいロードバランサープロファイルが含まれます。このプロファイルのスタンドアロン設定ファイルは standalone-load-balancer.xml で、 EAP_HOME/standalone/configuration/ ディレクトリーにあります。管理対象ドメインプロファイルは load-balancer で、EAP_HOME/domain/configuration/domain.xml ファイルで定義されます。このプロファイルを使用するための詳細は、 設定ガイドmod_cluster を使用して Undertow をロードバランサーとして設定 を参照してください。

3.18. RESTEasy

RESTEasy エンドポイントのリソース詳細の表示

JBoss EAP 7.1 では、デプロイメントの jaxrs サブシステム上で read-resource 管理 CLI 操作を使用して RESTEasy エンドポイントに関する詳細を表示できます。詳細は、Developing Web Services ApplicationsViewing RESTEasy Endpoints を参照してください。

Java 8 のJackson モジュールサポート

JBoss EAP 7.1 では、Java 8 機能に必要な Jackson モジュールのサポートが提供されます。詳細は、Developing Web Services ApplicationsJackson Module Support for Java 8 を参照してください。

JSON フィルターのサポート

JBoss EAP 7.1 では、クラスに @JsonFilter アノテーションを付けて動的なフィルタリングを実行できます。詳細は、Developing Web Services ApplicationsJsonFilter Support in RESTEasy Jackson2 を参照してください。

RESTEasy プロバイダーおよびインターセプターのロギング

RESTEasy は使用されたプロバイダーとインターセプターを DEBUG ロギングレベルでログに記録します。詳細は、 Developing Web Services ApplicationsLogging RESTEasy Providers and Interceptors を参照してください。

3.19. メッセージング

JDBC 永続ストアのメッセージング

JBoss EAP 7.1 では、JDBC を使用して、メッセージとバインディングデータをデフォルトのファイルベースのジャーナルではなくデータベースに永続化できます。

重要

JBoss EAP 7.1 は現在、Oracle Database 12c のみをサポートし、 高可用性 (HA) トポロジーは除外されます。

詳細は、Configuring MessagingMessaging Journal Persistence Using a JDBC Database を参照してください。

システムプロパティーを使用したクライアントスレッドプールサイズの設定

以下のシステムプロパティーを使用して、クライアントのグローバルスレッドプールとグローバルスケジュール済みスレッドプールのサイズを設定できます。

  • activemq.artemis.client.global.thread.pool.max.size
  • activemq.artemis.client.global.scheduled.thread.pool.core.size

詳細は、Configuring MessagingClient Thread Management を参照してください。

統合された ActiveMQ Artemis リソースアダプターを使用した AMQ ブローカーへのアクセス

JBoss EAP の messaging-activemq サブシステムで、統合された ActiveMQ Artemis リソースアダプターを使用すると、外部の Red Hat JBoss AMQ 7 ブローカーにアクセスできます。

詳細は、Configuring MessagingUsing the Integrated Artemis Resource Adapter for Remote Connections を参照してください。

3.20. クライアント設定

新しいクライアント設定ファイル

JBoss EAP 7.1 には、EJB、Elytron 認証、リモーティングなどのさまざまなクライアント設定を単一の設定ファイルで指定できる wildfly-config.xml 設定ファイルが導入されました。

wildfly-config.xml ファイルを使用して設定できるクライアントや設定タイプに関する詳細は、開発ガイドwildfly-config.xml ファイルを使用したクライアント設定 を参照してください。

3.21. JBoss Server Migration Tool

JBoss Server Migration Tool

JBoss EAP 7.1 ディストリビューションで JBoss Server Migration Tool が使用できるようになりました。このツールは、JBoss EAP 6.4 または 7.0 サーバー設定から JBoss EAP 7.1 への移行を円滑にします。これは、スタンドアロンサーバーと管理ドメインの設定を両方変換できます。

JBoss Server Migration Tool の使用に関する詳細は、JBoss EAP 移行ガイドJBoss Server Migration Tool を使用したサーバー設定の移行 を参照してください。

3.22. ドキュメント

Performance Tuning Guide

JBoss EAP 7.1 では、Performance Tuning Guide を利用できます。このガイドでは、一般的な JBoss EAP のユースケースにおける最適化の推奨事項を確認でき、パフォーマンスの監視手順やパフォーマンス問題の診断手順も確認できます。

3.23. グラフィカルインストーラー

カスタム JSF インストールオプションを提供するグラフィカルインストーラー

グラフィカルインストーラーを使用して JBoss EAP 7.1 をインストールする場合にカスタム JSF 実装をインストールできます。インストーラーウィザードの Configure Runtime EnvironmentPerform advanced configurationInstall JSF implementation と選択し、Next をクリックします。JSF Setup ページで必要な詳細を指定し、残りのインストール手順を完了します。

注記

JBoss EAP 7.1 インストーラーは、MyFaces v2.1.x/v2.2.x および Mojarra v2.1.x/v2.2.x をサポートします。MyFaces 実装自体はサポートされません。

3.24. クイックスタート

新しいクイックスタート: ha-singleton-deployment

ha-singleton-deployment クイックスタートは JBoss EAP 7.1 に同梱されます。このクイックスタートは、シングルトンデプロイメントを使用したクラスター全体のシングルトンなど、アプリケーションにパッケージ化されたサービスの完全な作業例です。

新しいクイックスタート: messaging-clustering-singleton

messaging-clustering-singleton クイックスタートは JBoss EAP 7.1 に同梱されます。このクイックスタートは、ActiveMQ Artemis と MDB シングルトン設定を使用したクラスタリングを実証します。

Elytron セキュリティーのクイックスタートの更新

以下のクイックスタートは JBoss EAP 7.1 で新たに導入され、Elytron を使用してアプリケーションをセキュアにする方法を実証します。

  • ejb-security-context-propagation
  • ejb-security-jaas
  • ejb-security-programmatic-auth
  • helloworld-mutual-ssl
  • helloworld-mutual-ssl-secured
  • helloworld-ssl

Elytron セキュリティーを使用するよう、以下のクイックスタートが更新されました。

  • ejb-asynchronous
  • ejb-multi-server
  • ejb-remote
  • ejb-security
  • helloworld-jms
  • servlet-security
  • shopping-cart