7.4.0 リリースノート

Red Hat JBoss Enterprise Application Platform 7.4

Red Hat JBoss Enterprise Application Platform 7.4 向け

Red Hat Customer Content Services

概要

本リリースノートには、Red Hat JBoss Enterprise Application Platform 7.4 に関する重要な情報が含まれています。
JBoss EAP 7.4 より、認定/コンプライアンスの Jakarta EE テストスイートにのみ重点が置かれます。以前の JBoss EAP 7 バージョンからアプリケーションを移行する既存のお客様にサポートを提供するため、JBoss EAP 7.4 では後方互換性を維持します。Oracle の Java EE 8 TCK は、Jakarta EE 8 とは互換性を持つ Jakarta EE 8 実装 (JBoss EAP など) で使用される Jakarta EE へ TCK に含まれています。Jakarta EE 8 API は Java EE 8 API と同等です。Jakarta EE 8 仕様 (テクノロジープレビュー) は Java EE 8 仕様 (テクノロジープレビュー) と同等です。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。多様性を受け入れる用語に変更する取り組みの詳細は、弊社の CTO、Chris Wright のメッセージ を参照してください。

JBoss EAP ドキュメントへのフィードバック (英語のみ)

エラーを報告したり、ドキュメントを改善したりするには、Red Hat Jira アカウントにログインし、課題を送信してください。Red Hat Jira アカウントをお持ちでない場合は、アカウントを作成するように求められます。

手順

  1. このリンクをクリック してチケットを作成します。
  2. ドキュメント URLセクション番号課題の説明 を記入してください。
  3. Summary に課題の簡単な説明を入力します。
  4. Description に課題や機能拡張の詳細な説明を入力します。問題があるドキュメントのセクションへの URL を含めてください。
  5. Submit をクリックすると、課題が作成され、適切なドキュメントチームに転送されます。

第1章 サポートされる設定

  • MS SQL Server 2019 は JBoss EAP 7.4 でサポートされます。
  • PosgreSQL 13.2 と EnterpriseDB 13.1 はテストされ、JBoss EAP 7.4 でサポートされています。
  • JBoss EAP 7.4 では、MariaDB 10.3 および MariaDB Galera Cluster 10.3 がテストされ、サポートされています。
  • IBM DB2 11.5 はテストされ、JBoss EAP 7.4 でサポートされます。

Red Hat カスタマーポータルのナレッジベースの記事 Red Hat JBoss Enterprise Application Platform (EAP) 7 でサポートされる設定 には、JBoss EAP 7.4 リリースの一部としてテストされたデータベースおよびデータベースコネクターが一覧表示されます。

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

2.1. セキュリティー

クレデンシャルストアの認証情報の自動更新のサポート

これで、store 属性および clear-text 属性の両方を指定する認証情報参照を設定する際に、Elytron は事前に定義されたクレデンシャルストアへの認証情報の追加および更新を自動化するようになりました。

今回の更新で、credential-reference から参照する前に、既存のクレデンシャルストアに認証情報を追加する必要がなくなりました。自動プロセスにより、異なるサブシステムで新しい認証情報を参照するために必要なステップの数が減ります。

Elytron の新しいロールマッパー regex-role-mapper

Elytron では、セキュリティーロールの正規表現 (regex) ベースのマッピングを定義する新しいロールマッパー regex-role-mapper を利用できるようになりました。

regex-role-mapper を使用して、ロールのリストを単純なロールに変換できます。例を以下に示します。

  • *-admin から admin
  • *-user から user

regex-role-mapper では、独自のカスタムコンポーネントを実装してセキュリティーロールを変換する必要はありません。詳細は、regex-role-mapper 属性 を参照してください。

リモートクライアントの IP アドレスへのアクセス

source-address-role-decoder ロールデコーダーを elytron サブシステムに追加できるようになりました。このロールデコーダーを設定すると、権限付与に関する意思決定を行う場合に、リモートクライアントから追加情報を取得できます。

source-address-role-decoder は、リモートクライアントの IP アドレスを抽出し、pattern 属性または source-address 属性で指定された IP アドレスと一致することを確認します。リモートクライアントの IP アドレスがいずれかの属性で指定された IP アドレスと一致する場合、roles 属性はロールをユーザーに割り当てます。source-address-role-decoder を設定した場合は、セキュリティードメインrole-decoder 属性で参照できます。

aggregate-role-decoder ロールデコーダー

aggregate-role-decoder は、2 つ以上のロールデコーダーで設定されます。指定された各ロールデコーダーがその操作を完了した後に、ロールを aggregate-role-decoder に追加します。

ユーザーのロールを割り当てるロールデコーダーを追加して、aggregate-role-decoder を使用して権限付与の意思決定を行うことができます。さらに aggregate-role-decoder は、各ロールデコーダーから返されるロールを集約する便利な方法を提供します。

JDK 11 での TLS プロトコルバージョン 1.3 の使用

Elytron では、JDK 11 で稼働している JBoss EAP に Transport Layer Security (TLS) プロトコルのバージョン 1.3 を使用できるようになりました。

TLS 1.3 は、デフォルトでは無効になっています。TLS 1.3 を有効にするには、elytron サブシステムの SSL コンテキストリソース定義で新しい cipher-suite-names 属性を設定します。

TLS 1.3 を JDK 11 で実行時のパフォーマンスは、TLS 1.2 と比較すると、低下する可能性があります。TLS 1.3 で非常に多くの要求が生じると、パフォーマンスが低下する可能性があります。新しい JDK バージョンにアップグレードさせることで、パフォーマンスを向上できます。実稼働環境で有効にする前に、TLS 1.3 を使用する設定で、パフォーマンス低下がないかをテストします。

TLS の OpenSSL プロバイダーを使用した TLS 1.3 プロトコルのサポートの有効化

JBoss EAP 7.4 には、Transport Layer Security (TLS) プロトコルのバージョン 1.3 のサポートが含まれています。TLS 用の OpenSSL プロバイダーでの TLS 1.3 プロトコルの使用はデフォルトで無効になっています。ssl-context 設定で providers 属性を設定するか、Elytron サブシステム設定で initial-providers 属性を使用して、グローバルに登録されたすべてのプロバイダーの前に OpenSSL プロバイダーを登録することにより、TLS の OpenSSL プロバイダーを有効にできます。

ssl-context 設定で cipher-suite-names 属性を設定して、TLS の OpenSSL プロバイダーで TLS 1.3 プロトコルのサポートを有効にできます。

TLS 1.3 を JDK 11 で実行時のパフォーマンスは、TLS 1.2 と比較すると、低下する可能性があります。TLS 1.3 で非常に多くの要求が生じると、パフォーマンスが低下する可能性があります。新しい JDK バージョンにアップグレードさせることで、パフォーマンスを向上できます。実稼働環境で有効にする前に、TLS 1.3 を使用する設定で、パフォーマンス低下がないかをテストします。

JDK 設定で TLS 1.1 プロトコルのサポートを再度有効にする

新しいバージョンの JDK は、デフォルトで Transport Layer Security (TLS) プロトコルのバージョン 1.1 を無効にすることができます。JBoss EAP 7.4 設定が連邦情報処理標準 (FIPS) に準拠する必要がある場合は、JDK 設定で TLS 1.1 プロトコルのサポートを再度有効にすることが必要になる場合があります。

JBoss EAP 7.4 と互換性のある TLS プロトコルの詳細は、Red Hat カスタマーポータルの Red Hat JBoss Enterprise Application Platform (EAP) 7 でサポートされる設定 を参照してください。

SSH 認証情報を使用したリモート Git SSH リポジトリーへの接続

JBoss EAP 7.4 では、SSH 認証情報を使用してリモート Git SSH リポジトリーに接続できます。このリポジトリーは、サーバー設定データ、プロパティーファイル、およびデプロイメントを管理できます。

SSH 認証情報を指定するには、elytron 設定ファイルを使用する必要があります。その後、スタンドアロンサーバーインスタンスを起動し、リモートの Git SSH リポジトリーでサーバー設定ファイル履歴を管理できます。

必要な場合は、以下のいずれかの方法で SSH 鍵を生成できます。

  • elytron-tool.sh スクリプト
  • OpenSSH コマンドライン

リモート Git SSH リポジトリーへの接続に関する詳細は、リモート Git SSH リポジトリーの使用 を参照してください。

elytron サブシステムに追加された新しいプリンシパルトランスフォーマー

JBoss EAP 7.4 には、elytron サブシステムに新しいプリンシパルトランスフォーマー (case-principal-transformer) が追加されました。case-principal-transformer を使用して、プリンシパルのユーザー名を大文字または小文字のいずれかに変更できます。

自己署名証明書を自動生成する機能

JBoss EAP 7.4 では、自己署名証明書を自動的に生成できます。

自己署名証明書は、テスト環境にのみ使用してください。実稼働環境で自己署名証明書を使用しないでください。

この新機能を使用するには、undertow サブシステムで http-listener の設定を更新します。

    batch
    /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm)
    /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context,value=applicationSSC)
    run-batch
    reload

設定の更新後に、キーストアファイルが存在しない場合には、JBoss EAP で HTTPS 要求を初めて受信すると、システムで自動的に自己署名証明書が生成されます。自己署名証明書が使用されると JBoss EAP は警告をログに記録します。

フェイルオーバーをサポートする複数のセキュリティーレルムの設定

JBoss EAP 7.4 では、フェイルオーバーのセキュリティーレルムを設定できます。セキュリティーレルムが利用できない場合には、JBoss EAP はフェイルオーバーレルムを使用します。以下のコードは、設定例です。

    <failover-realm name="myfailoverrealm" delegate-realm="LdapRealm" failover-realm="LocalRealm" />

複数のセキュリティーレルム間での分散アイデンティティー

JBoss EAP 7.4 では、分散セキュリティーレルムを設定でき、アイデンティティーのあるレルムが見つかるまで、設定済みのレルムのリストを順次呼び出します。以下のコードは、設定例です。

    <distributed-realm name="mymainrealm" realms="realm1 realm2 realm3" />

elytron サブシステムの HTTP 経由での外部認証情報へのアクセス

JBoss EAP 7.4 では、HTTP 認証を使用する場合に JBoss EAP は外部で確立されたクレデンシャルを基にしてユーザーを認証できます。

この機能を使用するには、ユーザーの認証に外部メカニズムを使用するようにセキュリティードメインを設定します。

RESTEasy クライアントでの Elytron クライアント認証設定の使用

JBoss EAP 7.4 リリースは、RESTEasy クライアントと Elytron クライアントを統合します。RESTEasy クライアントは、Elytron クライアント設定から認証情報、ベアラートークン、SSL 設定などの認証情報を使用します。

以下のように、RESTEasy クライアントが使用できる Elytron クライアント設定を指定できます。

  • wildfly-config.xml ファイルを Elytron クライアントに提供する。Elytron クライアントは wildfly-config.xml または META-INF/wildfly-config.xml のクラスパスを検索します。

    • または、wildfly.config.url システムプロパティーを使用して wildfly-config.xml ファイルのパスを指定することもできます。
  • Elytron クライアント API を使用して認証設定をプログラム的に指定します。

初期秘密鍵を指定するための秘密鍵クレデンシャルストア

secret-key-credential-store という名前の新しいタイプのクレデンシャルストアを使用して、最初の秘密鍵をアプリケーションサーバープロセスに提供できるようになりました。このクレデンシャルストアを使用すると、独自の初期シークレットを管理できるため、パスワードベースの暗号化よりも堅牢なセキュリティーが得られます。JBoss EAP への初期キーの指定は、セキュリティーで保護されたリソースを解除するための初期キーの JBoss EAP への指定 を参照してください。

さらに、秘密鍵を生成し、すべてのクレデンシャルストアに対して、以前に生成されたすべての秘密鍵をエクスポートおよびインポートできるようになりました。既存のクレデンシャルストアを使用して秘密鍵を保存し、管理操作を使用してそれらを維持することもできます。詳細は、JBoss EAP 管理 CLI を使用したクレデンシャルストアの操作 を参照してください。

セキュリティーの影響を受ける文字列を保護するための暗号化された式

暗号化された式を使用して、セキュリティーの影響を受ける文字列を管理モデルにセキュアに保存できるようになりました。Elytron は Advanced Encryption Standard (AES) 暗号化を使用してプレーンテキスト文字列を暗号化し、クレデンシャルストアに保存された SecretKey キーを使用してランタイム時に暗号化された式を動的に復号します。

暗号化された式は、elytron サブシステムで新しいリソース expression-encryption を使用して設定できます。create-expression 管理操作を使用して、暗号化された式を作成します。暗号化式については、Elytron の暗号化式 を参照してください。

注記

パスワードの保存にはクレデンシャルストアを使用します。パスワードの vault は非推奨となり、今後のリリースで削除されます。

elytron-tool の更新

既存のクレデンシャルストアと新しいクレデンシャルストアの両方で elytron-tool を使用できます。credential-store コマンドを使用して秘密鍵を管理し、式で使用する暗号化されたトークンを生成します。

2.2. サーバー管理

Microsoft Windows Server 2019 のサポート

Microsoft Azure で JBoss EAP 7.4 を使用すると、Microsoft Windows Server 2019 の仮想オペレーティングシステムを使用できます。

グローバルディレクトリーを使用したデプロイメント全体での共有ライブラリーの分散

JBoss EAP 7.3 以前では、グローバルディレクトリーを作成して、サーバー上のデプロイメント全体に共有ライブラリーを分散するように設定できませんでした。この機能が ee サブシステムに追加されました。

グローバルディレクトリーは、グローバルモジュールの代わりのアプローチとなります。たとえば、グローバルモジュールに一覧表示されているライブラリーの名前を変更する場合は、グローバルモジュールを削除し、ライブラリーの名前を変更して新しいグローバルモジュールにライブラリーを追加する必要があります。グローバルディレクトリーにリストされたライブラリーの名前を変更する場合は、サーバーを再起動して、ライブラリー名の変更が全デプロイメントで利用できるようにするだけです。

また、デプロイされたアプリケーションに複数のライブラリーを共有する場合は、グローバルディレクトリーを使用することも、より適切なソリューションとなります。

詳細は、JBoss EAP 設定ガイドグローバルモジュールの定義 を参照してください。

読み取り専用のサーバー設定ディレクトリーのサポート

JBoss EAP 7.3 以前のバージョンでは、設定ディレクトリーが読み取り専用として設定されている場合にサーバーは起動できません。JBoss EAP 7.4 では、読み取り専用のサーバー設定ディレクトリーを使用する機能が導入されました。設定ディレクトリーが読み取り専用である場合は、コマンドに --read-only-server-config スイッチを追加してサーバーを起動します。

JBoss モジュールパラメーターを渡す機能

JBoss EAP 7.3 以前のバージョンの設定ファイルでは、JBoss Modules にモジュールパラメーターを渡す機能が含まれていませんでした。JBoss EAP 7.4 のスクリプト設定ファイルでは、MODULE_OPTS=-javaagent:my-agent.jar 環境変数を追加して JBoss Module パラメーターを渡すことができるようになりました。

以前のバージョンで、ブートクラスパスにログマネージャーを追加する必要があった場合には、この機能を利用できます。

Infinispan APIs

以前の実装では、Infinispan API に Red Hat Data Grid プロジェクトの一部であるため、EAP 内のプライベートとしてフラグが立てられていました。これらの API は、JBoss EAP7.4 で完全含まれ、サポートされるようになりました。含まれるモジュールは次のとおりです。

  • org.infinispan
  • org.infinispan.client.hotrod
  • org.infinispan.commons

起動中に要求を許可する設定可能なオプション

ユーザー要求が起動プロセスで以前に発生する必要があるときの正常な起動モードのオプションが追加されました。これは、管理対象ドメインとスタンドアロンサーバーの両方でサポートされます。

  • 管理対象ドメインのサーバーでは、server-group 要素が graceful-startup 引数をサポートするようになりました。このデフォルトは true に設定されます。
  • スタンドアロンサーバーで、コマンドラインオプション --graceful-startup=false を必要な値に設定します。

設定可能な共通スクリプトファイルを追加

これで、ファイル common.conf を使用して JBoss EAP インスタンス環境をカスタマイズすることができます。このファイルでは、$JBOSS_HOME/bin ディレクトリー内のすべてのスクリプトで使用できる一般的な環境変数を設定できます。$JBOSS_HOME/bin にファイルを追加するか COMMON_CONF 環境変数のファイルへのパスを追加できます。この機能は、それぞれ common.conf.bat および common.conf.ps1 を持つバッチスクリプトと powershell スクリプトをサポートします。

2.3. 管理 CLI

CLI コマンド command の拡張

CLI コマンド command に新しい --node-child 引数が追加され、この引数でプロパティーを編集したり、特定の子ノードの操作を管理したりできます。

注記

--node-child 引数を使用する前に、子ノードが管理モデルに存在することを確認します。

command add --node-child --help の CLI コマンドを使用して、--node-child 引数の詳細を表示します。

elytron サブシステムに追加された新しいロールデコーダー

JBoss EAP 7.4 では、管理 CLI を使用して source-address-role-decoder ロールデコーダーを elytron サブシステムに追加できます。このロールデコーダーを mappers 要素に設定すると、権限付与に関する意思決定を行う場合に、リモートクライアントから追加情報を取得できます。

source-address-role-decoder に以下の属性を設定できます。

属性説明

pattern

照合するリモートクライアントの IP アドレス (複数可) を指定する正規表現。

source-address

リモートクライアントの IP アドレスを指定します。

roles

リモートクライアントの IP アドレスが pattern 属性または source-address 属性で指定された値と一致する場合に、ユーザーに割り当てるロールの一覧を提供します。

管理対象エクゼキューターサービスのランタイム統計の公開

以前の JBoss EAP リリースでは、ee サブシステムの管理対象エグゼキューターサービスにランタイム統計がありませんでした。

新しい管理 CLI 属性で生成されたランタイム統計を表示することで、管理対象エグゼキューターサービスのパフォーマンスを監視できまるようになりました。以下の管理 CLI 属性が追加されました。

  • active-thread-count: タスクをアクティブに実行しているスレッドの概数
  • completed-task-count: 実行を完了したタスクの総数
  • hung-thread-count: 停止したエグゼキュータースレッドの数
  • max-thread-count: エグゼキュータースレッドの最大数
  • current-queue-size: エグゼキューターのタスクキューの現在のサイズ
  • task-count: 実行用に送信されたタスクの総数 (概算)
  • thread-count: エグゼキュータースレッドの現在の数

ハングしたタスクの終了

EE サブシステムでハングしたタスクを手動で終了できるようになりました。これを実行するには、以下のコマンドを実行します。

/subsystem=ee/managed-executor-service=default:terminate-hung-tasks()

新しい属性 hung-task-termination-period が managed-executor-service に追加されます。

EE サブシステムでハングしたタスクを自動的に終了しようとできるようになりました。これを可能にするために、新しい属性 hung-task-termination-period が managed-scheduled-executor-service リソースに追加されます。

  • hung-task-termination-period: このようなタスクをキャンセルし、実行中のスレッドを中断して、ハングしたタスクの自動終了を試行する期間 (ミリ秒単位)。値が 0 (デフォルト値) の場合、ハングしたタスクはキャンセルされることはありません。

パーミッションファイルのプロパティー置換の使用

JBoss EAP 6 から JBoss EAP 7 へのアップグレードした場合に、Java ポリシーファイルのファイルのパーミッションを permissions.xml または jboss-permissions.xml ファイルに移行できませんでした。permissions.xml および jboss-permissions.xml ファイルのファイルパーミッションをプロパティー置換を使用して移行できませんでした。

permissions.xml および jboss-permissions.xml ファイルにプロパティー置換を使用できるようになりました。

jboss-permissions.xml および permissions.xml ファイルのプロパティー置換は、ee サブシステムの jboss-descriptor-property-replacement および spec-descriptor-property-replacement 属性を使用して有効または無効にできます。

RESTEasy パラメーターの設定

JBoss EAP 管理 CLI を使用して RESTEasy パラメーターの設定を変更できるようになりました。グローバル変更は、新しいデプロイメントに更新された設定を web.xml コンテキストパラメーターとして適用します。

管理 CLI で /subsystem=jaxrs リソースを指定して :write-attribute 操作を使用するとパラメーターの設定を変更できます。例を以下に示します。

/subsystem=jaxrs:write-attribute(name=resteasy-add-charset, value=false)
注記

パラメーター設定を変更すると、更新された設定が適用されるのは、新規デプロイメントのみです。サーバーを再起動して、新しい設定を現在のデプロイメントに適用します。

RESTEasy 要素に関する詳細は、RESTEasy Configuration Parameters の表を参照してください。

RESTEasy プロバイダーの設定

RESTEasy では、一部のビルトインプロバイダーがデフォルトで有効になっています。JBoss EAP 管理 CLI で新しい RESTEasy パラメーター resteasy.disable.providers を使用して、特定の組み込みプロバイダーを無効にできるようになりました。

以下の例は、同梱のプロバイダー FileProvider を無効にする方法を示しています。

/subsystem=jaxrs:write-attribute(name=resteasy-disable-providers, value=[org.jboss.resteasy.plugins.providers.FileProvider])

resteasy.disable.providers パラメーターと resteasy.use.builtin.providers の既存のパラメーターを使用して、特定のプロバイダー設定をカスタマイズして、新しいデプロイメントすべてにその設定を適用できます。

注記

resteasy.disable.providers パラメーターの設定を変更すると、更新された設定が新しいデプロイメントにのみ適用されます。サーバーを再起動して、新しい設定を現在のデプロイメントに適用します。

2.4. 管理コンソール

elytron サブシステムに追加された新しいロールデコーダー

JBoss EAP 7.4 では、管理コンソールを使用して source-address-role-decoder ロールデコーダー を elytron サブシステムに追加できます。このロールデコーダーを mappers 要素に設定すると、権限付与に関する意思決定を行う場合に、リモートクライアントから追加情報を取得できます。

source-address-role-decoder に以下の属性を設定できます。

属性説明

pattern

照合するリモートクライアントの IP アドレス (複数可) を指定する正規表現。

source-address

リモートクライアントの IP アドレスを指定します。

roles

リモートクライアントの IP アドレスが pattern 属性または source-address 属性で指定された値と一致する場合に、ユーザーに割り当てるロールの一覧を提供します。

2.5. ロギング

Apache Log4j2 API

JBoss EAP 7.4 では、Apache Log4j API の代わりに Apache Log4j2 API を使用して、アプリケーションのロギングメッセージを JBoss LogManager 実装に送信できます。

JBoss EAP 7.4 リリースでは Log4J2 API はサポート対象ですが、Apache Log4j2 Core 実装 org.apache.logging.log4j:log4j-core またはその設定ファイルはサポート対象外です。

2.6. Infinispan サブシステム

デプロイメントでの Infinispan API の使用

Infinispan サブシステムを使用して、個別のモジュールをインストールすることなく、リモートおよび組み込みの JBoss EAP キャッシュを作成できるようになりました。これにより、デプロイメントからキャッシュへの読み取りおよび書き込み操作を実行できますが、すべての Data Grid 機能または次の API のサポートは含まれていません。

  • org.infinispan.query
  • org.infinispan.counter.api
  • org.infinispan.lock

さらに、Data Grid CDI モジュールは Infinispan サブシステムからは利用できません。

JBoss EAP と Data Grid 機能の使用について質問がある場合は、Red Hat サポートチームにお問い合わせください。

2.7. ejb3 サブシステム

ejb3 サブシステムのデフォルトのグローバルステートフルセッション bean タイムアウト値

ejb3 サブシステムでは、default-stateful-bean-session-timeout 属性を使用して、サーバーインスタンスにデプロイされたすべてのステートフルセッション bean (SFSB) にデフォルトのグローバルタイムアウト値を設定できるようになりました。この属性は JBoss EAP サーバー設定ファイルにあります。管理 CLI を使用して属性を設定できます。

属性の動作はサーバーモードによって異なります。以下に例を示します。

  • スタンドアロンサーバーで実行している場合、設定された値はアプリケーションサーバーにデプロイされたすべての SFSB に適用されます。
  • 管理対象ドメインで実行している場合、サーバーグループ内のサーバーインスタンスにデプロイされたすべての SFSB は同時タイムアウト値を受け取ります。
注記

属性のグローバルタイムアウト値を変更する場合、更新された設定は新規デプロイメントにのみ適用されます。サーバーをリロードして、新しい設定を現在のデプロイメントに適用します。

デフォルトでは、属性値は -1 ミリ秒で設定されています。つまり、デプロイされた SFSB はタイムアウトしないように設定されています。ただし、以下のように、属性に 2 つのタイプの有効な値を設定できます。

  • 値が 0 の場合、SFSB は ejb コンテナーによる即時削除の対象となります。
  • 値が 0 を超える場合、SFSB は ejb コンテナーによる削除の対象となる前に指定した期間アイドル状態のままになります。

ejb-jar.xml デプロイメント記述子にある既存の @StatefulTimeout アノテーションまたは stateful- timeout 要素を使用して、SFSB のタイムアウト値を設定できます。ただし、このような設定を設定すると、デフォルトのグローバルタイムアウト値が SFSB に上書きされます。

database-data-store での Jakarta Enterprise Beans タイマーの更新の強制

EE インターセプターを使用して wildfly.ejb.timer.refresh.enabled フラグを設定できるようになりました。アプリケーションが TimerService.getAllTimers() メソッドを呼び出すとき、JBoss EAP はこのフラグをチェックします。このフラグが true に設定されている場合、JBoss EAP は結果を返す前に Jakarta Enterprise Beans タイマーをデータベースから更新します。

以前の JBoss EAP リリースでは、database-data-store にある refresh-interval 属性を使用して、Jakarta Enterprise Beans タイマーの読み取りをデータベースで更新できました。ユーザーは、Jakarta Enterprise Beans タイマーの読み込みを更新するために refresh-interval 属性の値をミリ秒単位で設定できました。

Jakarta Enterprise Beans クラスター化データベースでサポートされるタイマーに関する詳細は、Jakarta Enterprise Beans アプリケーションの開発ガイドの Jakarta Enterprise Beans クラスター化されたデータベースタイマー を参照してください。

Jakarta Enterprise Beans からのランタイム情報へのアクセス

JBoss EAP 7.4 では、Jakarta Enterprise Beans のランタイムデータにアクセスできます。ステートフルセッション Bean、ステートレスセッション Bean、およびシングルトン Bean は、異なるランタイム情報を返します。たとえば、以下のコマンドはステートレスセッション Bean のランタイムデータを返します。

/deployment=ejb-management.jar/subsystem=ejb3/stateless-session-bean=ManagedStatelessBean:read-resource(include-runtime)

HTTP 上の Jakarta Enterprise Beans の動的検出

JBoss EAP 7.4 では、HTTP 上で Jakarta Enterprise Beans の動的検出を使用できます。この機能を使用するには、ejb-remote プロファイルに以下のような設定を追加します。

<remote connector-ref="http-remoting-connector" thread-pool-name="default">
    <channel-creation-options>
        <option name="MAX_OUTBOUND_MESSAGES" value="1234" type="remoting"/>
    </channel-creation-options>
    <profiles>
        <profile name="my-profile">
            <remote-http-connection name="ejb-http-connection" uri="http://127.0.0.1:8180/wildfly-services"/>
        </profile>
    </profiles>
</remote>

リモート Jakarta Enterprise Beans 呼び出しのグローバル圧縮設定

JBoss EAP 7.4 では、リモート Jakarta Enterprise Beans に対する呼び出しの圧縮をグローバルに設定できます。スタンドアロンクライアントでグローバルに圧縮を設定するには、jboss-ejb-client.properties ファイルで default.compression プロパティーを指定します。サーバーでグルーバルに圧縮を設定するには、アプリケーションデプロイメントユニットの jboss-ejb-client.xml 記述ファイルに含まれる <client-conext> 要素に default-compression 属性を追加します。

<jboss-ejb-client xmlns="urn:jboss:ejb-client:1.4">
    <client-context default-compression="5">
        <profile name="example-profile" />
    </client-context>
</jboss-ejb-client>

Elytron でのプリンシパル伝搬動作を設定するための新しい属性

JBoss EAP 7.4 では、新しいオプションの属性が ejb3 サブシステムの application-security-domain 要素に追加されました。新しい属性 legacy-compliant-principal-propagation を使用して、Elytron セキュリティーを使用する Jakarta Enterprise Beans アプリケーションのプリンシパル伝搬動作を制御できます。

legacy-compliant-principal-propagation のデフォルト値は true です。したがって、主要な伝播動作はデフォルトでレガシー security サブシステムに準拠しています。

属性を false に設定すると、Elytron は匿名プリンシパルの受信 run as のないローカルのセキュアでない Jakarta Enterprise Beans を提供します。この設定は、Elytron の以前の動作に対応します。

Elytron と ejb サブシステムの統合については、Jakarta Enterprise Beans アプリケーションの開発 ガイドの Elytron の ejb サブシステムとの統合 を参照してください。

2.8. Hibernate

wildfly.jpa.skipquerydetach 永続ユニットプロパティーの設定

コンテナー管理の永続コンテキストの persistence.xml ファイルから wildfly.jpa.skipquerydetach 永続ユニットプロパティーを設定できます。

wildfly.jpa.skipquerydetach のデフォルト値は false です。この設定を使用して、トランザクションスコープの永続コンテキストを設定し、オープンな永続コンテキストからクエリー結果を即時にデタッチします。

wildfly.jpa.skipquerydetachtrue として 設定し、永続コンテキストが閉じられるときにクエリー結果をデタッチするようにトランザクションスコープの永続コンテキストを設定します。これにより、標準以外の仕様拡張が有効になります。

非スタンドアロン仕様の拡張子 jboss.as.jpa.deferdetachtrue に設定されているアプリケーションでは、wildfly.jpa.skipquerydetachtrue に設定することもできます。

2.9. Web サービス

Elytron と Web サービスクライアントの統合

Elytron クライアント設定を使用して認証情報、認証方法、および SSL コンテキストを取得するように Web サービスクライアントを設定できるようになりました。

JBossWS API を使用して設定プロパティーを web サービスクライアントに割り当てた場合、Elytron クライアントのユーザー名、パスワード、および SSL コンテキストもロードおよび設定されます。以下の認証方法は設定可能です。

  • UsernameToken プロファイル認証
  • HTTP Basic 認証
  • TLS プロトコル

wildfly-config.xml<webservices/> 要素を使用して、認証情報が HTTP Basic 認証、UsernameToken Profile 認証または両方のものであることを指定できます。

RESTEasy 3.x がすべての標準 MicroProfile ConfigSource にアクセスできる機能

RESTEasy 3.x がすべての標準 MicroProfile ConfigSource にアクセスできるようになりました。以下の追加の ConfigSource も RESTEasy 3.x に追加されます。

  • servlet init-params (ordinal 60)
  • filter init-params (ordinal 50)
  • servlet context-params (ordinal 40)

以前のリリースでは、これらの機能は RESTEasy 4.x のみに含まれていました。今回の更新により、RESTEasy は MicroProfile ConfigSource の使用に関わらず設定パラメーターにアクセスできるようになりました。MicroProfile Config 実装がない場合、RESTEasy は ServletContext パラメーターおよび init パラメーターからパラメーターを収集する古いメソッドにフォールバックします。

現在の JBoss EAP リリースの Cookie の SameSite 属性 は、undertow サブシステムで samesite-cookie ハンドラーを使用して設定できるようになりました。このハンドラーを使用すると、アプリケーションを変更せずにサーバー設定を更新できます。今回の機能拡張により、セキュリティーを強化するため、主要な Web ブラウザーに最近実装されたクッキーの処理に対する変更がサポートされるようになりました。

resteasy CDI モジュールでの Eclipse MicroProfile REST クライアント API の設定

Eclipse MicroProfile REST クライアント API は、resteasy CDI モジュールに設定できる任意の依存関係になりました。

2.10. Messaging

JMS コアブリッジでのメッセージの重複

ターゲットキューが過負荷になっているサーバーでは、まれに、JMS コアブリッジを介して大規模なメッセージを送信すると、メッセージが重複する場合があります。

トピックを一時停止する機能

JBoss EAP 7.4 では、キューだけでなく、トピックも一時停止できます。トピックを一時停止すると、JBoss EAP はメッセージを受信しますが、配信しません。トピックを再開すると、JBoss EAP はメッセージを配信します。トピックを一時停止するには、以下の例のようなコマンドを実行します。

/subsystem=messaging-activemq/server=default/jms-topic=topic:pause()

トピックを再開するには、以下の例のようなコマンドを実行します。

/subsystem=messaging-activemq/server=default/jms-topic=topic:resume()

ブローカーのネットワーク分離を検出する機能

設定可能なホストの一覧に ping を実行して、ブローカーのネットワーク分離を検出できるようになりました。以下のパラメーターを使用して、この機能を設定することができます。

  • network-check-NIC
  • network-check-period
  • network-check-timeout
  • network-check-list
  • network-check-URL-list
  • network-check-ping-command
  • network-check-ping6-command

たとえば、IP アドレス 10.0.0.1 に ping してネットワークのステータスを確認するには、以下のコマンドを実行します。

/subsystem=messaging-activemq/server=default:write-attribute(name=network-check-list, value="10.0.0.1")

call-timeout 属性

JMS コアブリッジの call-timeout 属性は、ActiveMQ Artemis の一部として設定可能です。本リリースでは、EAP 自体に management API を使用して call-timeout 変数を設定できるようになりました。

Red Hat AMQ 接続プール

Red Hat AMQ は、シングルスレッド DB 接続に加えて接続プールをサポートします。JBoss EAP 7.4 では、JBoss EAP で Red Hat AMQ を使用する場合は接続プールを使用できるようになりました。

2.11. 文字

サーバーを起動するための新しい環境変数

MODULE_OPTS 環境変数を JBoss EAP 7.4 インスタンスのスクリプト設定ファイルに追加できるようになりました。

スタンドアロンサーバーでは、以下のファイルを使用します。

  • RHEL では、起動スクリプトは EAP_HOME/bin/standalone.conf ファイルを使用します。
  • Windows サーバーで、コマンドプロンプトで EAP_HOME\bin\standalone.bat ファイルを使用します。
  • Windows サーバーで、PowerShell で EAP_HOME\bin\standalone.ps1 ファイルを使用します。

ドメインのサーバーでは、module-options 属性をホストの JVM 設定またはサーバーの JVM 設定に追加できます。

MODULE_OPTS 環境変数がサーバー全体に影響します。たとえば、ロギングを必要とする Java エージェントがある場合は、MODULE_OPTS の値を -javaagent:my-agent.jar に設定します。これにより、ログの設定後にエージェントが初期化されます。

2.12. OpenShift

JBoss EAP S2I イメージへのカスタム Galleon feature-pack サポートの提供

新しい 3 つの環境変数を使用して、JBoss EAP S2I イメージのカスタム Galleon feature-pack サポートを提供できます。S2I ビルドフェーズで、以下の表で説明される環境変数を使用できます。

表2.1 カスタム Galleon feature-pack 環境変数

環境変数説明

GALLEON_DIR=<PATH>

<path> は、オプションの Galleon カスタムコンテンツが含まれるアプリケーションルートディレクトリーへの相対ディレクトリーです。デフォルトのディレクトリーは galleon です。

GALLEON_CUSTOM_FEATURE_PACKS_MAVEN_REPO=<PATH>

<path> は、カスタム feature-packs を含む Maven ローカルリポジトリーディレクトリーの絶対パスです。ディレクトリーのデフォルトは galleon/repository に設定されます。

GALLEON_PROVISION_FEATURE_PACKS=<LIST_OF_GALLEON_FEATURE_PACKS>

<LIST_OF_GALLEON_FEATURE_PACKS> は、Maven コーディネートによって識別されるカスタム Galleon feature-packs のコンマ区切りリストです。一覧表示されている feature-packs は、ビルダーイメージにある JBoss EAP 7.4 サーバーのバージョンと互換性がある必要があります。

GALLEON_PROVISION_LAYERS 環境変数を使用して、サーバーのカスタム feature-packs によって定義された Galleon レイヤーを設定できます。

読み取り専用サーバー設定ディレクトリー

JBoss EAP は読み取り専用のサーバー設定ディレクトリーをサポートします。--read-only-server-config コマンドラインパラメーターを使用して、サーバー設定ディレクトリーが読み取り専用ディレクトリーである場合にサーバー設定をロックできます。この機能は、JBoss EAP をスタンドアロンサーバーとして実行している場合のみ利用できます。

OpenShift での JBoss EAP クイックスタートのデプロイ手順

JBoss EAP リリースでは、すべての OpenShift と互換性のあるクイックスタートに OpenShift での JBoss EAP クイックスタートをデプロイする手順が含まれるようになりました。クイックスタートの readme.html ファイルには、以下のセクションが含まれます。

  • OpenShift の使用開始
  • クイックスタートのデプロイメントに向けた OpenShift の準備
  • 最新の JBoss EAP for OpenShift イメージストリームおよびテンプレートのインポート
  • JBoss EAP for OpenShift Source-to-Image (S2I) クイックスタートの OpenShift へのデプロイ
  • OpenShift Post Deployment Task

分散可能な Web サブシステムの新しい Galleon レイヤー

JBoss EAP は web-passivation レイヤーを提供し、ローカルの Web コンテナーキャッシュで設定された distributable-web サブシステムを提供します。web-passivation レイヤーはデコレーターレイヤーです。

2.13. Red Hat CodeReady Workspaces (CRW)

Red Hat CodeReady Workspaces は JBoss EAP 7.4 開発ファイルをサポートします。

JBoss EAP 7.4 開発ファイル YAML ファイルを使用して、CRW での JBoss EAP 開発環境を定義できます。jboss-eap-quickstarts GitHub の Web ページから JBoss EAP 7.4 開発ファイルのサンプルをダウンロードできます。

開発ファイルには、以下のコンポーネントが含まれます。

  • ブラウザー IDE 設定
  • 事前定義されたコマンドの一覧
  • アプリケーションランタイム環境
  • クローンが必要なリポジトリーの場所

CRW では、JBoss EAP 7.4 ワークスペース環境を作成するには、以下のいずれかの方法を選択できます。

  • JBoss EAP 開発ファイルの URL をコピーして、CRW ダッシュボードの Get Started ページの Devfile セクションに直接貼り付けます。Load devfile ボタンを選択し、開発ファイルを CRW ダッシュボードに追加する必要があります。
  • OpenShift で CRW インスタンスを開き、JBoss EAP 開発ファイルの URL を Workspace メニューの Devfile タブに入力します。開発ファイルを保存し、CRW インスタンスを再起動します。
重要

JBoss EAP 7.4 ワークスペース環境で Java 8 開発ファイルを使用する場合は、Java 8 プラグインと競合するため、Java 11 プラグインをインストールしないでください。

関連情報

  • JBoss EAP 7.4 開発ファイルのサンプルをダウンロードする方法については、GitHub Web ページの jboss-eap-quickstarts ディレクトリーの kitchensink-jsp サブディレクトリーを参照してください。
  • JBoss EAP 7.4 と互換性のある最新バージョンの CRW のダウンロードおよびインストールに関する詳細は、CRW のインストールガイドCodeReady Workspaces のインストール を参照してください。
  • CRW の設定に関する詳細は、CRW のエンドユーザーガイドCodeReady Workspaces 2.9 ワークスペースの設定 を参照してください。

第3章 サポートされない機能

3.1. サポートされない特性

メンテナンスコストの高さ、コミュニティーでの関心の低さ、および高性能な代替ソリューションの存在などが理由で、一部の技術がサポート対象外になりました。

プラットフォームおよび機能

JBoss EAP のバージョン 7.1 で以下のプラットフォームが非推奨になりました。以下のプラットフォームは JBoss EAP 7.4 ではテストされていません。

  • x86_64 上の Oracle Solaris 10
  • SPARC64 上の Oracle Solaris 10
  • x86_64 上の Oracle Solaris 11
  • SPARC64 上の Oracle Solaris 11

JBoss EAP 7.4 には、上記のプラットフォーム用の Wildfly SSL ネイティブが含まれません。そのため、Oracle Solaris プラットフォームでの SSL 操作は、以前の JBoss EAP バージョンよりも速度が遅くなる可能性があります。

データベースおよびデータベースコネクター

  • IBM DB2 11.1
  • PostgreSQL/EnterpriseDB 11
  • MariaDB 10.1
  • MS SQL 2017

Lightweight Directory Access Protocol (LDAP) サーバー

  • Red Hat Directory Server 10.0
  • Red Hat Directory Server 10.1

キーストアと Java jdk8u292-b10 の不具合

JBoss EAP を Java jdk8u292-b10 で実行し、レガシーセキュリティーレルムまたは Elyton Lightweight Directory Access Protocol (LDAP) キーストアを使用している場合は、Public-Key Cryptography Standards (PKCS) #12 キーストアを使用できません。回避策は、PKCS #12 キーストアの強力なデフォルトの鍵保護アルゴリズムを使用するように JBoss EAP のインスタンスを設定します。他の Elytron キーストアタイプは、この問題の影響を受けません。

RESTEasy パラメーター

RESTEasy には、サーブレットのリソースおよびプロバイダーの自動スキャンを実行する Servlet 3.0 ServletContainerInitializer 統合インターフェイスが同梱されています。コンテナーは、この統合インターフェイスを使用してアプリケーションを起動できます。そのため、以下の RESTEasy パラメーターの使用はサポート対象外となりました。

  • resteasy.scan
  • resteasy.scan.providers
  • resteasy.scan.resources

MicroProfile 機能

JBoss EAP 7.3 のテクノロジープレビューとして含まれていた以下の MicroProfile 機能は、JBoss EAP 7.4 または今後のバージョンでは含まれていません。

  • MicroProfile Config
  • MicroProfile REST クライアント
  • MicroProfile Health

    JBoss EAP には microprofile-smallrye-health サブシステムが含まれなくなったため、アプリケーションのヘルスチェックは利用できなくなりました。JBoss EAP には、サーバーランタイムのヘルスチェックが継続して含まれます。

  • MicroProfile Metrics

    JBoss EAP には microprofile-smallrye-metrics サブシステムが含まれなくなったため、アプリケーションメトリクスが利用できなくなりました。JBoss EAP には継続して JVM およびサーバーメトリクスのエンドポイントが含まれます。

  • MicroProfile OpenTracing

    MicroProfile OpenTracing は observability デコレーターレイヤーに含まれるようになりました。

これらの機能は JBoss EAP 拡張パック (JBoss EAP XP) に含まれるようになりました。JBoss EAP で MicroProfile を完全サポートするには、JBoss EAP XP をインストールします。

MicroProfile および JBoss EAP XP のサポートに関する詳細は、the JBoss EAP XP lifecycle and support policies page を参照してください。

Red Hat JBoss Operations Network

JBoss EAP バージョン 7.2 以降、JBoss EAP 管理への Red Hat JBoss Operations Network (JON) の使用は非推奨となりました。JBoss EAP 7.4 では、JBoss EAP 管理に対する Red Hat JON のサポートは非推奨になりました。

MS SQL Server 2017

MS SQL Server 2017 は JBoss EAP 7.4 ではサポートされません。

Microsoft Windows Server 2012

Microsoft Azure で JBoss EAP 7.4 を使用する場合、JBoss EAP 7.4 は Microsoft Windows Server 2012 仮想オペレーティングシステムの使用をサポートしません。

3.2. 非推奨の機能

本リリースでは一部の機能が非推奨になりました。非推奨の機能には改良が加えられず、将来的 (通常は次のメジャーリリース) に削除される可能性があります。

Red Hat は標準のサポート条件に基づき、継続して完全サポートおよびバグ修正を提供します。Red Hat のサポートポリシーに関する詳細は、Red Hat カスタマーポータルに記載されている Red Hat JBoss Middleware の製品更新とサポートポリシー を参照してください。

非推奨となった機能の詳細は、Red Hat カスタマーポータルに記載されている JBoss Enterprise Application Platform コンポーネントの詳細 を参照してください。

プラットフォームおよび機能

本リリースでは、以下のプラットフォームおよび機能のサポートが非推奨となりました。

Eclipse MicroProfile REST Client API

Eclipse MicroProfile REST Client API は、jaxrs サブシステムから非推奨となりました。

OpenShift Container Platform 3.11

OpenShift Container Platform (OCP) 3.11 は JBoss EAP 7.4 で非推奨となりました。

オペレーティングシステム

  • Microsoft Windows Server on i686
  • Red Hat Enterprise Linux (RHEL) 6 on i686
注記

上記のプラットフォームのサポートはこれまでの JBoss EAP リリースで非推奨となりましたが、プラットフォームにリンクされたアーティファクトやリソースは削除されていませんでした (wildfly-openssl ネイティブライブラリーバインディングなど)。Red Hat JBoss Enterprise Application Platform 7.4 では、これらのアーティファクトおよびリソースが削除されました。

OpenJDK11 OpenShift イメージは複数のアーキテクチャーをサポートします

IBM Z および IBM Power Systems の OpenJ9 イメージは非推奨となりました。以下の OpenJDK11 Builder イメージおよび Runtime イメージが更新され、複数のアーキテクチャーをサポートするようになりました。

  • jboss-eap-7/eap74-openjdk11-openshift-rhel8 (Builder イメージ)
  • jboss-eap-7/eap74-openjdk11-runtime-openshift-rhel8 (Runtime イメージ)

OpenJDK11 イメージは、次のアーキテクチャーで使用できます。

  • x86 (x86_64)
  • s390x (IBM Z)
  • ppc64le (IBM Power Systems)

OpenJDK11 イメージで OpenJ9 Java Virtual Machine (JVM) を使用する場合は、Java Change in Power and Z OpenShift Images を参照してください。

Spring BOM

Red Hat Maven リポジトリーにある以下の Spring BOM が非推奨になりました。

  • jboss-eap-jakartaee8-with-spring4

Red Hat は、Red Hat JBoss Enterprise Application Platform 7.4 で実行される Spring アプリケーションをテストしますが、JBoss EAP 7.4 でアプリケーションを開発するには最新バージョンの Spring Framework とその BOM (例: x.y.z.RELEASE) を使用する必要があります。

Spring Framework のバージョンの詳細は、Spring Framework Versions on GitHubを参照してください。

BOM

既存の BOM は、JBoss EAP の次のメジャーバージョンの機能に関連する BOM (おそらく既存の BOM の一部などを含む) を提供するビューで非推奨となりました。

Java Development Kits (JDK)
  • JDK 8
  • JDK 11

    注記

将来の JBoss EAP リリースでは、Java SE 要件は、業界 (Jakarta EE 10 以降、MicroProfile など) と市場のニーズに基づいて再評価されます。

JBoss EAP OpenShift テンプレート

OpenShift 向けの JBoss EAP テンプレートが非推奨になりました。

eap74-beta-starter-s2i.json および eap73-third-party-db-s2i.json テンプレート

eap74-beta-starter-s2i.json および eap74-beta-third-party-db-s2i.json テンプレートは非推奨となり、JBoss EAP 7.4.0.GA で削除されます。

レガシーセキュリティーサブシステム

org.jboss.as.security 拡張と、この拡張がサポートするレガシーび security サブシステムは非推奨になりました。セキュリティー実装を security サブシステムから elytron サブシステムに移行します。

org.wildfly.extension.picketlink 拡張およびこの拡張をサポートする picketlink-federationpicketlink-identity-management サブシステムが非推奨になりました。シングルサインオン実装を Red Hat Single Sign-On に移行してください。

PicketBox

本リリースでは、レガシー security サブシステムおよび core-service=vault カーネル管理リソースを使用したアクセスを含む PicketBox ベースのセキュリティー vault が非推奨になりました。

以前の JBoss EAP バージョンの管理対象ドメインサポート

JBoss EAP 7.4 の管理対象ドメインで JBoss EAP 7.3 以前のバージョンを実行しているホストのサポートは非推奨になりました。管理対象ドメインのホストを JBoss EAP 7.4 に移行します。

JBoss EAP 7.3 以前からの名前空間を使用するサーバー設定ファイル

本リリースでは、JBoss EAP 7.3 からの名前空間が含まれるサーバー設定ファイル (standalone.xmlhost.xmldomain.xml) の使用は非推奨となりました。JBoss EAP 7.4 の namespace を使用するようにサーバー設定ファイルを更新します。

JBoss EAP Server Side JavaScript サポート

以前のバージョンでは、JBoss EAP Server Side JavaScript サポートはテクノロジープレビューとして提供されていました。本リリースでは非推奨になりました。

Agroal サブシステム

datasources-agroal サブシステムは非推奨になりました。

Codehaus Jackson

現在サポートされていない Codehaus Jackson 1.x モジュールは JBoss EAP 7.4 で非推奨になりました。

application-security-domain リソース

ejb3 サブシステムおよび undertow サブシステムの application-security-domain リソースは非推奨になりました。

クラスターリングサブシステム

クラスターリングサブシステムの次のリソースは非推奨です。

  • infinispan サブシステム
/subsystem=infinispan/remote-cache-container=*/component=transaction
/subsystem=infinispan/remote-cache-container=*/near-cache=*
  • jgroups サブシステム
/subsystem=jgroups/stack=*/protocol=S3_PING
/subsystem=jgroups/stack=*/protocol=GOOGLE_PING
Salted Challenge Response Authentication メカニズム

以下の Salted Challenge Response Authentication Mechanisms (SCRAM) およびそのチャンネルバインディングバリアントが非推奨になりました。

  • SCRAM-SHA-512
  • SCRAM-SHA-384
クイックスタート

既存のクイックスタートは、JBoss EAP の次のメジャーバージョンの機能に関連するクイックスタート (おそらく既存のクイックスタートの一部などを含む) を提供するビューで非推奨となりました。

Hibernate ORM 5.1

Hibernate ORM 5.1 ネイティブ API バイトコードトランスフォーマーは、最初に導入されて以来、常に非推奨になっています。

HornetQ メッセージングクライアント

HornetQ メッセージングクライアントは非推奨になりました。

第4章 解決した問題

本リリースで解決した重大な問題のリストは、Resolved Issues for JBoss EAP 7.4 を参照してください。

この他に、以下に注意してください。

  • OpenShift は Source-to-Image ビルドの完了後に、ソースディレクトリー (/tmp/src) を消去するようになりました。この変更により、ビルドするイメージのサイズを小さくする必要があります。

第5章 修正された CVE

JBoss EAP 7.4 には、以下のセキュリティー関連の問題修正が含まれています。

  • CVE-2020-14317: WildFly: JBoss EAP では、プロセス ID 番号 (PID) ファイルの競合状態により、ローカルユーザーが任意のプロセスを終了できるようになります。

第6章 既知の問題

本リリースでの既知の問題の一覧は、Known Issues for JBoss EAP 7.4 GA を参照してください。

6.1. JBoss EAP 7.4 の動作の変更

OPENSHIFT_DNS_PING_SERVICE_NAME を空の値に設定すると、

OPENSHIFT_DNS_PING_SERVICE_NAME には空の値を設定しないでください。起動エラーが発生し、クラスターリングは無効になります。

予測できない Web セッションの有効期限

以前のバージョンでは、JBoss EAP は一部の Web セッションタイムアウトを誤って再計算し、これらのセッションは web アプリケーション設定ファイル (web.xmljboss- web.xmljboss-all .xml など) に指定されるように期限切れとなっていました。JBoss EAP はこの間違いの計算を実行しなくなったため、Web セッションはアプリケーション設定に指定されているように期限切れになりました。

WebInjectionContainer で管理 Bean をキャッシュするときの分散 JSF アプリケーションのメモリーリーク

サーバーの起動または停止などの JBoss EAP クラスターのメンバーシップの変更により、指定のセッションに対応するイベントが、これらのイベントが最後に処理されたものとは異なるクラスターメンバーで再開される可能性があります。具体的には、org.jboss.as.web.common.WebInjectionContainer キャッシュがすべての管理対象 bean およびその参照を参照し、ManagedReference.release を呼び出すことができるように、メモリーリークが発生します。この問題は、JBoss EAP の高可用性 (HA) サーバー設定を使用する分散 Jakarta Server Faces (JSF) アプリケーションに影響します。別のクラスターメンバーが有効期限を処理すると、関連付けられた HTTP セッションの期限が切れるとセッションスコープの Bean への参照が永続できます。回避策として、以下の例のように distributable-web サブシステムを変更します。

/subsystem=distributable-web/infinispan-session-management=default/affinity=local:add

ibm-java-1.8 および Bouncy Castle を使用する場合の java.lang.NullPointerException エラー

JBoss EAP で IBM JDK 1.8 と Bouncy Castle プロバイダーを直接もしくは間接的に使用すると、以下のエラーが発生する可能性があります。

Caused by: java.lang.NullPointerException
	at org.bouncycastle.jcajce.provider.asymmetric.rsa.BCRSAPrivateKey.getAlgorithm(BCRSAPrivateKey.java:79)
	at com.ibm.crypto.provider.bf.supportsParameter(Unknown Source)
	at javax.crypto.Cipher.a(Unknown Source)
	at javax.crypto.Cipher.init(Unknown Source)
	at javax.crypto.Cipher.init(Unknown Source)
	at org.bouncycastle.operator.jcajce.JceAsymmetricKeyUnwrapper.generateUnwrappedKey(JceAsymmetricKeyUnwrapper.java:109)
	at org.bouncycastle.cms.jcajce.JceKeyTransRecipient.extractSecretKey(JceKeyTransRecipient.java:208)
	at org.bouncycastle.cms.jcajce.JceKeyTransEnvelopedRecipient.getRecipientOperator(JceKeyTransEnvelopedRecipient.java:26)
	at org.bouncycastle.cms.KeyTransRecipientInformation.getRecipientOperator(KeyTransRecipientInformation.java:48)
	at org.bouncycastle.cms.RecipientInformation.getContentStream(RecipientInformation.java:169)
	at org.bouncycastle.cms.RecipientInformation.getContent(RecipientInformation.java:150)
	at org.jboss.resteasy.security.smime.EnvelopedInputImpl.getEntity(EnvelopedInputImpl.java:168)
	... 76 more

この問題を回避するには、WFLY-14688 diff と同じように JBoss EAP の module.xml 構造を変更します。これは、追加リソースセクションでアクセスできます。

関連情報

  • この問題を回避する方法は、WFLY-14688 diff を参照してください。
  • Bouncy Castle 暗号化 API の詳細は、bouncycastle.org を参照してください。





改訂日時: 2024-02-08

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.