Description
Currently, the only way to deal with existing scheduled/delayed messages is to use JMX against the JobSchedulerView mbean. This has several drawbacks:
- It requires another connection to the broker.
- It does not participate in HA failover (e.g. master/slave).
- Browsing requires to parse the TabularData and CompositeData objects returned by the remote mbean.
- The mbean doesn't stream data. This means that for instance in a queue with hundreds of thousands of scheduled messages, hitting the getAllJobs mbean operation could kill the broker because of memory problems.
Instead it would be nice to have something like a queue browser (which that can browse the whole queue, see AMQ-2172) for scheduled/delayed messages that can be created with for instance from a session object. Ideally it would also provide support for message selectors to make it easy to get and delete scheduled messages (see AMQ-2940).