Forcer la destruction d'un bean
Bonjour,
Je déclare mes Beans JSF avec Spring grâce à un SpringBeanFacesELResolver déclaré comme ceci dans mon faces-config.xml :
Code:
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:
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 :
Citation:
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.