Configuration de Liberty pour JavaServer Faces 2.2

Vous pouvez configurer Liberty pour la fonction JavaServer Faces (JSF) 2.2, laquelle fournit une prise en charge complète pour la spécification the JSF 2.2.

Pourquoi et quand exécuter cette tâche

L'implémentation JSF de Liberty est basée sur l'implémentation en open source MyFaces. Pour configurer un serveur Liberty pour l'exécution d'une application qui est active pour JSF 2.2, vous devez activer la fonction <jsf-2.2>.

Procédure

Mettez à jour le fichier server.xml afin d'ajouter la fonction <jsf-2.2>. Par exemple :
<featureManager>
	<feature>jsf-2.2</feature>
</featureManager>
Important :
Tenez compte des éléments suivants lorsque vous utilisez JavaServer Faces 2.2 :
  • La fonction JSF 2.2 ne charge pas de manière implicite la fonction de validation de bean comme le fait la fonction JSF 2.0. Lorsque vous migrez votre application de JSF 2.0 vers JSF 2.2, et si votre application utilise la validation de bean, vous devez aussi activer la fonction beanValidation-1.1.
  • La fonction JSF 2.2 requiert les fonctions servlet-3.1, jsp-2.3, timedexit-1.0 et el-3.0. Lorsque la fonction JSF 2.2 est activée dans le fichier server.xml, chacune de ces fonctions est aussi activée.
  • Vous ne pouvez pas exécuter la fonction JSF 2.2 avec des fonctions Java EE, par exemple, servlet-3.0, jsp-2.2 et cdi-1.0.
  • Vous pouvez choisir d'implémenter JSF 2.0 et JSP 2.2 pour chaque instance de serveur, mais vous devez tenir compte des éventuelles modifications de comportement. Si le comportement souhaité est présent dans la fonction JSF 2.2, vous devez utiliser la fonction JSF 2.2. Si les modifications de comportement de JSF 2.2 sont susceptibles d'avoir un effet négatif sur une application existante, il est préférable dans ce cas d'utiliser JSF 2.0 afin de conserver le comportement existant pour cette application.
  • Il n'est pas possible d'utiliser en même temps les fonctions JSF 2.0 et JSP 2.2 sur un même serveur Liberty. Si ces deux fonctions sont configurées, cela génère une erreur :
    CWWKF0033E: Les fonctions de singleton jsf-2.0 et
    jsf-2.2 ne peuvent pas être chargées en même temps.  Les fonctions
    configurées jsf-2.0 et jsf-2.2 incluent une ou plusieurs fonctions
    qui causent le conflit. Votre configuration n'est pas prise en charge. Mettez à jour le fichier server.xml afin de supprimer les fonctions incompatibles.
  • JSF 2.2 est compatible avec les anciennes éditions, comme JSF 2.1 et JSF 2.0 ; cependant, vous devez tenir compte des exceptions suivantes :
    • Une erreur dans les versions précédentes de la spécification JSF a généré des exceptions qui sont désormais propagées au gestionnaire d'exceptions. Lisez la section "Read Backward Compatibility with Previous Versions" dans la section de présentation de la spécification JSF 2.2.
    • Modifications apportées à la spécification pour Composite Component Attribute ELResolver et Composite Computer Metadata. Lisez la section "Read Backward Compatibility with Previous Versions" dans la section de présentation de la spécification JSF 2.2.

Résultats

La fonction JSF 2.2 est activée et se charge dans le serveur Liberty lors de l'exécution.

Que faire ensuite

Pour utiliser l'API FlowBuilder afin de créer des flux avec des annotations FlowBuilder, il est nécessaire que la méthode de fournisseur de CDI pertinente soit déclarée dans un bean géré ou une classe de bean de session. Afin de garantir que la classe est correctement géré par CDI, définissez la classe de méthode de producteur en tant que bean géré (en lui donnant une portée), ou définissez CDI bean-discovery-mode sur all. Vous pouvez définir le mode CDI bean-discovery-mode sur all dans le fichier beans.xml de votre archive Web.
<?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>

Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_config_jsf22.html