I've had to revert the latest change to OrderedExecutorFactory that altered it to use a LinkedBlockingQueue - this change introduced a race condition which meant that Runnables didn't get executed.
This resulted in messages appearing to silently "disappear".
I have reverted back the old version for now.