{
//if (Defines.DEBUG && CAT.isEnabledFor(org.apache.log4j.Level.WARN))
// CAT.warn("aopq is full; waiting to execute op: "+op);
//while (!isStopped() && q.size() >= MAX_QUEUE_SIZE) wait();
boolean timeoutLogsOff = op.timeoutLogsOff();
MessagingNetworkException mex = new MessagingNetworkException(
"session aopq overflow, aop rejected: "+op,
(timeoutLogsOff ?
MessagingNetworkException.CATEGORY_NOT_CATEGORIZED :
MessagingNetworkException.CATEGORY_STILL_CONNECTED),
(timeoutLogsOff ?
MessagingNetworkException.ENDUSER_OPERATION_REJECTED_USER_TOO_ACTIVE_LOGGED_OFF :
MessagingNetworkException.ENDUSER_OPERATION_REJECTED_USER_TOO_ACTIVE_NOT_LOGGED_OFF)
);
op.fail(mex);
op.rethrowExceptionIfFailed();
return op.getId();
}
//startTimeoutTask
{
MessagingTask timeoutTask = new MessagingTask("timeout", op.getSession())
{
public void run() throws Exception
{
boolean timeoutLogsOff = op.timeoutLogsOff();
MessagingNetworkException mex = new MessagingNetworkException(
"operation has timed out: "+op,
(timeoutLogsOff ?
MessagingNetworkException.CATEGORY_NOT_CATEGORIZED :
MessagingNetworkException.CATEGORY_STILL_CONNECTED),
(timeoutLogsOff ?