kbe*_*bec 5 java java-ee jboss7.x
我写了以下EJB:
@Singleton
@LocalBean
@Startup
public class Starter {
private static final Logger logger = Logger.getLogger("lab");
@PostConstruct
public void init() throws Exception {
for (final Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {
final NetworkInterface iface = en.nextElement();
if (iface.isUp()) {
logger.info(iface);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
在部署时,此日志如下:
name:lo (Software Loopback Interface 1)
name:net0 (WAN Miniport (SSTP))
name:net1 (WAN Miniport (L2TP))
name:net2 (WAN Miniport (PPTP))
name:ppp0 (WAN Miniport (PPPOE))
name:eth0 (WAN Miniport (IPv6))
name:eth1 (WAN Miniport (Network Monitor))
name:eth2 (WAN Miniport (IP))
name:net5 (Intel(R) Wireless WiFi Link 4965AGN)
name:eth7 (Intel(R) Wireless WiFi Link 4965AGN - VirtualBox Bridged Networking Driver Miniport)
name:eth8 (VirtualBox Host-Only Ethernet Adapter)
name:net20 (Intel(R) Wireless WiFi Link 4965AGN-Netmon Lightweight Filter Driver-0000)
name:eth10 (VirtualBox Host-Only Ethernet Adapter-Netmon Lightweight Filter Driver-0000)
name:eth11 (VirtualBox Host-Only Ethernet Adapter-QoS Packet Scheduler-0000)
name:eth12 (VirtualBox Host-Only Ethernet Adapter-WFP LightWeight Filter-0000)
name:eth13 (WAN Miniport (IPv6)-QoS Packet Scheduler-0000)
name:eth14 (WAN Miniport (IP)-QoS Packet Scheduler-0000)
name:eth15 (WAN Miniport (Network Monitor)-Netmon Lightweight Filter Driver-0000)
name:eth16 (WAN Miniport (Network Monitor)-QoS Packet Scheduler-0000)
name:net21 (Intel(R) Wireless WiFi Link 4965AGN-Native WiFi Filter Driver-0000)
name:eth20 (Intel(R) Wireless WiFi Link 4965AGN - VirtualBox Bridged Networking Driver Miniport-Netmon Lightweight Filter Driver-0000)
name:eth21 (Intel(R) Wireless WiFi Link 4965AGN - VirtualBox Bridged Networking Driver Miniport-QoS Packet Scheduler-0000)
name:eth22 (Intel(R) Wireless WiFi Link 4965AGN - VirtualBox Bridged Networking Driver Miniport-WFP LightWeight Filter-0000)
Run Code Online (Sandbox Code Playgroud)
哪个无效.在J2SE运行时上运行的同一循环的输出如下所示:
name:lo (Software Loopback Interface 1)
name:net5 (Intel(R) Wireless WiFi Link 4965AGN)
name:eth8 (VirtualBox Host-Only Ethernet Adapter)
Run Code Online (Sandbox Code Playgroud)
这是应用服务器问题吗?我正在使用JBoss EAP 6.1.0 GA(基于AS 7构建).如何在不打开每个连接的情况下获取有效的NetworkInterfaces列表?除此之外,我想知道哪一个支持多播,但这也总是true如此.
回购
我已经使用Idea的项目在github创建了repo,为jboss和pure jdk运行编译了ear和log .它还包含使用的配置文件和动态加载的库列表.
小智 1
差异是由于使用“-Djava.net.preferIPv4Stack=true”命令行选项造成的,您可能会使用此选项集启动 JBoss JVM。当使用此选项启动独立程序时,它将给出相同的结果。
至于到底为什么会发生这种情况,我仍在寻找。到目前为止,我得出的结论是,当同一物理设备上有多个接口时,有些接口启用了 IPv6,有些接口则禁用了,有些事情会变得混乱。这个“东西”可能是 Windows、JVM 或 NetworkInterface 类。
有关该选项以及 IPv4 和 IPv6 如何在 JVM 中工作的一些信息,请参阅Oracle 的网络 IPv6 用户指南。
Google 搜索“java.net.preferIPv4Stack isUp”会导致OpenJDK 错误报告,该报告实际上指出,在接口上禁用 IPv6 的某些情况下,ifUp() 方法可能无法正常工作。
| 归档时间: |
|
| 查看次数: |
421 次 |
| 最近记录: |