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:
