我有一个包含1个管理服务器和4个受控服务器的WebLogic 11g域,它们在2台计算机上运行。每台机器都有3个ip地址,但另一台机器只能看到其中的一个地址。每台机器都运行一个节点管理器,它似乎可以在彼此和管理服务器之间很好地通信。但是,当受控服务器在第二台机器上启动时,它无法与管理服务器通信,因为它使用了错误的ip地址。似乎当weblogic启动时,它将自己映射到所有ip地址,但选择了错误的地址作为第一个地址,即默认地址。这就是受控服务器从节点管理器接收错误信息的原因。
有没有办法在weblogic 11g中设置首选侦听地址,同时仍然允许它侦听所有其他地址?weblogic如何获取ip地址列表?它们的顺序取决于操作系统吗?
发布于 2011-05-19 08:33:45
this回答问题了吗?我相信,如果您使用/etc/sysconfig中的脚本,您将影响加载顺序,从而影响枚举顺序。我必须承认,我这里没有RH盒子来证实这种怀疑。
发布于 2012-07-19 06:54:25
Weblogic使用NetworkInterface.getNetworkInterfaces()方法和他自己的逻辑来设置侦听地址的顺序。此逻辑从10.3.2更改为10.3.4。
相关代码位于weblogic.jar中weblogic.server.channels.AddressUtils$AddressMaker类的getAllAddresses方法中
你可以通过一个简单的测试来检查订单:
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);
}
}
}
https://stackoverflow.com/questions/6055153
复制