40 votes

Le backing bean de JSF doit être sérialisable ?

Je reçois ces messages :

[#|2010-07-30T11:28:32.723+0000|WARNING|glassfish3.0.1|javax.faces|_ThreadID=37;_ThreadName=Thread-1;|Setting valeur d'attribut non sérialisable dans ViewMap : (clé : MyBackingBean, valeur classe : foo.bar.org.jsf.MyBackingBean)|#]

Cela signifie-t-il que mes haricots de soutien JSF doivent être sérialisables ? Ou s'agit-il d'un autre problème ?

65voto

BalusC Points 498232

Oui, vous l'avez bien compris. La vue est essentiellement stockée dans l'étendue de la session. Dans JSF, l'étendue de la session est soutenue par l'environnement de la servlet HttpSession . Tous les attributs de session sont censés mettre en œuvre Serializable En effet, un conteneur de services moyen peut conserver les données de session sur le disque dur pour pouvoir supporter une charge importante et/ou relancer les sessions lors du redémarrage du serveur.

Le stockage d'objets Java bruts sur le disque dur n'est possible que si la classe concernée met en œuvre la méthode suivante Serializable . Ensuite, ObjectOutputStream peut être utilisé pour les écrire sur le disque dur et ObjectInputStream pour les lire sur le disque dur. Le servletcontainer gère tout cela de manière transparente, vous n'avez pas à vous en soucier. JSF ne fait que vous avertir pour que vous compreniez les risques.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X