1 Reply Latest reply on Mar 12, 2008 2:40 AM by Ken Clark

    SFSB removed during conversation?

    Ken Clark Newbie

      I am struggling to get a conversation working.  My stateful session bean:



      @Stateful
      @Name("productEditAction")
      @Conversational
      public class ProductEditAction implements ProductEditActionLocal, Serializable
      {
          @In(required=false)
          @Out
          private ProductNode productNode = null;
      
          @Begin(join=true)
          public String createProduct()
          {
             productNode = // create it...
             return "edit";
          }
      
          //...
      
          @End
          public String save()
          {
              // save it...
          }
      
          @Remove @Destroy
          public void remove()
          {
          }
      }



      What I expect to happen is that after createProduct, I will have access to productNode from my facelet page.  However, I don't -- productNode is empty when I get there.


      What is happening to the outjected productNode?


      Thanks,
      ken


      Note:  From the debugger, everything looks good in createProduct, but I then see a later call to the ProductNode empty constructor.


      This is the call stack:



      com.kankan.model.node.ProductNode.<init>(ProductNode.java:82)
      sun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeConstructorAccessorImpl.java)
      sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      java.lang.Class.newInstance0(Class.java:355)
      java.lang.Class.newInstance(Class.java:308)
      org.jboss.seam.Component.instantiateJavaBean(Component.java:1312)
      org.jboss.seam.Component.instantiate(Component.java:1268)
      org.jboss.seam.Component.newInstance(Component.java:1966)
      org.jboss.seam.Component.getInstance(Component.java:1873)
      org.jboss.seam.Component.getInstance(Component.java:1840)
      org.jboss.seam.Namespace.getComponentInstance(Namespace.java:55)
      org.jboss.seam.Namespace.getComponentInstance(Namespace.java:50)
      org.jboss.seam.el.SeamELResolver.resolveBase(SeamELResolver.java:166)
      org.jboss.seam.el.SeamELResolver.getValue(SeamELResolver.java:53)
      javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
      com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:64)
      org.jboss.el.parser.AstIdentifier.getValue(AstIdentifier.java:44)
      org.jboss.el.parser.AstValue.getValue(AstValue.java:63)
      org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
      com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
      javax.faces.component.UIOutput.getValue(UIOutput.java:173)
      com.icesoft.faces.renderkit.dom_html_basic.DomBasicInputRenderer.getValue(DomBasicInputRenderer.java:60)
      com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.getValue(DomBasicRenderer.java:154)
      com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeEnd(DomBasicRenderer.java:126)
      javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836)
      com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:362)
      com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:358)
      com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:92)
      javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
      com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:352)
      com.icesoft.faces.renderkit.dom_html_basic.GridRenderer.encodeChildren(GridRenderer.java:203)
      javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
      com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:539)
      com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:543)
      com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:543)
      com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:543)
      com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:543)
      com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:543)
      com.icesoft.faces.facelets.D2DFaceletViewHandler.renderResponse(D2DFaceletViewHandler.java:286)
      com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:161)
      com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
      com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
      com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
      com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:18)
      com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:25)
      com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:161)
      com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36)
      com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:30)
      com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:48)
      com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50)
      com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19)
      com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19)
      com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:29)
      com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:105)
      com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:37)
      com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
      com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
      com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:76)
      javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      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.LoggingFilter.doFilter(LoggingFilter.java:58)
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
      org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      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.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.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)