Just some thinking out-loud noise for the forum.
My team is creating a transactional engine based on async messaging. We have our own internal async engine but are speculating about using JMS.
Async operations are in-jvm (all pass-by-reference - speedy), we have tried to minimise interaction with other machines in a cluster.
The JBoss JMS is pass-by-value. We are considering creating a bare-bones cut-down JMS engine (no bells/whistles) to be an in-memory pass-by-reference aync engine. We really can't do with all the serialisation to/from destinations for performance reasons.
Q1: Can JBossMQ be pass-by-reference? (non JMS spec-conformant, I know) and avoid nasty serialisation.
Q2: Can JBoss MDB (etc) use another JMS impl, or is it bound to JBossMQ?
That's brilliant. I was having a sniff around that class. I notice you don't recommend cloning the properties. Is the 'trouble' you refer to with the headers is because message sending changes these values? Can you expand on that?