Hi,

I tried to build a page with a clock. 
When I call the page, the clock is rendered, but after the first update after 
the renderer interval of 5 seconds I get a PhaseListener Exception:


  | 
  | 10:48:02,125 INFO  [ClockBean] setRenderManager
  | 10:48:02,125 INFO  [RenderHub] scheduled render service created:
  |   core pool size : 5
  | 10:48:02,140 INFO  [ClockBean] getServerTime
  | 10:48:07,140 INFO  [RenderHub] core render service created:
  |   core pool size : 10
  |   max pool size  : 15
  |   keep alive time: 300000
  | 10:48:07,140 INFO  [ClockBean] getState = [EMAIL PROTECTED]@531e15]
  | 10:48:07,140 ERROR [PhaseListenerManager] Exception in PhaseListener 
RENDER_RESPONSE(6) beforePhase.
  | java.lang.NullPointerException
  |     at 
org.jboss.seam.util.Parameters.convertMultiValueRequestParameter(Parameters.java:48)
  |     at 
org.jboss.seam.pdf.DocumentStorePhaseListener.beforePhase(DocumentStorePhaseListener.java:32)
  |     at 
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:70)
  |     at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:373)
  |     at 
com.icesoft.faces.webapp.xmlhttp.PersistentFacesState.render(PersistentFacesState.java:180)
  |     at 
com.icesoft.faces.async.render.RunnableRender.run(RunnableRender.java:89)
  |     at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
  |     at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
  |     at java.lang.Thread.run(Thread.java:595)
  | 10:48:07,140 INFO  [ClockBean] renderingException fatal render failure for 
viewNumber 1
  | 
  | 

Because i wondered why a method from 
org.jboss.seam.pdf.DocumentStorePhaseListener is called, I removed the 
jboss-seam-pdf.jar from clocktest.ear\clocktest.war\WEB-INF\lib. After this I 
get the following output:


  | 
  | 10:53:59,468 INFO  [ClockBean] setRenderManager
  | 10:53:59,562 INFO  [RenderHub] scheduled render service created:
  |   core pool size : 5
  | 10:53:59,625 INFO  [ClockBean] getServerTime
  | 10:54:04,625 INFO  [RenderHub] core render service created:
  |   core pool size : 10
  |   max pool size  : 15
  |   keep alive time: 300000
  | 10:54:04,640 INFO  [ClockBean] getState = [EMAIL PROTECTED]@1930e5b]
  | 10:54:04,640 ERROR [SeamPhaseListener] uncaught exception
  | java.lang.IllegalStateException: No active application scope
  |     at org.jboss.seam.core.Init.instance(Init.java:78)
  |     at 
org.jboss.seam.jsf.TransactionalSeamPhaseListener.handleTransactionsBeforePhase(TransactionalSeamPhaseListener.java:22)
  |     at 
org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:49)
  |     at 
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:70)
  |     at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:373)
  |     at 
com.icesoft.faces.webapp.xmlhttp.PersistentFacesState.render(PersistentFacesState.java:180)
  |     at 
com.icesoft.faces.async.render.RunnableRender.run(RunnableRender.java:89)
  |     at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
  |     at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
  |     at java.lang.Thread.run(Thread.java:595)
  | 10:54:04,640 ERROR [SeamPhaseListener] swallowing exception
  | java.lang.IllegalStateException: No active application scope
  |     at org.jboss.seam.core.Init.instance(Init.java:78)
  |     at 
org.jboss.seam.jsf.TransactionalSeamPhaseListener.handleTransactionsBeforePhase(TransactionalSeamPhaseListener.java:22)
  |     at 
org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:49)
  |     at 
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersBefore(PhaseListenerManager.java:70)
  |     at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:373)
  |     at 
com.icesoft.faces.webapp.xmlhttp.PersistentFacesState.render(PersistentFacesState.java:180)
  |     at 
com.icesoft.faces.async.render.RunnableRender.run(RunnableRender.java:89)
  |     at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
  |     at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
  |     at java.lang.Thread.run(Thread.java:595)
  | 10:54:04,640 ERROR [SeamPhaseListener] uncaught exception
  | java.lang.IllegalStateException: No active application scope
  |     at org.jboss.seam.core.Init.instance(Init.java:78)
  |     at 
org.jboss.seam.jsf.TransactionalSeamPhaseListener.handleTransactionsAfterPhase(TransactionalSeamPhaseListener.java:34)
  |     at 
org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:112)
  |     at 
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89)
  |     at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:391)
  |     at 
com.icesoft.faces.webapp.xmlhttp.PersistentFacesState.render(PersistentFacesState.java:180)
  |     at 
com.icesoft.faces.async.render.RunnableRender.run(RunnableRender.java:89)
  |     at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
  |     at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
  |     at java.lang.Thread.run(Thread.java:595)
  | 10:54:04,640 ERROR [SeamPhaseListener] swallowing exception
  | java.lang.IllegalStateException: No active application scope
  |     at org.jboss.seam.core.Init.instance(Init.java:78)
  |     at 
org.jboss.seam.jsf.TransactionalSeamPhaseListener.handleTransactionsAfterPhase(TransactionalSeamPhaseListener.java:34)
  |     at 
org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:112)
  |     at 
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:89)
  |     at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:391)
  |     at 
com.icesoft.faces.webapp.xmlhttp.PersistentFacesState.render(PersistentFacesState.java:180)
  |     at 
com.icesoft.faces.async.render.RunnableRender.run(RunnableRender.java:89)
  |     at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
  |     at 
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
  |     at java.lang.Thread.run(Thread.java:595)
  | 10:54:04,640 INFO  [ClockBean] renderingException fatal render failure for 
viewNumber 1
  | 
  |  

My environment: JBoss AS 4.0.5.GA, JBoss Seam 1.1.7.RC1, IceFaces 1.5.3

Below my code:

The ClockBean:


  | 
  | import java.io.Serializable;
  | import java.text.SimpleDateFormat;
  | import java.util.Calendar;
  | 
  | import org.jboss.seam.ScopeType;
  | import org.jboss.seam.annotations.Logger;
  | import org.jboss.seam.annotations.Name;
  | import org.jboss.seam.annotations.Scope;
  | import org.jboss.seam.log.Log;
  | 
  | import com.icesoft.faces.async.render.IntervalRenderer;
  | import com.icesoft.faces.async.render.RenderManager;
  | import com.icesoft.faces.async.render.Renderable;
  | import com.icesoft.faces.webapp.xmlhttp.PersistentFacesState;
  | import com.icesoft.faces.webapp.xmlhttp.RenderingException;
  | 
  | @Name("clock")
  | @Scope(ScopeType.SESSION)
  | public class ClockBean implements Renderable, Serializable {
  | 
  |     private static final long serialVersionUID = -3056813303865921418L;
  | 
  |     @Logger
  |     private Log log;
  | 
  |     private final int renderInterval = 5000;
  | 
  |     private PersistentFacesState state;
  | 
  |     private IntervalRenderer clock;
  | 
  |     public void setRenderManager(RenderManager renderManager) {
  |             log.info("setRenderManager");
  |             clock = renderManager.getIntervalRenderer("clock");
  |             clock.setInterval(renderInterval);
  |             clock.add(this);
  |             clock.requestRender();
  |     }
  | 
  |     public RenderManager getRenderManager() {
  |             return null;
  |     }
  | 
  |     public PersistentFacesState getState() {
  |             if (null == state)
  |                     state = PersistentFacesState.getInstance();
  |             if (null == state)
  |                     log.info("getState = NULL");
  |             else
  |                     log.info("getState = #0", state.toString());
  |             return state;
  |     }
  | 
  |     public void renderingException(RenderingException renderingException) {
  |             log.info("renderingException #0", 
renderingException.getMessage());
  |             if (clock != null) {
  |                     clock.remove(this);
  |                     clock = null;
  |             }
  |     }
  | 
  |     public String getServerTime() {
  |             log.info("getServerTime");
  |             SimpleDateFormat currentFormat = new SimpleDateFormat(
  |                             "dd.MM.yyyy HH:mm");
  |             Calendar cal = currentFormat.getCalendar();
  |             cal.setTimeInMillis(System.currentTimeMillis());
  |             return currentFormat.format(cal.getTime());
  |     }
  | 
  |     public void setServerTime(String serverTime) {
  | 
  |     }
  | }
  | 
  | 

the home.xhtml:


  | 
  | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
  | <html xmlns="http://www.w3.org/1999/xhtml";
  |       xmlns:ui="http://java.sun.com/jsf/facelets";
  |       xmlns:h="http://java.sun.com/jsf/html";
  |       xmlns:f="http://java.sun.com/jsf/core";
  |       xmlns:s="http://jboss.com/products/seam/taglib";
  |       xmlns:ice="http://www.icesoft.com/icefaces/component";
  |       xml:lang="de" lang="de">
  | <head>
  |    <meta http-equiv="Content-Type"
  |          content="text/html; charset=iso-8859-1" />
  |    <title>Uhren test</title>
  | 
  | </head>
  | 
  | <body>
  | <f:view>
  |    <div>
  |       <ice:outputText value="#{clock.serverTime}" />  
  |    </div>
  | </f:view>
  | </body>
  | 
  | </html>
  | 
  | 

the 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:drools="http://jboss.com/products/seam/drools";
  |             xmlns:security="http://jboss.com/products/seam/security";
  |             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  |             xsi:schemaLocation=
  |                 "http://jboss.com/products/seam/core 
http://jboss.com/products/seam/core-1.1.xsd 
  |                  http://jboss.com/products/seam/drools 
http://jboss.com/products/seam/drools-1.1.xsd
  |                  http://jboss.com/products/seam/security 
http://jboss.com/products/seam/security-1.1.xsd
  |                  http://jboss.com/products/seam/components 
http://jboss.com/products/seam/components-1.1.xsd";>
  | 
  |    <core:init debug="true" jndi-pattern="@jndiPattern@"/>
  |      
  |    <core:manager concurrent-request-timeout="500" 
  |                  conversation-timeout="120000" 
  |                  conversation-id-parameter="cid" 
  |                  conversation-is-long-running-parameter="clr"/>
  |     
  |    <core:pages no-conversation-view-id="/home.xhtml"/>
  |    
  |    <core:managed-persistence-context name="entityManager"
  |                
persistence-unit-jndi-name="java:/clocktestEntityManagerFactory"/>
  | 
  |    <core:ejb installed="@embeddedEjb@"/>
  |          
  |     <component name="renderManager"
  |             class="com.icesoft.faces.async.render.RenderManager"
  |             scope="APPLICATION" />
  | 
  |     <component name="clock" scope="SESSION">
  |             <property name="renderManager">#{renderManager}</property>
  |     </component>
  |       
  | </components>
  | 
  | 

the faces-config.xml:


  | 
  | <?xml version='1.0' encoding='UTF-8'?>
  | <!DOCTYPE faces-config PUBLIC
  |           "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
  |           "http://java.sun.com/dtd/web-facesconfig_1_1.dtd";>
  | 
  | <faces-config>
  | 
  |    <application>
  |       <message-bundle>messages</message-bundle>
  |       
<view-handler>com.icesoft.faces.facelets.D2DSeamFaceletViewHandler</view-handler>
  |    </application>
  | 
  |    <!-- Seam transaction management -->
  |    <lifecycle>
  |       
<phase-listener>org.jboss.seam.jsf.TransactionalSeamPhaseListener</phase-listener>
  |    </lifecycle>
  |     
  |    <!-- No Seam transaction management -->
  |    <!--  
  |    <lifecycle>
  |       <phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-listener>
  |    </lifecycle>
  |    -->
  | 
  | </faces-config>
  | 
  | 

the web.xml:


  | 
  | <?xml version="1.0" ?>
  | <web-app xmlns="http://java.sun.com/xml/ns/j2ee";
  |     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  |     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
  |     version="2.4">
  | 
  |     <context-param>
  |             <param-name>javax.faces.CONFIG_FILES</param-name>
  |             <param-value>/WEB-INF/navigation.xml</param-value>
  |     </context-param>
  | 
  |     <listener>
  |             <listener-class>
  |                     org.jboss.seam.servlet.SeamListener
  |             </listener-class>
  |     </listener>
  | 
  |     <listener>
  |             <listener-class>
  |                     org.apache.myfaces.webapp.StartupServletContextListener
  |             </listener-class>
  |     </listener>
  | 
  |     <context-param>
  |             <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  |             <param-value>client</param-value>
  |     </context-param>
  | 
  |     <context-param>
  |             <param-name>facelets.DEVELOPMENT</param-name>
  |             <param-value>true</param-value>
  |     </context-param>
  | 
  |     <context-param>
  |             <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
  |             <param-value>.xhtml</param-value>
  |     </context-param>
  | 
  | 
  |     <filter>
  |             <filter-name>Seam Exception Filter</filter-name>
  |             <filter-class>
  |                     org.jboss.seam.servlet.SeamExceptionFilter
  |             </filter-class>
  |     </filter>
  | 
  |     <!--
  |             <filter>
  |             <filter-name>Seam Redirect Filter</filter-name>
  |             
<filter-class>org.jboss.seam.servlet.SeamRedirectFilter</filter-class>
  |             </filter>
  |     -->
  | 
  |     <filter-mapping>
  |             <filter-name>Seam Exception Filter</filter-name>
  |             <url-pattern>/*</url-pattern>
  |     </filter-mapping>
  | 
  |     <!--
  |             <filter-mapping>
  |             <filter-name>Seam Redirect Filter</filter-name>
  |             <url-pattern>*.seam</url-pattern>
  |             </filter-mapping>
  |     -->
  | 
  |     <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>com.icesoft.faces.actionURLSuffix</param-name>
  |             <param-value>.seam</param-value>
  |     </context-param>
  | 
  |     <context-param>
  |             <param-name>com.icesoft.faces.synchronousUpdate</param-name>
  |             <param-value>true</param-value>
  |     </context-param>
  | 
  |     <servlet>
  |             <servlet-name>Blocking Servlet</servlet-name>
  |             <servlet-class>
  |                     com.icesoft.faces.webapp.xmlhttp.BlockingServlet
  |             </servlet-class>
  |             <load-on-startup>1</load-on-startup>
  |     </servlet>
  | 
  |     <servlet>
  |             <servlet-name>Persistent Faces Servlet</servlet-name>
  |             <servlet-class>
  |                     com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet
  |             </servlet-class>
  |             <load-on-startup>1</load-on-startup>
  |     </servlet>
  | 
  |     <servlet-mapping>
  |             <servlet-name>Persistent Faces Servlet</servlet-name>
  |             <url-pattern>/xmlhttp/*</url-pattern>
  |     </servlet-mapping>
  | 
  |     <servlet-mapping>
  |             <servlet-name>Persistent Faces Servlet</servlet-name>
  |             <url-pattern>/xmlhttp/*</url-pattern>
  |     </servlet-mapping>
  | 
  |     <servlet-mapping>
  |             <servlet-name>Persistent Faces Servlet</servlet-name>
  |             <url-pattern>*.iface</url-pattern>
  |     </servlet-mapping>
  | 
  |     <!-- Blocking Servlet Mapping -->
  |     <servlet-mapping>
  |             <servlet-name>Blocking Servlet</servlet-name>
  |             <url-pattern>/block/*</url-pattern>
  |     </servlet-mapping>
  | 
  |     <!-- Faces Servlet Mapping -->
  |     <servlet-mapping>
  |             <servlet-name>Persistent Faces Servlet</servlet-name>
  |             <url-pattern>*.seam</url-pattern>
  |     </servlet-mapping>
  | 
  |     <welcome-file-list>
  |             <welcome-file>index.html</welcome-file>
  |     </welcome-file-list>
  | </web-app>
  | 
  | 


Has someone an idea what's wrong?

Thanks  Ludger !



View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4022962#4022962

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4022962
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to