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)
-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