Hi Friends,
I am working on concurrent conversation. I am facing some problem in generating nested conversation with custom ID .
My Session bean starts a conversation :
@Stateful @Name("CalcOne") @Scope(ScopeType.SESSION) public class CalcContestBean implements CalcContext{ /* * (2) method called by UI to start a nested Conversation */ public String startViewCalendar(){ //I get instance of Conversation bean where i want to start a nested ocoversation CalcTwoContext cal=(CalcTwoContext)Component.getInstance("CalcTwo",true); Contexts.getConversationContext().set("userInconversation","myID"); //(3) : code to be inserted as tweak cal.startViewCalendar(); return ""; } /* * (1) method to start parent conversation */ @Begin(id="parent" , join=true) public String showAttendees(){ return ""; } @End public String hideAttendees(){ return ""; } }
I call (1):showAttendees to start a parent conversation which results in a conversation with id parent
and than i call (2):startViewCalendar to start a nested conversation with id myId
.
I am not able to start a nested conversation with myId
.Seam generates its own conversation id which hinder my logic.
In order to generate myId
i need to put following code at (3):startViewCalendarn which creates conversation but kills nesting.
if(Conversation.instance().isLongRunning()){ Conversation.instance().leave(); }
My Conversation bean is :
@Stateful @Name("calcTwo") @Scope(ScopeType.CONVERSATION) public class CalcTwoBean implements CalcTwoContext @End public String endViewCalendar(){ return ""; } @Begin(id="#{userInconversation}",nested = true) public String startViewCalendar(){ log.info("Conversation {0}",Conversation.instance().getId()); return ""; } }
Thanks in Advance,
Pulkit
I am Sorry guys its Custom Id in Nested Conversation
ooops!