Hi,

On Tue, Mar 18, 2008 at 9:38 AM, Matthias Wessendorf <[EMAIL PROTECTED]> wrote:
> Hi,
>
>
>  On Tue, Mar 18, 2008 at 7:01 AM, [EMAIL PROTECTED]
>  <[EMAIL PROTECTED]> wrote:
>  > Hi Stephan,
>  >
>  >  I'll need to ask Matthias to update his example ;-)
>
>  that is not mine. Mine is kind of up-to-date (facesgoodies)

it is mario's project:
http://code.google.com/p/myfaces-orchestra-goodies/

>
>  -M
>
>
>
>  >
>  >  Everything looks ok in the logs. It just looks to me like your page is
>  >  not actually referencing anything from your controller bean.
>  >
>  >  Orchestra is assuming that in page regUserDirectPlanningController,
>  >  there is something that pulls data from the
>  >  regUserDirectPlanningController class during the render phase. Is this
>  >  not the case for your page? I would expect that somewhere in your page
>  >  you have  a component that accesses
>  >    #{regUserDirectPlanningController.reservationData}
>  >  or some other property on your controller bean. That access is how
>  >  Orchestra knows that the bean is still in use.
>  >
>  >  A "pure controller" bean, which handles postbacks but does not serve any
>  >  resources at all during the render phase is possible, though I would not
>  >  think it common. If your class is indeed a "pure controller" then you
>  >  can add a dummy component to the page, eg
>  >     <h:outputText rendered="#{regUserDirectPlanningController.class ==
>  >  null}"/>
>  >  Of course this rendered expression will never be true, so this will not
>  >  affect the page output in any way, but just evaluating the rendered
>  >  expression will tell Orchestra that the bean is still in use.
>  >
>  >  However:  do the beans
>  >   regUserDirectPlanningController
>  >   reservationJSF
>  >   simpleOrChainSelectionJSF
>  >   etc
>  >  all have the same lifetime, ie they should all be discarded together? If
>  >  so, then what you should do is add attribute
>  >   conversationName="regUser"
>  >  (or whatever name you want to choose) to each of the Spring bean
>  >  declarations. Then they all live in the same conversation. One effect is
>  >  that a reference to *any* of those beans will keep *all* of them alive
>  >  (because the common conversation is in use). Only when a render phase
>  >  accesses none of them will the conversation be discarded.
>  >
>  >  Regards, Simon
>  >
>  >
>  >  Stephan Frai schrieb:
>  >
>  >
>  > > Hello Simon,
>  >  >
>  >  > thank you for answering.
>  >  >
>  >  > I saw the old "flash" example here:
>  >  > http://myfaces-orchestra-goodies.googlecode.com/svn/trunk
>  >  >
>  >  > After I turned on logging I got the following logger output:
>  >  >
>  >  > 18 Mrz 2008 11:09:03,156 DEBUG [n.jsf.AccessScopePhaseListener: 161]
>  >  > Clearing access-scoped conversation regUserDirectPlanningController 
> after
>  >  > rendering view /pages/ruplanning/regUserDirectPlanning.xhtml
>  >  > 18 Mrz 2008 11:09:03,171 DEBUG [stra.conversation.Conversation: 288] 
> destroy
>  >  > conversation:regUserDirectPlanningController
>  >  > 18 Mrz 2008 11:09:03,171 DEBUG [n.jsf.AccessScopePhaseListener: 152] Not
>  >  > clearing accessed conversation reservationFormBean after rendering view
>  >  > /pages/ruplanning/regUserDirectPlanning.xhtml
>  >  > 18 Mrz 2008 11:09:03,171 DEBUG [n.jsf.AccessScopePhaseListener: 161]
>  >  > Clearing access-scoped conversation reservationJSF after rendering view
>  >  > /pages/ruplanning/regUserDirectPlanning.xhtml
>  >  > 18 Mrz 2008 11:09:03,171 DEBUG [stra.conversation.Conversation: 288] 
> destroy
>  >  > conversation:reservationJSF
>  >  > 18 Mrz 2008 11:09:03,171 DEBUG [n.jsf.AccessScopePhaseListener: 152] Not
>  >  > clearing accessed conversation simpleOrChainSelectionJSF after rendering
>  >  > view /pages/ruplanning/regUserDirectPlanning.xhtml
>  >  > 18 Mrz 2008 11:09:03,171 DEBUG [n.jsf.AccessScopePhaseListener: 161]
>  >  > Clearing access-scoped conversation timeChainJSF after rendering view
>  >  > /pages/ruplanning/regUserDirectPlanning.xhtml
>  >  > 18 Mrz 2008 11:09:03,171 DEBUG [stra.conversation.Conversation: 288] 
> destroy
>  >  > conversation:timeChainJSF
>  >  > 18 Mrz 2008 11:09:03,171 DEBUG [OrchestraFacesContextFactory$1: 129] 
> Running
>  >  > release
>  >  > 18 Mrz 2008 11:09:03,171 DEBUG [dapter.jsf.JsfFrameworkAdapter:  69] 
> Ending
>  >  > request
>  >  >
>  >  >
>  >  > 18 Mrz 2008 11:13:15,640 DEBUG [n.jsf.AccessScopePhaseListener: 161]
>  >  > Clearing access-scoped conversation regUserDirectPlanningController 
> after
>  >  > rendering view /pages/ruplanning/regUserDirectPlanningConfirmation.xhtml
>  >  > 18 Mrz 2008 11:13:15,640 DEBUG [stra.conversation.Conversation: 288] 
> destroy
>  >  > conversation:regUserDirectPlanningController
>  >  > 18 Mrz 2008 11:13:15,640 DEBUG [n.jsf.AccessScopePhaseListener: 161]
>  >  > Clearing access-scoped conversation reservationFormBean after rendering 
> view
>  >  > /pages/ruplanning/regUserDirectPlanningConfirmation.xhtml
>  >  > 18 Mrz 2008 11:13:15,640 DEBUG [stra.conversation.Conversation: 288] 
> destroy
>  >  > conversation:reservationFormBean
>  >  > 18 Mrz 2008 11:13:15,656 DEBUG [n.jsf.AccessScopePhaseListener: 152] Not
>  >  > clearing accessed conversation reservationJSF after rendering view
>  >  > /pages/ruplanning/regUserDirectPlanningConfirmation.xhtml
>  >  > 18 Mrz 2008 11:13:15,656 DEBUG [n.jsf.AccessScopePhaseListener: 161]
>  >  > Clearing access-scoped conversation simpleOrChainSelectionJSF after
>  >  > rendering view /pages/ruplanning/regUserDirectPlanningConfirmation.xhtml
>  >  > 18 Mrz 2008 11:13:15,656 DEBUG [stra.conversation.Conversation: 288] 
> destroy
>  >  > conversation:simpleOrChainSelectionJSF
>  >  > 18 Mrz 2008 11:13:15,656 DEBUG [OrchestraFacesContextFactory$1: 129] 
> Running
>  >  > release
>  >  > 18 Mrz 2008 11:13:15,656 DEBUG [dapter.jsf.JsfFrameworkAdapter:  69] 
> Ending
>  >  > request
>  >  > 18 Mrz 2008 11:13:15,656 DEBUG [OrchestraFacesContextFactory$1: 138] 
> Release
>  >  > completed
>  >  >
>  >  >
>  >  > As you can see, the converstion is destroyed after every rendered view 
> of
>  >  > the workflow.
>  >  > Do I have to use the ViewController annotation?
>  >  >
>  >  >
>  >  > Greetings,
>  >  >
>  >  > Stephan
>  >  >
>  >  >
>  >  > -----Ursprüngliche Nachricht-----
>  >  > Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
>  >  > Gesendet: Dienstag, 18. März 2008 10:34
>  >  > An: MyFaces Discussion
>  >  > Betreff: Re: Orchestra beginner question: conversation.flash behaves 
> like
>  >  > request scope
>  >  >
>  >  > Stephan Frai schrieb:
>  >  >
>  >  >> Hello,
>  >  >>
>  >  >>
>  >  >>
>  >  >> I am new to orchestra and just integrated it into my application.
>  >  >>
>  >  >> Myfaces 1.2.2
>  >  >>
>  >  >> Hibernate 3.2.5
>  >  >>
>  >  >> Spring 2.0.4
>  >  >>
>  >  >>
>  >  >>
>  >  >> I`m using plain Hibernate without JPA, so I took the integration
>  >  >> provided at Google.
>  >  >>
>  >  >>
>  >  >>
>  >  >> Currently I am running into that problem that conversation.flash
>  >  >> behaves like request scope.
>  >  >>
>  >  >> I have a 4 step workflow and one controller bean for that workflow:
>  >  >>
>  >  >>
>  >  >>
>  >  >> <bean id="regUserDirectPlanningController"
>  >  >> class="com.playoli.ruplanning.jsf.RegUserDirectPlanningController"
>  >  >>
>  >  >>               scope="conversation.flash" depends-on="reservationJSF">
>  >  >>
>  >  >>             <property name="planningWorkflow"
>  >  >> ref="regUserDirectPlanning"/>
>  >  >>
>  >  >>             <property name="reservationData" 
> ref="reservationFormBean"/>
>  >  >>
>  >  >>             <property name="chainData" ref="timeChainJSF"/>
>  >  >>
>  >  >>             <property name="reservationConfirmation"
>  >  >> ref="reservationJSF"/>
>  >  >>
>  >  >>             <property name="messageFormatter" 
> ref="jsfMessageFormatter"/>
>  >  >>
>  >  >>             <property name="resourceManager" ref="resourceManager"/>
>  >  >>
>  >  >>             <!--
>  >  >>
>  >  >>             <property name="calendarJSF" ref="calendarJSF"/>
>  >  >>
>  >  >>              -->
>  >  >>
>  >  >>             <property name="reservationType"
>  >  >> ref="simpleOrChainSelectionJSF"/>
>  >  >>
>  >  >>             <property name="reservationFactory"
>  >  >> ref="reservationBeanFactory"/>
>  >  >>
>  >  >> </bean>
>  >  >>
>  >  >>
>  >  >>
>  >  >> The other beans that are referenced are either Singletons as they are
>  >  >> Business Objects, or they are also conversation scoped as they are
>  >  >> JsfBeans.
>  >  >>
>  >  >>
>  >  >>
>  >  >> My problem is, that for each step in my workflow a new empty
>  >  >> regUserDirectPlanningController is created and i lose the internal 
> state.
>  >  >>
>  >  >> In debugger I can see that the AOP proxies around the conversation
>  >  >> scoped beans are properly created, so I think it`s kind of an
>  >  >> configuration problem.
>  >  >>
>  >  >>
>  >  >>
>  >  >> Does this problem sound familiar to anyone?
>  >  >>
>  >  >>
>  >  >>
>  >  >> If needed I can provide more detailed infos about configuration.
>  >  >>
>  >  >>
>  >  > You could try enabling debug level for the logging category
>  >  >
>  >  > 
> "org.apache.myfaces.orchestra.conversation.jsf.OrchestraAccessScopePhaseList
>  >  > ener".
>  >  >
>  >  > This is the class that is responsible for discarding access-scope
>  >  > (formerly called "flash" scope) beans.
>  >  >
>  >  > By the way, the name "flash" is now deprecated; "access" is the
>  >  > preferred term. The old name should still work, but AFAIK all the
>  >  > examples have been updated to the new name. Where did you see the old 
> one?
>  >  >
>  >  > Regards, Simon
>  >  >
>  >  >
>  >  >
>  >  >
>  >
>  >
>
>
>
>  --
>  Matthias Wessendorf
>
>  further stuff:
>  blog: http://matthiaswessendorf.wordpress.com/
>  sessions: http://www.slideshare.net/mwessendorf
>  mail: matzew-at-apache-dot-org
>



-- 
Matthias Wessendorf

further stuff:
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
mail: matzew-at-apache-dot-org

Reply via email to