7.4.0 リリースノート
Red Hat JBoss Enterprise Application Platform 7.4 向け
概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。多様性を受け入れる用語に変更する取り組みの詳細は、弊社の CTO、Chris Wright のメッセージ を参照してください。
Red Hat ドキュメントへのフィードバック
弊社のドキュメントに関するご意見やご感想をお寄せください。フィードバックをお寄せいただくには、ドキュメントのテキストを強調表示し、コメントを追加できます。以下の手順に従って、Red Hat ドキュメントのフィードバックをお寄せください。
前提条件
- Red Hat カスタマーポータルにログインする。
- Red Hat カスタマーポータルで、Multi-page HTML 形式のドキュメントを表示する。
手順
フィードバック をクリックして、既存のリーダーコメントを表示します。
注記フィードバック機能は、マルチページ HTML 形式でのみ有効です。
- フィードバックを提供するドキュメントのセクションを強調表示します。
選択したテキストの近くに表示されるプロンプトメニューで、Add Feedback をクリックします。
ページの右側のフィードバックセクションにテキストボックスが開きます。
テキストボックスにフィードバックを入力し、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
に以下の属性を設定できます。
属性 | 説明 |
---|---|
| 照合するリモートクライアントの IP アドレス (複数可) を指定する正規表現。 |
| リモートクライアントの IP アドレスを指定します。 |
|
リモートクライアントの IP アドレスが |
管理対象エクゼキューターサービスのランタイム統計の公開
以前の 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
に以下の属性を設定できます。
属性 | 説明 |
---|---|
| 照合するリモートクライアントの IP アドレス (複数可) を指定する正規表現。 |
| リモートクライアントの IP アドレスを指定します。 |
|
リモートクライアントの IP アドレスが |
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.skipquerydetach
を true
として 設定し、永続コンテキストが閉じられるときにクエリー結果をデタッチするようにトランザクションスコープの永続コンテキストを設定します。これにより、標準以外の仕様拡張が有効になります。
非スタンドアロン仕様の拡張子 jboss.as.jpa.deferdetach
が true
に設定されているアプリケーションでは、wildfly.jpa.skipquerydetach
を true
に設定することもできます。
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
パラメーターからパラメーターを収集する古いメソッドにフォールバックします。
SameSite cookie 属性の設定
現在の 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_CUSTOM_FEATURE_PACKS_MAVEN_REPO=<PATH> |
<path> は、カスタム feature-packs を含む Maven ローカルリポジトリーディレクトリーの絶対パスです。ディレクトリーのデフォルトは |
GALLEON_PROVISION_FEATURE_PACKS=<LIST_OF_GALLEON_FEATURE_PACKS> | <LIST_OF_GALLEON_FEATURE_PACKS> は、Maven コーディネートによって識別されるカスタム Galleon feature-packs のコンマ区切りリストです。一覧表示されている feature-packs は、ビルダーイメージにある JBoss EAP 7.4 サーバーのバージョンと互換性がある必要があります。
|
読み取り専用サーバー設定ディレクトリー
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
サブシステムに移行します。
PicketLink
org.wildfly.extension.picketlink
拡張およびこの拡張をサポートする picketlink-federation
と picketlink-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.xml
、host.xml
、 domain.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.xml
、jboss- web.xml
、jboss-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 を参照してください。
Revised on 2023-01-28 12:10:07 +1000