When I move everything to a single server environment i.e. deploy everything to one server, I get 100% success. There seems to be an issue when I split the application over multiple machines.
I have made more progress / discoveries and I think I now know how to ask the question better.
Consider the following configuration:
server1 - servlet and destinations
server2 - MDB and destinations
the destinations are configured with clustered=true.
When I run my tests, about half the messages end up on each server. However, the MDB only processes the messages that appear on the destinations on server2 i.e. the same server as its deployed on. How do I get my MDB to process messages on a clustered destination when the message is on a different server? Do I need to have the MDB deployed on both servers as well?
Message redistribtuion has been imporoved in JBM 1.4.0 and works somewhat differently to 1.3.0.
I suggest you try out 1.4.0.CR2 or 1.4.0.GA when they are released shortly