Session Persistenece
kstoneman Nov 24, 2008 3:33 PMCould anyone help me with this or has anyone seen this same type of issue?
Upon initial login a session object is created with a customer. After the customer object of the PMsession is successfully set to a non-null value, the subsequent @In injection of the customer of that customer object throws the following exception:
Code snippet:
PMSession.java:
@Name("PMSession")
@Scope(ScopeType.SESSION)
public class PMSession {
private Customer customer;
…
}
CustomerSummary.java:
@Name("customerSummary")
public class CustomerSummary {
@In(value = "#{PMSession.customer}")
private Customer customer;
…
}
SEVERE: Error Rendering View[/customerSummary.xhtml]
javax.faces.FacesException: javax.el.ELException: /WEB-INF/facelets/accountTable.xhtml @18,18 rendered="#{not empty accounts}": /customerSummary.xhtml @34,54 accounts="#{customerSummary.linkedAccounts}": Error reading 'linkedAccounts' on type com.nationalcity.points.management.session.CustomerSummary_$$_javassist_10
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:373)
at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:276)
at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:199)
at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:194)
at org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:121)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
Caused by: javax.el.ELException: /WEB-INF/facelets/accountTable.xhtml @18,18 rendered="#{not empty accounts}": /customerSummary.xhtml @34,54 accounts="#{customerSummary.linkedAccounts}": Error reading 'linkedAccounts' on type com.nationalcity.points.management.session.CustomerSummary_$$_javassist_10
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:370)
... 52 more
Caused by: org.jboss.seam.RequiredException: @In attribute requires non-null value: customerSummary.#{PMSession.customer}
at org.jboss.seam.Component.getValueToInject(Component.java:2178)
at org.jboss.seam.Component.injectAttributes(Component.java:1601)
at org.jboss.seam.Component.inject(Component.java:1419)
at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:45)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
Thanks,
Ken
Upon initial login a session object is created with a customer. After the customer object of the PMsession is successfully set to a non-null value, the subsequent @In injection of the customer of that customer object throws the following exception:
Code snippet:
PMSession.java:
@Name("PMSession")
@Scope(ScopeType.SESSION)
public class PMSession {
private Customer customer;
…
}
CustomerSummary.java:
@Name("customerSummary")
public class CustomerSummary {
@In(value = "#{PMSession.customer}")
private Customer customer;
…
}
SEVERE: Error Rendering View[/customerSummary.xhtml]
javax.faces.FacesException: javax.el.ELException: /WEB-INF/facelets/accountTable.xhtml @18,18 rendered="#{not empty accounts}": /customerSummary.xhtml @34,54 accounts="#{customerSummary.linkedAccounts}": Error reading 'linkedAccounts' on type com.nationalcity.points.management.session.CustomerSummary_$$_javassist_10
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:373)
at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:276)
at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262)
at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:199)
at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:194)
at org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:121)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
Caused by: javax.el.ELException: /WEB-INF/facelets/accountTable.xhtml @18,18 rendered="#{not empty accounts}": /customerSummary.xhtml @34,54 accounts="#{customerSummary.linkedAccounts}": Error reading 'linkedAccounts' on type com.nationalcity.points.management.session.CustomerSummary_$$_javassist_10
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:370)
... 52 more
Caused by: org.jboss.seam.RequiredException: @In attribute requires non-null value: customerSummary.#{PMSession.customer}
at org.jboss.seam.Component.getValueToInject(Component.java:2178)
at org.jboss.seam.Component.injectAttributes(Component.java:1601)
at org.jboss.seam.Component.inject(Component.java:1419)
at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:45)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166)
Thanks,
Ken