WildFly 8 added support for bridging multiple clusters via the RELAY2 JGroups protocol.
Additionally, the Infinispan subsystem can be configured to use RELAY2 to backup cache entries from one data center to another (or many). In such a configuration, a Cache.get(...) will always stay on the LAN, unless there are no nodes in that data center that contain the requested cache entry.
That's good to know.
What about when using MDB or Session Beans ?
It would be preferable that an invocation would stay on the same LAN unless all the nodes are busy.
Session EJBs will always have an affinity for nodes in the originating cluster (i.e. data center). Someone from the messaging team will have to answer your MDB side of your question.