seamphaselistener and No phase id bound to current thread
toolsrme Apr 12, 2008 10:58 PMI have looked and all the forum entries that I could find on this, but I still can't get this error to stop. I am using the following:
- JBoss 4.2.2 GA
- Facelets 1.1.14
- RichFaces 3.2.0
- Seam 2.1.0 Snapshot (as of 4/12/2008) plus many other versions
I get the following error when I try to go to my initial page (Index.seam) via jboss-seam-debug.jar debug page:
- No phase id bound to current thread (make sure you do not have two SeamPhaseListener instances installed)
With a stack trace of:
[org.jboss.seam.contexts.PageContext.getPhaseId(PageContext.java:162), org.jboss.seam.contexts.PageContext.isBeforeInvokeApplicationPhase(PageContext.java:174), org.jboss.seam.contexts.PageContext.getCurrentWritableMap(PageContext.java:90), org.jboss.seam.contexts.PageContext.set(PageContext.java:97), org.jboss.seam.Component.newInstance(Component.java:2059), org.jboss.seam.Component.getInstance(Component.java:1959), org.jboss.seam.Component.getInstance(Component.java:1938), org.jboss.seam.Component.getInstance(Component.java:1915), org.jboss.seam.Component.getInstance(Component.java:1910), org.jboss.seam.faces.FacesPage.instance(FacesPage.java:92), org.jboss.seam.core.ConversationPropagation.restorePageContextConversationId(ConversationPropagation.java:85), org.jboss.seam.core.ConversationPropagation.restoreConversationId(ConversationPropagation.java:58), org.jboss.seam.jsf.SeamPhaseListener.afterRestoreView(SeamPhaseListener.java:389), org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:228), org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:194), com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175), com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114), com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:104), com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118), javax.faces.webapp.FacesServlet.service(FacesServlet.java:265), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206), org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83), org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85), org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69), org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64), org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69), org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45), org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69), org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147), org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:276), org.ajax4jsf.Filter.doFilter(Filter.java:175), org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56), org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69), org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58), org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69), org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:73), org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69), org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206), org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206), org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230), org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175), org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179), org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432), org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84), org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127), org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102), org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157), org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562), org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109), org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262), org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844), org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583), org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446), java.lang.Thread.run(Thread.java:619)]
I've basically take a copy straight from the examples for the web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <listener> <listener-class>org.jboss.seam.servlet.SeamListener</listener-class> </listener> <servlet> <servlet-name>Seam Resource Servlet</servlet-name> <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Seam Resource Servlet</servlet-name> <url-pattern>/seam/resource/*</url-pattern> </servlet-mapping> <filter> <filter-name>Seam Filter</filter-name> <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class> </filter> <filter-mapping> <filter-name>Seam Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <context-param> <param-name>javax.faces.DEFAULT_SUFFIX</param-name> <param-value>.xhtml</param-value> </context-param> <context-param> <param-name>facelets.DEVELOPMENT</param-name> <param-value>true</param-value> </context-param> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.seam</url-pattern> </servlet-mapping> <context-param> <param-name>org.richfaces.SKIN</param-name> <param-value>classic</param-value> </context-param> <session-config> <session-timeout>10</session-timeout> </session-config> <welcome-file-list> <welcome-file>home.jsp</welcome-file> </welcome-file-list> </web-app>
Here is my components.xml:
<?xml version="1.0" encoding="UTF-8"?> <components xmlns="http://jboss.com/products/seam/components" xmlns:core="http://jboss.com/products/seam/core" xmlns:persistence="http://jboss.com/products/seam/persistence" xmlns:security="http://jboss.com/products/seam/security" xmlns:mail="http://jboss.com/products/seam/mail" xmlns:transaction="http://jboss.com/products/seam/transaction" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.1.xsd http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.1.xsd http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.1.xsd http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.1.xsd http://jboss.com/products/seam/transaction http://jboss.com/products/seam/transaction-2.1.xsd http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.1.xsd"> <core:init debug="true" jndi-pattern="ECSC-ear/#{ejbName}/local"/> <core:manager concurrent-request-timeout="5000" conversation-timeout="120000" conversation-id-parameter="cid"/> <security:identity jaas-config-name="ActiveDirectory" remember-me="true"/> <transaction:ejb-transaction/> <persistence:managed-persistence-context name="vantiveEntityManager" auto-create="true" persistence-unit-jndi-name="java:/vantiveEntityManagerFactory"/> <persistence:managed-persistence-context name="sturlEntityManager" auto-create="true" persistence-unit-jndi-name="java:/sturlEntityManagerFactory"/> <persistence:managed-persistence-context name="cenetEntityManager" auto-create="true" persistence-unit-jndi-name="java:/cenetEntityManagerFactory"/> <persistence:managed-persistence-context name="faximportEntityManager" auto-create="true" persistence-unit-jndi-name="java:/faximportEntityManagerFactory"/> <persistence:managed-persistence-context name="p8usersEntityManager" auto-create="true" persistence-unit-jndi-name="java:/p8usersEntityManagerFactory"/> <event type="org.jboss.seam.security.notLoggedIn"> <action execute="#{redirect.captureCurrentView}"/> </event> <event type="org.jboss.seam.security.loginSuccessful"> <action execute="#{redirect.returnToCapturedView}"/> </event>
What have I missed? What else can cause this? I obviously did something wrong. I just can't find out what.
Thanks,
David