検索

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

download PDF

2.1. Java EE 8

Java EE 8 のサポート

JBoss EAP 7.2 には、以下の Java EE 8 標準のサポートが含まれています。

Java EE 8 のセキュリティーサポート

Java EE 8 には、認証およびアイデンティティーストアの移植可能なプラグインインターフェースである JSR 375 のサポートと、プログラムによるセキュリティーのアクセスポイントを提供する新しい injectable-type SecurityContext インターフェースのサポートが含まれます。これらの API に組み込まれた実装を使用するか、カスタム実装を定義することができます。

JBoss EAP 7.2 は JSR 375 をサポートするようになりました。

2.2. セキュリティー

Red Hat シングルサインオンによる JBoss EAP 管理コンソールのセキュア化

Red Hat シングルサインオンを設定して、JBoss EAP 管理コンソールの認証を管理できるようになりました。

詳細は、『How to Configure Server Security』の「Secure the Management Console with Red Hat Single Sign-On」を参照してください。

SSL の必要時にサーバーが非 SSL IIOP ソケットをブロック

IIOP サブシステムで server-requires-ssl 属性が true に設定されている場合、サーバーが SSL でないソケットへの接続をブロックするようになりました。

BouncyCastle プロバイダーを使用した FIPS 140-2 対応の暗号化

elytron サブシステムを使用すると、BouncyCastle プロバイダーを使用して JBoss EAP の FIPS 対応インスタンスを設定できます。完全な手順は『How to Configure Server Security』の「Enable FIPS 140-2 Cryptography for SSL/TLS Using BouncyCastle」を参照してください。

BouncyCastle プロバイダーを使用した FIPS 140-2 対応クレデンシャルストアの定義

BouncyCastle プロバイダーを使用して、FIPS 対応のクレデンシャルストアを取得できます。これらのクレデンシャルストアは、以下の方法のいずれかを使用して定義できます。

CLI セキュリティーコマンドを使用した管理インターフェースの SASL 認証の有効化

security enable-sasl-management CLI コマンドを使用して、SASL 認証を管理インターフェースに対して有効にできるようになりました。このコマンドは、認証の設定に必要で存在しないリソースをすべて作成します。

詳細は、『How to Configure Server Security』の「Enable SASL Authentication for the Management Interfaces Using the CLI Security Command」を参照してください。

CLI セキュリティーコマンドを使用した HTTP認証の有効化

security CLI コマンドを使用して、Undertow セキュリティードメインおよび管理インターフェースに対して HTTP 認証を有効化できるようになりました。

  • Undertow セキュリティードメインの場合は security enable-http-auth-http-server CLI コマンドを使用します。
  • 管理インターフェースの場合は security enable-http-auth-management CLI コマンドを使用します。

詳細は、『How to Configure Server Security』の「Enable HTTP Authentication for Applications Using the CLI Security Command」と「Enable HTTP Authentication for the Management Interfaces Using the CLI Security Command」を参照してください。

2.3. サーバー管理

Git を使用した設定データの管理

Git を使用してサーバー設定データ、プロパティーファイル、およびデプロイメントを管理および永続化できるようになりました。これにより、バージョン履歴を管理できるだけでなく、1 つ以上の Git リポジトリーを使用して複数のサーバーおよびノード全体でサーバーやアプリケーションの設定を共有することができます。この機能は、デフォルトの設定ディレクトリーレイアウトを使用するスタンドアロンサーバーでのみ動作します。

詳細は『Configuration Guide』の「Using Git to Manage Configuration Data」を参照してください。

サーバーグループの Kill Servers 操作

管理対象ドメインのサーバーグループに kill-servers 操作を使用できるようになりました。これは、問題によってサーバーグループのすべてのサーバーがハングする場合に便利な操作で、各サーバーに kill 操作を実行しなくても、一度にすべてのサーバープロセスを kill することができます。

2.4. 管理 CLI

キーボード操作ショートカット

管理 CLI コマンドの編集時にキーボードのショートカットを使用できるようになりました。使用するキーボードのショートカットは、ご使用のプラットフォームに応じて異なります。サポートされるショートカットのリストは、『管理 CLI ガイド』の「キーボード操作ショートカットの使用」を参照してください。

HTTP 管理 API の出力の生成

echo-dmr コマンドは、1 つの行に内容を表示する新しい --compact 引数を提供します。管理 CLI 起動の引数である --output-json と使用すると、HTTP 管理 API によって直接消費される出力を生成することができます。

管理 CLI 出力のスクロール

管理 CLI の出力がターミナルウインドウよりも長い場合に、コンソール内部を直接スクロールできるようになりました。スクロールホイール、矢印キー、PgUpPgDnHome、および End キーを使用して出力内を移動できます。

Windows では、この機能は Windows Server 2016 より使用可能です。他のオペレーティングシステムでは問題はありません。

管理 CLI 出力の検索

管理 CLI で複数ページの出力を検索できるようになりました。詳細は『管理 CLI ガイド』の「複数ページの出力の検索』を参照してください。

CLI のカラー出力

管理 CLI を設定して、ログメッセージの出力タイプに応じて CLI ログをカラーで出力できるようになりました。使用可能な色やカラー出力を有効または無効にする方法に関する詳細は、『管理 CLI ガイド』の「管理 CLI の設定」を参照してください。

進化したヘルプ

管理 CLI の help 機能がアップデートされ、ヘルプ情報へのアクセスが容易になりました。help コマンドにタブ補完を使用できるようになり、管理 CLI 操作とコマンド動作のヘルプ情報も表示できるようになりました。

管理 CLI help コマンドの使用に関する詳細は、『管理 CLI ガイド』を参照してください。

必須属性の表示

管理 CLI でタブ補完を使用すると、現在の操作で必要な属性に * が付きます。

/subsystem=naming/binding=test:add( [TAB]
!              class          module
binding-type*  environment    type
cache          lookup         value

上記の例では、/subsystem=naming/binding=test:add( の入力後に Tab を押すと使用可能な属性が表示され、この操作で必要な属性は binding-type であることが示されます。

複数ページの出力の表示

管理 CLI を対話モードで実行し、操作によって複数のページが出力される場合、コマンドプロセッサーは最初のページの最後で画面を停止します。これにより、出力を 1 行または 1 ページごとに確認することができます。複数のページが出力されると、出力の最後に --More(NNN%)-- という行のテキストが表示されます。

管理 CLI コマンドの実行時に 複数のページが出力された場合は、『管理 CLI ガイド』で使用できるオプションを確認してください。

for-done 制御フローの使用

管理 CLI で for-done 制御フローを使用すると、操作から返されたコレクションでイテレートを行い、コレクションの各項目にコマンドを実行することができます。

詳細は、『管理 CLI ガイド』の「for-done 制御フローの使用」を参照してください。

JSON 形式の操作応答の出力

管理 CLI を設定して、操作応答を純粋な JSON 形式で出力することができます。これには、EAP_HOME/bin/jboss-cli.xml ファイルで output-json 要素を true に設定するか、管理 CLI の起動時に --output-json を渡します。デフォルトでは、操作応答は DMR 形式で表示されます。

出力のリダイレクト

管理 CLI 操作からターミナルに出力する代わりに、以下の演算子を使用して出力をリダイレクトすることができます。

  • >: 出力をファイルシステムのファイルに書き込みます。
  • >>: 出力をファイルシステムのファイルに追加します。
  • |: 出力を grep コマンドにリダイレクトして出力の検索を行います。

詳細は、『管理 CLI ガイド』の「出力のリダイレクト」参照してください。

統一された deployment コマンド

管理 CLI の deployment コマンドを使用すると、統一されたインターフェースを使用してデプロイメントを管理でき、デプロイメントのデプロイ、アンデプロイ、有効化、無効化、またはデプロイメントに関する情報の表示を行うことができます。

詳細は、『Configuration Guide』の「Deploy an Application to a Standalone Server Using the Management CLI」および「Deploy an Application in a Managed Domain Using the Management CLI」を参照してください。

2.5. 管理コンソール

トポロジービュー

管理対象ドメインでは、ドメインのホスト、サーバーグループ、およびサーバーの概要と、各サーバーの状態を確認できるようになりました。これには、Runtime タブから Topology を選択します。

リソースを表示するときに上部にある Breadcrumb バーを使用できます。このバーを使用するとリソースの切り替えが容易になります。Breadcrumb バーから別のウインドウにリソースを開くこともでき、エキスパートモードに切り替えて管理モデルを閲覧することもできます。

本リリースには、JBoss EAP のリソースをナビゲートするための新しいインターフェースが導入されました。矢印キーを使用して、リソースファインダーを移動でき、頻繁に使用する項目をリストの上部に固定することができます。また、迅速な検索のために絞り込みを行ったり、プレビューからリソースの主な属性を確認することもできます。

デプロイメントの改良

本リリースでは、管理コンソールを利用したアプリケーションのデプロイおよび管理のサポートが追加されました。ドラッグアンドドロップによるデプロイメントの追加または置換、デプロイメントコンテンツの閲覧によるテキストおよびイメージのプレビュー、デプロイメントのダウンロード、および展開形式のデプロイメントの作成を実行できます。

管理コンソールの SSL ウィザードの有効化

管理コンソールによって使用される、HTTP 管理インターフェースの SSL を有効にするためのウィザードが導入されました。このウィザードを使用すると、任意で相互認証のトラストストアを作成でき、以下のキーストアのシナリオを選択できます。

  • 証明書ストアを作成し、自己署名証明書を生成する。
  • 証明書ストアはすでにファイルシステムにあるが、キーストアの設定がない。
  • 有効な証明書ストアを使用するキーストアの設定が存在する。

スタンドアロンサーバーでウィザードにアクセスするには、Runtime タブを選択し、該当するサーバーの 表示 をクリックします。HTTP 管理インターフェース を選択し、SSL の有効化 ボタンをクリックします。

管理対象ドメインでウィザードにアクセスするには、Runtime タブを選択し、ホスト をクリックします。該当するホストを選択して 表示 管理インターフェース HTTP と選択し、SSLの有効化 ボタンをクリックします。

Undertow HTTPS リスナーの SSL ウィザードの有効化

Undertow HTTPS リスナーの SSL を有効にするためのウィザードが導入されました。このウィザードを使用すると、任意で相互認証のトラストストアを作成でき、以下のキーストアのシナリオを選択できます。

  • 証明書ストアを作成し、自己署名証明書を生成する (管理対象ドメインでは使用不可)
  • 証明書ストアはすでにファイルシステムにあるが、キーストアの設定がない。
  • 有効な証明書ストアを使用するキーストアの設定が存在する。

スタンドアロンサーバーでウィザードにアクセスするには、 Configuration タブをクリックし、Subsystems Web (Undertow) Server と選択し、該当するサーバーの 表示 をクリックします。Listener HTTPS Listener と選択し、該当する HTTPS リスナーを選択して SSLの有効化 ボタンをクリックします。

管理対象ドメインサーバーでウィザードにアクセスするには、 Configuration タブをクリックし、ProfileWeb (Undertow) Server と選択し、該当するサーバーの 表示 をクリックします。Listener HTTPS Listener と選択し、該当する HTTPS リスナーを選択して SSLの有効化 ボタンをクリックします。

ロギングプロファイルの設定

管理コンソールを使用して、logging サブシステムでロギングプロファイルを設定できるようになりました。

Security Manager サブシステムの設定

管理コンソールからの security-manager サブシステムの設定がサポートされるようになりました。

Elytron コンポーネントの設定

管理コンソールを使用した以下の Elytron コンポーネントの設定がサポートされるようになりました。

  • マップされたロールマッパー
  • 認証局アカウント
  • カスタムのセキュリティーイベントリスナー

また、管理コンソールの Runtime タブから認証局アカウントのアカウントキーを作成、非アクティベート、更新、および変更できるようになりました。

セッションの詳細表示

管理コンソールを使用してデプロイメントの詳細なセッション情報を表示できるようになりました。

Runtime タブから該当するサーバーを選択し、Web (Undertow) Deployment と選択して 表示 をクリックします。Sessions ページの表には、すべてのアクティブなセッションの ID、作成時間、および最終アクセス時間が表示されます。また、セッションをクリックするとその属性が表示されます。

アクティブなセッションの無効化

管理コンソールを使用してデプロイメントのアクティブなセッションを無効化できるようになりました。

Runtime タブで該当するサーバーを選択し、Web(Undertow) Deployment と選択します。デプロイメントを選択し、表示 をクリックします。Sessions ページで無効にするセッション ID を選択し、Invalidate session をクリックします。表示されるポップアップウインドウの Yes をクリックしてセッションを無効にします。

散在 (scattered) キャッシュの設定

本リリースでは、infinispan サブシステムのキャッシュ設定内で設定できる散在 (scattered) キャッシュが導入されました。

さらに、散在 (scattered) キャッシュは hotrod キャッシュストアの使用をサポートします。

その他のサブシステム設定

以下のサブシステムは、Configuration タブで使用できるその他の設定オプションのために追加または改良されました。

  • MicroProfile Config SmallRye
  • EJB
  • Infinispan
  • JGroups
  • JMX
  • Messaging (ActiveMQ)
  • Resource Adapters
  • Security (Legacy)
  • Web (Undertow)

追加のサブシステム監視サポート

本リリースでは、Runtime タブで使用できる、以下のサブシステムの新規または改良された監視サポートが提供されます。

  • Batch (JBeret)
  • Datasources
  • JNDI
  • EJB
  • IO
  • JAX-RS
  • Messaging (ActiveMQ)
  • Transaction
  • Web (Undertow)
  • Webservices

2.6. Web Server

Undertow バイトバッファープール

Undertow バイトバッファープールを使用してプールされた NIO ByteBuffer インスタンスを割り当てできるようになりました。すべてのリスナーにバイトバッファープールがあり、異なるバッファープールやワーカーを各リスナーに使用できます。バイトバッファープールはサーバーインスタンス間で共有することができます。

詳細は、『Configuration Guide』の「Configuring Byte Buffer Pools」を参照してください。

Undertow は、アプリケーションによって作成されたクッキーに使用するデフォルトのクッキーバージョンの設定方法を提供するようになりました。新しいdefault-cookie-version 属性に関する情報は、『Configuration Guide』の「servlet-container Attributes」を参照してください。

URL でエスケープ処理されていない文字を使用可能

Undertow を設定して、エスケープ処理されていない文字を URL で使用できるようになりました。これには、HTTP、HTTPS、および AJP リスナーに対して allow-unescaped-characters-in-url 属性を設定します。この属性が true に設定されていると、リスナーはエスケープ処理されていない ASCII でない文字が含まれる URL を処理します。false に設定されている場合、リスナーはエスケープ処理されていない ASCII でない文字が含まれる URL を HTTP Bad Request 400 応答コードで拒否します。

listener 属性に関する詳細は、『Configuration Guide』の「Server Attributes」を参照してください。

PROXY プロトコル

Undertow は、The PROXY protocol Versions 1 & 2 仕様で定義されている PROXY プロトコルバージョン 1 をサポートするようになりました。このオプションはデフォルトで無効になっており、同じプロトコルをサポートするロードバランサーの背後のリスナーのみに対して有効にする必要があります。これは、Undertow HTTP および HTTPS リスナー上の新しい proxy-protocol 属性を使用して設定されます。

listener 属性に関する詳細は、『Configuration Guide』の「Server Attributes」を参照してください。

Forwarded HTTP 拡張

JBoss EAP 7.2 には、RFC 7239 を実装する Forwarded ハンドラーが導入され、リバースプロキシー背後のサーバーがヘッダー内のピアおよびローカルアドレスを受信できるようになりました。

通常、このハンドラーはリバースプロキシーで有効になっている X-Forwarded-* ヘッダーと使用してはなりません。そのため、このハンドラーを使用するか、Undertow リスナーの proxy-address-forwarding 属性を有効にする必要があります。

セッションマネージャーの操作

/deployment=DEPLOYMENT_NAME/subsystem=undertow で 管理 CLI から使用できるようになった、詳細なセッション情報を取得する操作は次のとおりです。

  • get-session-attribute: セッションの特定の属性を返します。
  • get-session-creation-time: セッション作成時間を ISO-8601 形式で取得します。
  • get-session-creation-time-millis: UNIX エポックからセッション作成までの時間をミリ秒単位で取得します。
  • get-session-last-accessed-time: セッションが最後にアクセスされた時間を ISO-8601 形式で取得します。
  • get-session-last-accessed-time-millis: UNIX エポックからセッション最終アクセスまでの時間をミリ秒単位で取得します。
  • list-session-attribute-names: session 属性名を表示します。
  • list-session-attributes: セッションのすべての属性を表示します。
  • list-sessions: アクティブなセッションをすべて表示します。

2.7. IO

新しい worker 属性

以前のリリースの JBoss EAP では、コアスレッドサイズは常に最大スレッドサイズと同じでした。そのため、task-keepalive 属性が設定された場合でもスレッドが停止しませんでした。本リリースでは、task-core-threads 属性を使用してコアスレッドプールのスレッド数を個別に設定できるようになったため、keepalive 設定が想定どおり動作するようになりました。

詳細は、JBoss EAP 『Configuration Guide』の「Configuring a Worker」および「IO Subsystem Attributes」を参照してください。

2.8. ロギング

ソケットログハンドラー

ソケットログハンドラーを設定して、ログメッセージを TCP または UDP ソケット上でリモートロギングサーバーへ送信できるようになりました。

詳細は、『Configuration Guide』の「Configure a Socket Log Handler」を参照してください。

JSON および XML フォーマッター

JSON および XML ログフォーマッターを使用してログメッセージを JSON または XML 形式に変換できます。

詳細は『Configuration Guide』の「Log Formatters」を参照してください。

2.9. トランザクション

新しい maximum-timeout トランザクションマネージャー属性

これまで、トランザクションタイムアウトを無制限のタイムアウトを意味する 0 に設定すると、トランザクションマネージャーはトランザクションタイムアウトの実際の値として Integer.MAX_VALUE を使用しました。最大整数値によって問題が発生することがあったため、トランザクションタイムアウト値の上限がより低くなりました。

新しい設定可能な属性である maximum-timeouttransactions サブシステムに追加されました。このデフォルト値は 31536000 秒 (365日) です。トランザクションに無制限のタイムアウトを設定すると、トランザクションマネージャーは maximum-timeout の値を使用するようになり、WARN メッセージで動作がログに記録されることを通知するようになりました。

2.10. Datasources

JDBC ドライバーのデータソースクラスプロパティーの取得

datasource-class-info ランタイム属性は、JDBC ドライバーのデータソースクラスに設定できるデータソース接続プロパティーのリストを提供します。管理コンソールを使用して XA データソースを追加または編集する場合や、非 XA データソースを編集する場合、properties フィールドはこのプロパティーのリストを候補として提供します。

注記

JDBC ドライバーは、表示されるプロパティーに対して設定された driver-datasource-class-name または driver-xa-datasource-class-name とともに作成されている必要があります。管理対象ドメインでプロパティーを表示するには、JDBC ドライバーが含まれるプロファイルに、実行中のサーバーがある必要があります。

詳細は『Configuration Guide』の「Datasource Attributes 」の表を参照してください。

2.11. EJB

HTTP/HTTPS 上の EJB および JNDI と HTTP ロードバランサー

リクエストが直接 HTTP リクエストにマップされるよう HTTP プロトコルを使用して EJB および JNDI 呼び出しを実行する機能が JBoss EAP 7.2 では完全サポートされるようになりました。また、EJB を HTTP ロードバランサー上で実行できます。詳細は『Developing EJB Applications』の「EJB Invocation Over HTTP」を参照してください。

コンテキストデータの EJBが クライアントへの返信

EJBClientInterceptor は、org.jboss.ejb.client.EJBClientInvocationContext#addReturnedContextDataKey(String key) を呼び出してサーバー側の呼び出しコンテキストから特定のデータをリクエストすることができます。要求したデータがコンテキストデータマップの提供されるキー以下に存在する場合、クライアントに送信されます。

2.12. JSF

JSF デプロイメントでの DOCTYPE 宣言の拒否

管理 CLI を使用して、JSF デプロイメントの DOCTYPE 宣言を拒否することができます。

詳細は『Configuration Guide』の「Disallowing DOCTYPE Declarations」を参照してください。

2.13. Hibernate

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

JBoss EAP 7.2 には Hibernate ORM 5.3 が含まれるようになりました。Hibernate ORM 5.3 には、Java 8 JDK を使用して構築され、実行時に Java 8 JRE を必要とした Hibernate ORM 5.2 の変更が含まれています。また、Hibernate ORM 5.3 には JPA 2.2 仕様のサポートも追加されています。この仕様に準拠するための変更やその他の改善内容が含まれています。

Hibernate ORM 5.2 および 5.3 で導入された機能に関する詳細と、アプリケーションを Hibernate ORM 5.1 から Hibernate ORM 5.3 に移行するために必要な事柄については、JBoss EAP『移行ガイド』の「Hibernate ORM 5.1 から Hibernate ORM 5.3 への移行」を参照してください。

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

JBoss EAP 7.2 には、JSR 380: Bean Validation 2.0 のリファレンス実装である Hibernate Validator 6.0.x が含まれています。

詳細は、JBoss EAP『開発ガイド』の「Bean Validation」を参照してください。

2.14. クラスタリング

改良された execute メソッドによって使用される CompletableFuture

本リリースでは、新しい Java EE 8 の CompletableFuture インターフェースを利用するために CommandDispatcher 非同期メソッドが改良されました。これにより、CommandDispatcher のコンシューマーはディスパッチしたコマンドの非ブロッキング処理を実装できます。

非推奨となったメソッド新たな推奨メソッド

executeOnNode

executeOnMember

executeOnCluster

executeOnGroup

submitOnNode

executeOnMember

submitOnCluster

executeOnGroup

詳細は、『開発ガイド』の「クラスタリングサービスのパブリック API」を参照してください。

2.15. Infinispan

HotRod クライアントインジェクション

@Resource JNDI インジェクションを使用して、HotRod クライアントをインジェクトし、リモート JDG クラスターに接続することができます。

詳細は、『Configuration Guide』の「Externalize HTTP Sessions to JBoss Data Grid」を参照してください。

非ブロッキングの初期状態遷移

状態遷移が完了するまで待たなくても、キャッシュが即座に利用可能になります。これは、キャッシュの timeout 属性を 0 に設定し、バックグラウンド操作にてキャッシュの状態を受信できるようにすると実現できます。

詳細は『Configuration Guide』の「State Transfer」を参照してください。

散在 (scattered) キャッシュモード

infinispan サブシステムは散在 (scattered) キャッシュモードをサポートするようになりました。散在 (scattered) モードは、一貫したハッシュアルゴリズムを使用して所有者を判断する分散モードと似ています。しかし、所有者は 2 人のメンバーに限定され、オリジネーター (指定のセッションのリクエストを受信するノード) は常にロックを調整する所有者やキャッシュエントリーのアップデートを想定します。散在 (scattered) モードで使用されるキャッシュ書き込みアルゴリズムは、書き込み操作の結果が単一の RPC 呼び出しになることを保証します。これにより、競合の可能性を下げ、クラスタートポロジーの変更後にパフォーマンスを向上することが可能になります。

詳細は『Configuration Guide』の「Clustering Modes」を参照してください。

リモートキャッシュストアを使用した HTTP セッションの外部化

HTTP セッションを JBoss Data Grid に外部化する新しいメソッドが本リリースに含まれています。このメソッドは、セキュリティーのためにクライアント SSL コンテキストが定義されている JBoss EAP の infinispan サブシステムにあるリモートキャッシュコンテナーを利用します。

管理 CLI および管理コンソールからリモートキャッシュコンテナーを設定できます。

詳細は、『Configuration Guide』の「Externalize HTTP Sessions to JBoss Data Grid」を参照してください。

2.16. Web サービス

JSON バインディングの Java API

RESTEasy は JSON-B と JSON-P の両方をサポートします。仕様によると、JsonValue とそのサブタイプを除き、すべてのタイプのエンティティーで、JSON-B のエンティティープロバイダーの優先度は JSON-P のエンティティープロバイダーよりも高くなります。

resteasy-json-binding-provider モジュールからの JsonBindingProvider は、JSON-B のサポートを提供します。JAX-RS 2.1 の要件を満たすため、JsonBindingProvider プロバイダーの優先度は、Jackson ペイロードなどの JSON ペイロードを処理する他のプロバイダーよりも高くなります。後方互換性を維持するには、resteasy.preferJacksonOverJsonB コンテキストプロパティーを true に設定し、現在のデプロイメントのJsonBindingProvider 設定を無効にします。

詳細は、JBoss EAP『Developing Web Services Applications』の「Java API for JSON Binding」を参照してください。

非同期 HTTP リクエストの処理

RESTEasy のデフォルトの非同期エンジン実装クラスは ApacheHttpAsyncClient4Engine です。ResteasyClientBuilder クラスで useAsyncHttpEngine メソッドを呼び出すと、非同期エンジンをアクティブなエンジンとして設定できます。

詳細は、JBoss EAP『Developing Web Services Applications』の「Asynchronous NIO Request Processing」を参照してください。

カスタム RESTEasy アノテーション

バイトコードにパラメーター名が追加されたため、@PathParam@QueryParam@FormParam@CookieParam@HeaderParam、および@MatrixParam アノテーションでパラメーター名を指定する必要がなくなりました。これには、任意の value パラメーターを持つ異なるパッケージで、同じ名前を持つ新しいアノテーションに切り替える必要があります。

詳細は、JBoss EAP『Developing Web Services Applications』の「Custom RESTEasy Annotations」を参照してください。

ParamConverter 機能の拡張

JAX-RS セマンティックでは、ParamConverter は各オブジェクトを表す単一の文字列を変換します。RESTEasy はセマンティックを拡張して、ParamConverter が複数オブジェクトの文字列表現を解析できるようにし、List<T>Set<T>SortedSet<T>、アレイ、またはその他の複数値のデータ構造の生成を可能にします。

詳細は、JBoss EAP『Developing Web Services Applications』の「Extending the Functionality of the ParamConverter」を参照してください。

リソースメソッドアルゴリズムの切り替え

3.0.25.Final より前の RESTEasy 3.0.x バージョンで使用されたリソースメソッド一致アルゴリズムでバグが見つかりました。このバグにより、リクエストの応答時に RESTEasy は余分なリソースメソッドを返しました。詳細は『移行ガイド 』の「JAX-RS および RESTEasy のアプリケーションの変更 」を参照してください。

RESTEasy サービスプロバイダーインターフェース

JBoss EAP は、ResourceBuilder を使用して作成されるリソースクラスメタデータを編集するための RESTEasy サービスプロバイダーインターフェース (SPI) を提供するようになりました。ResourceClassProcessor インターフェースの実装によって、メタデータ生成のカスタマイズが可能になります。

RESTEasy SPI に関する詳細は、JBoss EAP『Developing Web Services Applications』の「RESTEasy SPI to Modify Resource Metadata」を参照してください。

HTTP リダイレクトの JAX-RS クライアントサポート

Apache HttpClient をベースとする JAX-RS ClientHttpEngine 実装 は HTTP リダイレクトをサポートします。詳細は『Developing Web Services Applications』の「HTTP Redirect」を参照してください。

2.17. メッセージング

IBM MQ リソースアダプター

本リリースの JBoss EAP は以下の構成でテストされています。

  • IBM MQ 8.0.0.10 リソースアダプターは IBM MQ 8.0.0.x ブローカーに対してテストされました。バージョンが 8.0.0.0 から 8.0.0.9 までの IBM MQ リソースアダプターはサポートされません。
  • IBM MQ 9.0.0.4 リソースアダプターは IBM MQ 9.0.0.x ブローカーに対してテストされました。バージョンが 9.0.0.0 から 9.0.0.3 までの IBM MQ リソースアダプターはサポートされません。

IBM MQ リソースアダプターに関する詳細は、JBoss EAP『Configuring Messaging』の「Deploying the IBM MQ Resource Adapter」を参照してください。

JDBC データベースを使用したメッセージングジャーナルの永続化

本リリースの JBoss EAP では、現在サポートされている Oracle 12c データベースの他に、JDBC を使用してメッセージを永続化する場合に IBM DB2 Enterprise データベースをサポートします。

メッセージング JDBC 永続ストアの HA トポロジーのサポート

本リリースの JBoss EAP では、メッセージング JDBC 永続ストアの HA トポロジーをサポートします。詳細は、JBoss EAP『Configuring Messaging』の「Configuring HA for Messaging JDBC Persistence Store」を参照してください。

リモート Red Hat AMQ 7 メッセージングブローカーへの接続の簡略化

リモート Red Hat AMQ 7 メッセージングブローカーへ接続するのに、JBoss EAP の埋め込みメッセージングブローカーが必要なくなりました。リモート Red Hat AMQ ブローカーに直接接続するために必要なリソースは messaging-activemq サブシステムで定義できます。

統合された Artemis リソースアダプターを使用した Red Hat AMQ への接続

統合された Artemis リソースアダプターを設定し、JBoss EAP 7.2 アプリケーションの JMS プロバイダーとなる Red Hat AMQ 7 のリモートインストールへ接続することができます。これにより、JBoss EAP がリモート Red Hat AMQ 7 サーバーのクライアントになることができます。

詳細は、JBoss EAP『Configuring Messaging』の「Configuring the Artemis Resource Adapter to Connect to Red Hat JBoss AMQ 7」を参照してください。

2.18. OpenShift

JBoss EAP でネイティブに統合された KUBE_PING

これまで、KUBE_PING JGroups ディスカバリープロトコルは JBoss EAP OpenShift イメージにのみ実装されました。KUBE_PING は JBoss EAP にネイティブ実装されるようになったため、独自のカスタムコンテナーイメージを作成するユーザーはクラスター化されたアプリケーションでネイティブの KUBE_PING を使用できるようになりました。KUBE_PING の使用に関する詳細は、『Getting Started with JBoss EAP for OpenShift Container Platform』の「Clustering reference」を参照してください。

2.19. モジュール

事前定義されたモジュール

すべての JBoss モジュール API が含まれる org.jboss.modules は事前定義されたモジュールのセットで、デフォルトのモジュールローダーを使用する場合に JBoss EAP 7.2 でサポートされます。この特別なモジュールは常に利用可能で、JBoss Modules によって提供されます。Java 9 以上で提供される標準の Java Platform Module System (JPMS) モジュールも標準の名前で利用可能です。JDK 8 を使用する場合、JDK 9 モジュールは JBoss Module によってエミュレートされます。

詳細は『Configuration Guide』の「Predefined Modules」を参照してください。

2.20. クイックスタートおよび BOM

アプリケーションの開発に使用可能な JBoss EAP BOM

Java EE 8 のアップデートに伴い、JBoss EAP Maven BOM ファイルのアーティファクト ID が変更になりました。以下の表は、本リリースでアプリケーションの開発に使用できる Maven BOM を表しています。

BOM アーティファクト IDユースケース

jboss-eap-javaee8

JBoss EAP Java EE 8 API および追加の JBoss EAP API JAR をサポート。

jboss-eap-javaee8-with-spring4

jboss-eap-javaee8 および推奨される Spring 4 バージョン。

jboss-eap-javaee8-with-tools

jboss-eap-javaee8 および Arquillian などの開発ツール。

アプリケーション開発で使用できる BOM に関する詳細は、『開発ガイド』の「プロジェクト依存関係の管理」を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.