[jboss-jira] [JBoss JIRA] Commented: (JBMESSAGING-1090) Add appropriate Exception handling when hitting MaxSize
Jeff Wilker (JIRA)
jira-events at lists.jboss.org
Wed Jan 16 11:19:19 EST 2008
[ http://jira.jboss.com/jira/browse/JBMESSAGING-1090?page=comments#action_12395348 ]
Jeff Wilker commented on JBMESSAGING-1090:
------------------------------------------
Hi, I am the customer behind this request.
Our application definately needs visibility as to when (durable) messages are dropped because of queue limits being exceeded. We have currently implemented this equivalent functionality in JBM 1.4 by interogating the queue size through the serverPeer MBean on each method send (via an AOP server aspect). This polled approach clearly has performance/synchronization drawbacks.
Jay's suggested overflow queue sounds quite flexible. An AOP callback would probably suffice also.
> Add appropriate Exception handling when hitting MaxSize
> -------------------------------------------------------
>
> Key: JBMESSAGING-1090
> URL: http://jira.jboss.com/jira/browse/JBMESSAGING-1090
> Project: JBoss Messaging
> Issue Type: Feature Request
> Components: Messaging Core
> Affects Versions: 1.4.0.GA
> Reporter: Jay Howell
> Assigned To: Jay Howell
> Priority: Minor
> Fix For: 2.0.0 Beta
>
>
> When using MaxSize for a queue and topic the following behaviors exist
> Queue - When a queue hits MaxSize, the delivery returned in Channel Support is null. This triggers a very generic JMSException to be thrown by looking at the delivery and seeing if it's null in the ServerConnectionEndpoint.
> Topic - When a subscription hits the MaxSize(defined in the topic), the delivery returned will be null, but no check is done and no JMSException is thrown in the ServerConnectionEndpoint.
> What this means is that anyone who wants to put hooks in to gather the messages dropped can't. Either because the exception is too generic or because one is not thrown at all.
> I would purpose that we put proper exception handling down in the ChannelSupport where MaxSize is checked for both queues and subscriptions.
> We would need to Change the The two methods in channel support for send and sendInternal to throw a JMSException. Then we throw a checked Exception in ChannelSupport for MaxSize violations(make a new exception derived from MessagingJMSException).
> Adding proper exception handling to these would allow users to add aspects and notifications when messages are dropped due to MaxSize.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list