Actually it's even easier than that - just store the large message in the result runner Runnable.The concurrent queue functionality already exists in RemotingConnectionImpl - then you can be sure you're using the correct one.