You must take extra steps to enable your programs to interoperate with non-WebSphere Application Server JNDI clients and to bind resources from MQSeries to a name space.
When an EJB application running in WebSphere Application Server V5 or V6 is accessed by a non-WebSphere Application Server EJB client, the JNDI initial context factory is presumed to be a non-WebSphere Application Server implementation. In this case, the default initial context is the cell root. If the JNDI service provider being used supports CORBA object URLs, the corbaname format can be used to look up the EJB home.
The construction of the stringified name depends on whether the object is installed on a single server or cluster.
initialContext.lookup( "corbaname:iiop:myHost:2809#cell/nodes/node1/servers/server1/myEJB");
initialContext.lookup( "corbaname:iiop:myHost:2809#cell/clusters/myCluster/myEJB");
The lookup works with any name server bootstrap host and port configured in the same cell.
The lookup also works if the bootstrap host and port belong to a member of the cluster itself. To avoid a single point of failure, the bootstrap server host and port for each cluster member can be listed in the URL as follows:
initialContext.lookup( "corbaname:iiop:host1:9810,:host2:9810#cell/clusters/myCluster/myEJB");
The name prefix cell/clusters/myCluster/ is not necessary if boostrapping to the cluster itself, but it will work. The prefix is needed, however, when looking up enterprise beans in other clusters. Name bindings under the clusters context are implemented on the name server to resolve to the server root of a running cluster member during a lookup; thus avoiding a single point of failure.
Hashtable env = new Hashtable(); env.put(CONTEXT.PROVIDER_URL, "iiop://myHost:2809"); Context ic = new InitialContext(env); Object o = ic.lookup("cell/clusters/myCluster/myEJB");
In releases
previous to WebSphere Application Server V5, the
MQSeries jmsadmin tool could be used to bind resources to the name space.
When used with a WebSphere Application Server V5
or V6 name space, the resource is bound within a transient partition in the
name space and does not persist past the life of the server process. Instead
of binding the MQSeries resources with the jmsadmin tool, bind them from the WebSphere Application Server administrative console,
under Resources in the console navigation tree.