JMS provides powerful asynchronous communication, but it is message-oriented and doesn't support InputStream/OutputStream at all. So it is nearly impossible to send a large file without loading it on memory. How can we acheive this? Let me talk an enhancement of JMS for this issue.
ActiveMQ provides InputStream/OutputStream extension on JMS Connection. And MantaRay JMS also supports similar...