[17.0.0.4 and later]

Liberty での JavaServer Faces 2.2 の構成

Liberty に JavaServer Faces (JSF) 2.2 フィーチャーを構成することができます。このフィーチャーは、JSF 2.2 仕様の完全なサポートを提供します。

このタスクについて

Liberty JSF 実装は、MyFaces オープン・ソース実装に基づきます。JSF 2.2 に対応したアプリケーションを実行できるように Liberty サーバーを構成するには、<jsf-2.2> フィーチャーを設定する必要があります。

手順

server.xml ファイルを更新して、<jsf-2.2> フィーチャーを追加します。 以下に例を示します。
<featureManager>
	<feature>jsf-2.2</feature>
</featureManager>
重要:
JavaServer Faces 2.2 を使用するときには、以下の点を考慮してください。
  • JSF 2.2 フィーチャーは、JSF 2.0 フィーチャーがするような Bean 検証フィーチャーの暗黙的なロードは行いません。アプリケーションを JSF 2.0 から JSF 2.2 にマイグレーションし、かつ、アプリケーションが Bean 検証を使用する場合は、 beanValidation-1.1 フィーチャーも有効にする必要があります。
  • JSF 2.2 フィーチャーは、servlet-3.1 フィーチャー、jsp-2.3 フィーチャー、 および el-3.0 フィーチャーを必要とします。server.xml ファイル内で JSF 2.2 フィーチャーを有効にする場合、 これらのフィーチャーも有効になります。
  • JSF 2.2 フィーチャーを Java EE 6 フィーチャー (servlet-3.0jsp-2.2cdi-1.0 など) と一緒に実行することはできません。
  • サーバー・インスタンスごとに、JSF 2.0 フィーチャーか JSF 2.2 フィーチャーかの実装を選択できますが、動作変更を考慮する必要があります。 必要な動作が JSF 2.2 フィーチャーのみに含まれている場合は、JSF 2.2 フィーチャーを使用する必要があります。JSF 2.2 フィーチャーにおける動作変更が既存のアプリケーションに悪影響を与える可能性がある場合は、 そのアプリケーション用の既存の動作を保持するために JSF 2.0 フィーチャーを使用してください。
  • 同じ Liberty サーバーで JSF 2.0 と JSF 2.2 の両フィーチャーを使用することはできません。両方のフィーチャーが構成されると、エラーが生成されます。
    CWWKF0033E: singleton フィーチャー jsf-2.0 と jsf-2.2 は、同時にロードできません。構成済みフィーチャー jsf-2.0 と jsf-2.2 には、競合の原因となるフィーチャーが 1 つ以上組み込まれています。ご使用の構成はサポートされていません。server.xml を更新して、両立しないフィーチャーを削除してください。
  • JSF 2.2 は前のリリース (JSF 2.1、JSF 2.0 など) と互換性がありますが、以下の例外を考慮してください。
    • 前のリリースの JSF 仕様では誤りがあったため例外が消えてしまっていましたが、現在は例外ハンドラーに伝搬されるようになりました。JSF 2.2 仕様の概要セクションで以前のバージョンとの後方互換性についての説明を参照してください。
    • Composite Component Attribute ELResolver および Composite Computer Metadata の仕様に変更が加えられました。JSF 2.2 仕様の概要セクションで以前のバージョンとの後方互換性についての説明を参照してください。

タスクの結果

JSF 2.2 フィーチャーが有効になり、実行時に Liberty サーバーにロードされます。

次のタスク

FlowBuilder API を使用して FlowBuilder アノテーションの付いたフローを作成するには、 関連する CDI プロデューサー・メソッドが Managed Bean クラスまたはセッション Bean クラス内で宣言されている必要があります。クラスが CDI によって正しく管理されることを確実にするには、プロデューサー・メソッド・クラスを (スコープを付与することによって) Managed Bean として定義するか、 または、CDI bean-discovery-mode を all に設定します。Web アーカイブの beans.xml ファイル内で CDI bean-discovery-mode を all に設定できます。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" 	bean-discovery-mode="all">
</beans>

トピックのタイプを示すアイコン タスク・トピック

ファイル名: twlp_config_jsf22.html