Well - this is a simple and compact solution that is entirely based on a single class derived from DefaultMessageListenerContainer. I have only tested with message-driven-channel-adapter and a ChainedTransactionManager though - since this is sort of the basic scenario when needing to do stuff like this. This is the code:...