Forgot to add the code and service descriptor is packaged in a sar and copied to the deploy-hasingleton directory if that make a difference.
The bean proxy should be visible in the regular JNDI tree in the node on which it is deployed. Clients needing to access the proxy should use HA-JNDI to find it -- anything bound in the normal JNDI tree on any cluster node will be visible on all nodes via the HA-JNDI service.
I have also configured the RMIAdaptor configured as a singleton so that the clustered queues etc can be flushed by any node in cluster. Why does it's jndi name appear in all the global jndi namespace on each node?
Sorry for a very late reply; probably won't help you but may help others.
HA-JNDI provides two functions:
1) A global replicated tree. Objects bound into this tree (by a client that creates an InitialContext that connects to HA-JNDI) are replicated across the cluster and can be seen in the jmx-console's global jndi namespace on any node.
2) An ability to query the regular, non-replicated jndi tree on any node in the cluster. Thus things bound on any one node can be looked up by connecting to the HA-JNDI server running on any node in the cluster. This is actually the more important function, but it's less intuitively understood. The jmx-console doesn't show objects accessible this way in the global jndi namespace. They only appear in jmx-console in the regular jndi namespace on the server(s) where they are bound. But this doesn't mean a client doing a lookup via HA-JNDI can't find them.
Your RMIAdaptor is bound in local JNDI on the singleton master node, and thus isn't visible in the global jndi namespace. But it can be looked up via HA-JNDI.