Example #1
0
 /** Return the configured address of the bookie. */
 public static BookieSocketAddress getBookieAddress(ServerConfiguration conf)
     throws UnknownHostException {
   String iface = conf.getListeningInterface();
   if (iface == null) {
     iface = "default";
   }
   InetSocketAddress inetAddr =
       new InetSocketAddress(DNS.getDefaultHost(iface), conf.getBookiePort());
   String hostAddress = inetAddr.getAddress().getHostAddress();
   if (conf.getUseHostNameAsBookieID()) {
     hostAddress = inetAddr.getAddress().getCanonicalHostName();
   }
   BookieSocketAddress addr = new BookieSocketAddress(hostAddress, conf.getBookiePort());
   if (addr.getSocketAddress().getAddress().isLoopbackAddress() && !conf.getAllowLoopback()) {
     throw new UnknownHostException(
         "Trying to listen on loopback address, "
             + addr
             + " but this is forbidden by default "
             + "(see ServerConfiguration#getAllowLoopback())");
   }
   return addr;
 }