}
catch (RuntimeException e)
{
String s = "Message throttled: Too many messages sent by client "
+ clientId + " in too small of a time interval";
MessageException me = new MessageException(s);
try
{
throttleResult = handleError(settings.getInboundPolicy(), me);
}
catch (MessageException m)
{
throttleResult = RESULT_ERROR;
throw m;
}
finally
{
if ((throttleResult != RESULT_OK) && isManaged())
((ThrottleManagerControl)getControl()).incrementClientIncomingMessageThrottleCount();
}
}
finally
{
inboundClientMarks.put(clientId, clientLevelMark);
}
}
else
{
if (outboundClientMarks.get(clientId) != null)
clientLevelMark = (ThrottleMark) outboundClientMarks.get(clientId);
else
clientLevelMark = new ThrottleMark(clientId);
try
{
clientLevelMark.assertValid(msg, settings.getOutgoingClientFrequency());
}
catch (RuntimeException e)
{
String s = "Message throttled: Too many messages sent to client "
+ clientId + " in too small of a time interval";
MessageException me = new MessageException(s);
try
{
throttleResult = handleError(settings.getOutboundPolicy(), me);
}
catch (MessageException m)