有没有办法配置JNDI,所以查找首先检查localhost,如果找不到匹配的名称,它会自动发现其他jndi服务器?
答案 0 :(得分:1)
我对文档的理解是,这是使用群集时的默认行为:
16.2.2. Client configuration
JNDI客户端需要注意 HA-JNDI集群。你可以传递一个 JNDI服务器列表(即节点) 在HA-JNDI集群中)
java.naming.provider.url
JNDI 在jndi.properties
文件中设置。 每个服务器节点由其标识 IP地址和JNDI端口号。 服务器节点由...分隔 逗号(请参阅Section 16.2.3, “JBoss configuration”了解如何配置 服务器和端口)。java.naming.provider.url=server1:1100,server2:1100,server3:1100,server4:1100
初始化时,JNP客户端代码 将尝试与每个人取得联系 列表中的服务器节点,一个之后 另一个,尽快停止 服务器已到达。然后它会 从这里下载HA-JNDI存根 节点
注意 - JNP客户端查找中没有负载平衡行为 处理。它只是经历了 提供者列表并使用第一个 可用服务器。 HA-JNDI提供者 list只需要包含一个子集 集群中的HA-JNDI节点。
下载的智能存根包含 故障转移到另一个节点的逻辑 必要的和更新的清单 目前运行节点。此外, 每次进行JNDI调用时 服务器,目标列表 存根拦截器更新(仅限于 列表自上次以来发生了变化 呼叫)。
如果属性字符串
java.naming.provider.url
为空或 如果它提到的所有服务器都没有 可达,JNP客户端将尝试 发现一个引导程序HA-JNDI服务器 通过多播呼叫 网络(自动发现)。看到 关于如何配置Section 16.2.3, “JBoss configuration” JNDI服务器上的自动发现 节点。通过自动发现, 客户端可能能够获得有效的 没有任何HA-JNDI服务器节点 组态。当然,为了 自动发现工作,客户端 必须和它一样驻留在同一个局域网中 服务器集群(例如,web servlet 使用EJB服务器)。 LAN或WAN 还必须配置为传播 这样的组播数据报。