Migración de JSF 1.1 con Ajax4jsf 1.x a JSF 2
Estamos migrando el proyecto JSF 1.1 (MyFaces) a JSF 2. La idea es migrar periódicamente manteniendo JSP y XHTML juntos durante algún tiempo. Utilizamos muchas etiquetas ajax4jsf-1.1.1 en las páginas JSP. No utilizamos RichFaces. Después de configurar el sistema a JSF 2 (con todos los cambios de configuración mencionados en el tutorial de Balusc) Cuando intentamos acceder a la página JSP con ajax4jsf.jar en classpath, obtenemos una excepción:
Caused by: java.lang.IllegalStateException: setViewHandler may not be executed after a lifecycle request has been completed
at org.apache.myfaces.application.ApplicationImpl.setViewHandler(ApplicationImpl.java:853)
at org.ajax4jsf.framework.ajax.InitPhaseListener.beforePhase(InitPhaseListener.java:92)
at org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:76)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:131)
Parece que ajax4jsf.jar no es compatible con JSF 2. Parece un problema con la configuración de LifeCycle.
¿Hay alguna manera de hacer que a4j funcione con JSF 2 JSP? Sé que cuando usamos XHTML no necesitamos todo esto.