Check the following:
1). Routing is enabled in tibemsd.conf in both EMS servers.
2). If authorization is enabled in tibemsd.conf, the file users.conf needs to have the other server name/password (as configured in tibemsd.conf).
3). Route is created in routes.conf in one (active-passive) or both EMS servers (active-active).
If 1-3 above are done properly, the routing connection should be established between the two servers. Run "show routes" in tibemsadmin. There should be a connection ID instead of "-" for the route.
4). The topic/queue needs to have the property "global".
5). If authorization is enabled in EMS and the topic/queue has the "secure" property, acl.conf needs to have the right permission for the other server on this topic/queue.
6). For routing on a queue, the home queue is on one EMS (i.e., queue.sample on EMS-SERVER) and the routed queue is on the other (i.e., queue.sample@EMS-SERVER). EMS-SERVER is the name of server in tibemsd.conf of the home queue server, not the server URL.
7). If it is routing on topic, the non-durable subscriber must be running in order for the message to be routed. In contrast, routing happens automatically if there are durable subscribers.
8). If it is routing on queue, the receiver on the routed queue must be running for the message to be routed from the home server to the routed queue server. In contrast, messages are routed automatically from routed server to home server.
If routing does not happen, enable tracing on both servers:
set server log_trace=DEFAULT,+CONNECT,+PRODCONS,+ROUTE,+ROUTE_DEBUG
addprop queue <queue> trace or addprop topic <topic> trace
Check the EMS server logs for any errors related to routing (i.e route disconnected or permission, etc.).
For further help, contact TIBCO Support. Provide your EMS server configuration files and EMS server logs.