Can you supply more info? Who owns the queue? You or another app? Is it a synchronized confirmed delivery?
I own the queues, and they are confirmed delivery.
The idea of the application is that I have a queue for messages that needs to be distributed to other applications (External to my system).
Each external application can only handle a fixed amount of messages per second so I need to throttle the speed down to match their rate.
The only existing feature to sort of emulate throttling is to use scheduled messages. Or, track the rate using a singleton counter and sleep() appropriately.
The real way to implement this would be to extend the generic JMS resource adapter.
I've taken a look at adding throttling ("flow control") by creating a plug-in interface, but I didn't really need it after all. I got stuck coming up with a decent way to configure such a thing. Really what you want the RA to call is something registered (in JNDI? in the MBean server? Class.forName.newInstance()?) but then really have per-instance (MDB) configuration parameters.