Hi, just wondered peoples thoughts on this situation? The queue mbeans have an operation to view a list of the messages on the queue, specifying low/high message number of interest: viewMessages(int fromIndex, int toIndex). These numbers are indexed by position on the queue.
Using the results of this operation to determine a message's AMQ message ID, you can then view the contents of a message using viewMessageContent(long msgID) indexed by the AMQ message ID long value gained from looking at the results of the viewMessages operation. In the new UI for the console I am currently doing the viewMessages() operation across the entire positive Integer range and displaying a list of all messages on the queue for users, and when they use the viewMessageContent() operation the UI is implicitly fetching the AMQ ID from the selected message to perform the operation. As such, users are no longer exposed to the difference in indexing (though anyone using JConsole etc still will be). The main issue remaining would be that the viewMessages() operation is inherantly limited to the first 2^31 undelivered messages on the queue at any given time. When I originally noticed that viewMessages was using ints and viewMessageContent was using longs i had thought the situation was worse than it actually is, because it mentioned in the interface that they are indexed differently(though becomes obvious after use). However, some of the other related methods such as getMessageCount() are also limited to int (getMaximumMessageCount() returns long however) and the implementations of the methods in SimpleAMQQueue are inherantly limited to int as well through use of Lists etc. Given that it is 2^31 undelivered messages in the queue which can be viewed, should I still look to add expanding it to Long to the end of the list following the other UI work or that sufficient and I can just leave it be since it wont be of any need until such time as the Queue implementation supports it anyway? Robbie