On 09/06/2012 06:24 PM, mick wrote:
It seemed reasonable to me to keep it within the queue code, because browse-only-ness is a property of queues, and not of sessions.
While I agree there is some logic to that, I think the interface for subscribers to the queue is sufficiently ugly at present that it seems less neat to pursue that option. At least to me.
For example having subscribers themselves decide if they acquired the message then directly calling dequeue() is ugly and necessitates ugliness if trying to keep everything in the queue.
By moving the enforcement of browse-only-ness out of the queue code, it seems to me that opens a possibility that some other pathway will someday be created -- not through the SessionAdapter code -- that will unknowingly violate the browse-only-ness of the Queue.
Fair point, how about a test on Queue::consume() that throws an error for any attempt to pass in an acquiring 'consumer'. (The terminology in this part of the code makes me weep!)
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
