以下のコードでは、a4j:commandLink (id id="account-link" を使用) が常に機能するとは限りません。
失敗のシナリオ (約 10 回のクリックのうち 1 回発生): クリックすると、a4j:status タグ (移動する待機バーが表示されます) が呼び出されますが、バッキング Bean は呼び出されません。以下はコード全体です。バッキング Bean は会話スコープです。
<rich:dataTable id="accountsDataTable" value="#{accounts}" var="acct"
styleClass="data-table" rowClasses="odd,even"
sortMode="single"
rows="50" rendered="#{accounts != null and accounts.rowCount>0}">
<rich:column id="col1" sortable="true" sortBy="#{acct.customerAccountId}">
<f:facet name="header">Account Number</f:facet>
<a4j:region id="account-link-zone">
<c:choose>
<c:when test="#{identity.isBackOffice}">
<a4j:commandLink action="#{accountSearch.getAndBypassAccount(acct.customerAccountId)}"
value="#{acct.customerAccountId}" eventsQueue="accountSearchQueue"
styleClass="left"/>
</c:when>
<c:otherwise>
<a4j:commandLink action="#{accountVerificationAction.getAccountToVerify(acct.customerAccountId)}"
id="account-link"
reRender="verificationModal"
ajaxSingle="true"
value="#{acct.customerAccountId}" eventsQueue="accountSearchQueue"
styleClass="left" limitToList="true"/>
</c:otherwise>
</c:choose>
</a4j:region>
<a4j:status startStyle="left" id="account-link-status" for="account-link-zone">
<f:facet name="start">
<img alt="status" src="../../img/spinner-inline.gif"/>
</f:facet>
<f:facet name="stop">
</f:facet>
</a4j:status>
</rich:column>