final Connector[] connectors = this.server.getConnectors();
if (connectors != null)
{
for (int i = 0; i < connectors.length; i++)
{
final Connector connector = connectors[i];
if (connector.getHost() == null)
{
try
{
final List<NetworkInterface> interfaces = new ArrayList<NetworkInterface>();
final List<NetworkInterface> loopBackInterfaces = new ArrayList<NetworkInterface>();
final Enumeration<NetworkInterface> nis = NetworkInterface.getNetworkInterfaces();
while (nis.hasMoreElements())
{
final NetworkInterface ni = nis.nextElement();
if (ni.isLoopback())
{
loopBackInterfaces.add(ni);
}
else
{
interfaces.add(ni);
}
}
// only add loop back endpoints to the endpoint property if no other endpoint is available.
if (!interfaces.isEmpty())
{
endpoints.addAll(getEndpoints(connector, interfaces));
}
else
{
endpoints.addAll(getEndpoints(connector, loopBackInterfaces));
}
}
catch (final SocketException se)
{
// we ignore this
}
}
else
{
final String endpoint = this.getEndpoint(connector, connector.getHost());
if (endpoint != null)
{
endpoints.add(endpoint);
}
}