I'm considering using ActiveMQ for an app that would transfer a large number of messages over the http transport (across firewalls/internet). I would want to use async messages (i.e. useAsyncSend=true) to boost performance.
Would it make sense to introduce a BufferedTransportFilter to boost performance even further? (considering the fact that these messages would be traveling over the internet). That is, the BufferedTransportFilter would wait a configurable amount of time before "batching together" all the messages it received so far (or after some configurable limit in terms of bytes and/or number of messages) and then pass this on to the next Transport. Ideally, the Transport API would have to be extended to allow for a onewayBatch(List<Object> messageBatch) method (and the default implementation would just iterate over the list and rely on the existing oneway(Object) method. HttpClientTransport could then be extended to allow for a single POST to send multiple messages over the internet.
Is this something that was considered? Or that exists in some other form that I missed while going through the sources?
I'd be willing to contribute some time for implementing this if the maintainers think its a worthwhile feature to have.