This issue, we discussed earlier, is fixed. Propagation of the conversation 
works fine now.

On Wednesday 11 December 2013 12:40:44 John Sarman wrote:
> Emond,
> Have you had a chance to work on the propagation code?
> 
> Thanks,
> John
> 
> 
> On Mon, Nov 25, 2013 at 11:14 AM, Emond Papegaaij 
<[email protected]
> > wrote:
> > 
> > I've found the problem. It has nothing to do with associating a
> > conversation. The problem is that first all links are rendered, and only
> > then the conversation is marked long-running. The auto-begin and 
auto-end
> > methods need to be moved to a IComponentInstantiationListener, so 
the
> > conversation can be started before the links are
> > rendered. onRequestHandlerExecuted simply is too late. I'll see if I can
> > fix that tomorrow.
> > 
> > Best regards,
> > Emond
> > 
> > 
> > On Fri, Nov 22, 2013 at 11:31 PM, John Sarman 
<[email protected]>
> > 
> > wrote:
> > > Emond,
> > > If you want to quick test execute the code in a debugger and look 
at the
> > > Conversation object in the ConversationPropagator.  You will find 
that
> > > is
> > > always transient even when a Cid is passed over URL, unless you call
> > > begin(), once you associate that Conversation would become non 
transient
> > > assuming CID was set.  Look back at Igor's code and follow through 
to
> > > associate, you will notice that Igor never touches the 
autoConversation
> > > object until he calls conversation.begin() for starting, or associates
> > > to
> > > an existing conversation then calls conversation.end() when
> > > autoEndIfNecessary.
> > > 
> > > John
> > > 
> > > 
> > > On Fri, Nov 22, 2013 at 5:15 PM, John Sarman 
<[email protected]>
> > 
> > wrote:
> > > > Emond,
> > > > I updated the wicket-example on my local checkout of latest 6.x to 
use
> > > 
> > > the
> > > 
> > > > cdi-1.1.  The conversation propagation is working as expected 
due to
> > 
> > the
> > 
> > > > CID. I set the configuration to Nonbookmarkable, and it worked 
due to
> > 
> > the
> > 
> > > > CID.  However, when I change the example to use the
> > > 
> > > ConversationalComponent
> > > 
> > > > to perform auto conversation management, it does not work.  To 
test I
> > > > Inject the AutoConversation in the ConversationPage1 and output
> > > > the autoConversation.isAutomatic().  This should return true since 
I
> > > > implemented ConversationalComponent, but it returns false.  I 
also
> > 
> > added
> > 
> > > > @inject Conversation conversation on the test page.  The 
conversation
> > 
> > is
> > 
> > > > transient.
> > > > 
> > > > I believe this is because after you call conversation.begin in the
> > > > autoBeginIfNecessary you have to then associate that CID to the
> > > > conversationContext of the implementation container.  I dont 
think
> > > > ConversationPropagator is automatically associated with the
> > 
> > conversation,
> > 
> > > > because it is instantiated at application.init(), and not during the
> > > > Request, so the instance of autoConversation is not magically
> > 
> > associated
> > 
> > > > with the request until it is done manually.  I'm doing more tests,
> > > 
> > > because
> > > 
> > > > I would love to not need to include a container specific impl, but I
> > > 
> > > afraid
> > > 
> > > > we either have to drop auto conversational support or add a impl 
like
> > > > original design.
> > > > 
> > > > John
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > On Fri, Nov 22, 2013 at 4:30 PM, John Sarman 
<[email protected]>
> > > 
> > > wrote:
> > > >> On Fri, Nov 22, 2013 at 4:19 PM, Emond Papegaaij <
> > > >> 
> > > >> [email protected]> wrote:

Reply via email to