[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-2956) seambay example throws an exception when placing a bid on the camera

Dan Allen (JIRA) jira-events at lists.jboss.org
Fri May 30 01:33:45 EDT 2008


    [ http://jira.jboss.com/jira/browse/JBSEAM-2956?page=comments#action_12414951 ] 
            
Dan Allen commented on JBSEAM-2956:
-----------------------------------

Aha! I've determined that there are in fact two problems. The first problem still stands, that the conversationId is not being recovered on a postback that specifies use of a natural conversation. But that isn't the source of this particular exception.

The problem is that if a natural conversation is specified and the conversation id is null (or not found), then an attempt is made to resolve the EL value expression used for the natural conversation. The problem is, if that EL happens to use a component that relies on a conversation-scoped, such as the EntityManager, it is going to break because the conversation hasn't been started yet. Thus, the EL should not be resolved until a call is made to initialize the conversation id.

I have a patch for all of this I am uploading shortly.

> seambay example throws an exception when placing a bid on the camera
> --------------------------------------------------------------------
>
>                 Key: JBSEAM-2956
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-2956
>             Project: Seam
>          Issue Type: Bug
>          Components: Examples
>    Affects Versions: 2.0.2.CR2
>            Reporter: Jay Balunas
>         Assigned To: Shane Bryzak
>             Fix For: 2.1.0.GA
>
>
> Attempt to bid on the camera - possibly other items as well.  With or without a value for the bid.  A seam error page is seen, and the exception below:
> 15:35:45,922 ERROR [SeamPhaseListener] swallowing exception
> org.jboss.seam.RequiredException: @In attribute requires non-null value: auctionDetail.entityManager
>         at org.jboss.seam.Component.getValueToInject(Component.java:2175)
>         at org.jboss.seam.Component.injectAttributes(Component.java:1598)
>         at org.jboss.seam.Component.inject(Component.java:1416)
>         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)
>         at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102)
>         at org.jboss.seam.example.seambay.AuctionDetailAction_$$_javassist_7.getAuction(AuctionDetailAction_$$_javassist_7.java)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
>         at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
>         at org.jboss.seam.Component.callComponentMethod(Component.java:2089)
>         at org.jboss.seam.Component.getInstanceFromFactory(Component.java:1926)
>         at org.jboss.seam.Component.getInstance(Component.java:1863)
>         at org.jboss.seam.Component.getInstance(Component.java:1840)
>         at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:55)
>         at org.jboss.seam.Namespace.getComponentInstance(Namespace.java:50)
>         at org.jboss.seam.el.SeamELResolver.resolveBase(SeamELResolver.java:166)
>         at org.jboss.seam.el.SeamELResolver.getValue(SeamELResolver.java:53)
>         at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
>         at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
>         at org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:44)
>         at org.jboss.el.parser.AstValue.getValue(AstValue.java:63)
>         at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
>         at org.jboss.seam.core.Expressions$1.getValue(Expressions.java:111)
>         at org.jboss.seam.navigation.ELConversationIdParameter.getParameterValue(ELConversationIdParameter.java:68)
>         at org.jboss.seam.navigation.ELConversationIdParameter.getConversationId(ELConversationIdParameter.java:63)
>         at org.jboss.seam.core.ConversationPropagation.restoreNaturalConversationId(ConversationPropagation.java:123)
>         at org.jboss.seam.core.ConversationPropagation.restoreConversationId(ConversationPropagation.java:56)
>         at org.jboss.seam.jsf.SeamPhaseListener.afterRestoreView(SeamPhaseListener.java:387)
>         at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:226)
>         at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:192)
>         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
>         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
>         at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
>         at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
>         at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:406)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>         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.LoggingFilter.doFilter(LoggingFilter.java:58)
>         at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>         at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
>         at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>         at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
>         at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>         at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
>         at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
>         at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
>         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>         at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
>         at java.lang.Thread.run(Thread.java:595)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list