Bonjour,

Je déclare mes Beans JSF avec Spring grâce à un SpringBeanFacesELResolver déclaré comme ceci dans mon faces-config.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
	<application>
		<el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
	</application>
Tous mes Beans sont déclarés en scope session mais j'ai parfois besoin de les réinitialiser au sein d'une même session. J'ai donc écrit la méthode suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
public static void resetBean(String name) {
		FacesContext.getCurrentInstance().getELContext().getELResolver()
				.setValue(FacesContext.getCurrentInstance().getELContext(),
						null, name, null);
	}
Cela fonctionnait bien lorsque j'utilisais un DelegatingVariableResolver (en JSF 1.1) mais avec le SpringBeanFacesELResolver (conseillé en JSF 1.2) j'obtiens l'exception suivante :
javax.el.PropertyNotWritableException: Variable 'page2' refers to a Spring bean which by definition is not writable
Existe-t-il un moyen de forcer la destruction d'un bean Spring ?

Merci.