I have a need to set the message selector attribute of a Consumer so that one queue can service multiple related service POJOs. The attached patch implements basic functionality for this by modifying JmsClientInterceptor and JmsServiceExporter. JmsClientInterceptor gains a 'jmsType' property which will be set on outgoing messages if not empty. JmsServiceExporter gains a 'messageSelector' property which (if not empty) is used when the Consumer instance is created.
A useful future enhancement would be to expose the other setJMS* and set*Property methods of Message. Maybe by providing a prototype Message instance to JmsClientInterceptor?
I've added a messageProperties to the JmsClientInterceptor so that you can supply an arbitrary number of set*Property values.
I've also added support for JMSPriority and JMSExpiraration, so I think we've got all the JMS* properties covered now.