ho scritto seguente EJB:Ogni NetworkInterface enumerato all'interno JBoss sempre ISUP
@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);
}
}
}
}
Su distribuire questa registra come:
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)
Il che non è valido. Uscita da questo stesso ciclo in esecuzione sul runtime di J2SE assomiglia:
name:lo (Software Loopback Interface 1)
name:net5 (Intel(R) Wireless WiFi Link 4965AGN)
name:eth8 (VirtualBox Host-Only Ethernet Adapter)
questo è un problema di server di applicazione? Sto usando JBoss EAP 6.1.0 GA (che è basato su AS 7). Come ottenere un elenco valido di NetworkInterfaces in esecuzione senza aprire la connessione su ciascuno di essi? Oltre a questo, voglio sapere quale supporta il multicast, ma questo è sempre true
.
Repo
ho creato repo at github con il progetto di Idea, compiled ear e tronchi per la corsa sia jboss e pure di JDK. Esso contiene anche used configuration file e list of dynamically loaded libraries.
Stai utilizzando lo stesso JRE? Oppure JBoss usa per es. OpenJDK e la tua app standalone Oracle JRE? JBoss utilizza (facoltativamente) librerie native per ssl e network e file io, ma dubito che abbia qualcosa a che fare con il tuo problema. – greyfairer
Sì, sia pure loop che ejb sono stati testati su questo stesso 'jdk1.7.0_21_i586' da Oracle – kbec
SecurityManager può limitare il numero di interfacce di rete che è possibile vedere, ma non dovrebbe influire sullo stato di isUp ... provi a correre senza i moduli nativi? IIRC, si chiamano libapr-1.so e libapr-util-1.so. – greyfairer