In the JBoss BlackTie project I would like to access a clustered EJB from a C++ client and benefit from the clustering support usually provided to clients. I know that Java clients using HA JNDI maintain a consistent view of the cluster membership:
The downloaded smart stub contains the logic to fail-over to another node if necessary and the updated list of currently running nodes. Furthermore, each time a JNDI invocation is made to the server, the list of targets in the stub interceptor is updated (only if the list has changed since the last call). If the property string java.naming.provider.url is empty or if all servers it mentions are not reachable, the JNP client will try to discover a bootstrap HA-JNDI server through a multicast call on the network (auto-discovery)
So in my C++ client code I can lookup my EJB by trying a list of (CORBA) name servers corresponding to an initial set of cluster nodes. However, since JBoss IIOP will not support this "smart stub" referred to in the quote for C++ clients, my issue/question is how do I maintain a valid view of the cluster membership?