0

我有一个 WebLogic 11g 域,其中 1 台管理服务器和 4 台托管服务器在 2 台机器上运行。每台机器有 3 个 ip 地址,但另一台机器只能看到其中一个地址。每台机器都运行一个节点管理器,该节点管理器似乎可以在彼此和管理服务器之间正常通信。虽然当托管服务器在第二台机器上启动时,它无法与管理服务器通信,因为它使用了错误的 IP 地址。看来,当 weblogic 启动时,它会将自己映射到所有 ip 地址,但选择错误的一个作为第一个,即默认值。这就是托管服务器从节点管理器接收错误信息的原因。

有没有办法在 weblogic 11g 中设置首选监听地址,但仍然允许它监听所有其他地址?weblogic如何获取IP地址列表?它们的顺序是否依赖于操作系统?

4

2 回答 2

2

能回答问题吗?我相信如果您使用 /etc/sysconfig 中的脚本,您将影响加载顺序,进而影响枚举顺序。我必须承认,我这里没有 RH 框来证实这种怀疑。

于 2011-05-19T08:33:44.970 回答
1

Weblogic 使用NetworkInterface.getNetworkInterfaces()方法和他自己的逻辑来设置监听地址的顺序。此逻辑从 10.3.2 更改为 10.3.4。

相关代码在weblogic.jar中类weblogic.server.channels.AddressUtils$AddressMakergetAllAddresses 方法中

您可以通过简单的测试检查订单:

import java.net.*;
import weblogic.server.channels.*;

public class TestIP_WLS {

    public static void main(String args[]) throws UnknownHostException {
        System.out.println("=== AddressUtils.getIPAny()");
        InetAddress addrs[] = AddressUtils.getIPAny();
        for (InetAddress addr : addrs) {
            System.out.println("*** " + addr);
        }
    }
}
于 2012-07-19T06:54:25.173 回答