[jboss-user] [JBoss Seam] - Manager.switchConversation via Ajax4JSF actionListener doesn

objectbay do-not-reply at jboss.com
Tue Jan 15 09:42:32 EST 2008


Hi all,

I'm using Seam 1.2.1 GA on JBoss 4.0.5.

I have a conversation list dropdown in my facelet view, like this:

<h:selectOneMenu id="conversations" class="navlist"
  |     value="#{switcher.conversationIdOrOutcome}" >
  |     <f:selectItems value="#{switcher.selectItems}"/>
  |     <a:support event="onchange"
  |     	onsubmit="showLoading('NavForm:conversations')"
  |     	oncomplete="hideLoading();"
  |     	actionListener="#{switcher.select}"			    	 
  |     	reRender="navlists" />
  | </h:selectOneMenu>

Switching conversations with a:support doesn't work in a stable manner. In particular, the ce.lock() call in the following code snippet (from org.jboss.seam.core.Manager) returns false (tryLock times out) under circumstances I don't really understand:

public boolean switchConversation(String id)
  | {
  |   ConversationEntry ce = ConversationEntries.instance().getConversationEntry(id);
  |   if (ce!=null)
  |   {
  |      if ( ce.lock() )
  |      {
  |         unlockConversation();
  |         setCurrentConversationId(id);
  |         setCurrentConversationIdStack( ce.getConversationIdStack() );
  |         setLongRunningConversation(true);
  |         return true;
  |      }
  |      else
  |      {
  |         return false;  // <-- times out (sometimes, not always), conversation not switched
  |      }
  |   }
  |   else
  |   {
  |      return false;
  |   }
  | }

What does the call to ce.lock() really mean? And can anybody explain why this would fail? 

Is there a problem with calling switcher.select() from an a:support? And is that in any way related to http://jira.jboss.org/jira/browse/JBSEAM-1832?

thanks,
Karl

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4120106#4120106

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4120106



More information about the jboss-user mailing list