}  str=props.getProperty("external_addr"); if(str != null) { try { external_addr=InetAddress.getByName(str); } catch(UnknownHostException unknown) { if(log.isFatalEnabled()) log.fatal("(external_addr): host " + str + " not known"); return false; } props.remove("external_addr");
    public boolean setProperties(Properties props) {        String str, tmp=null;        super.setProperties(props);        str=props.getProperty("start_port");        if(str != null) {            start_port=Integer.parseInt(str);            props.remove("start_port");        }        // PropertyPermission not granted if running in an untrusted environment with JNLP.        try {            tmp=System.getProperty("bind.address"); // set by JBoss            if(Boolean.getBoolean(IGNORE_BIND_ADDRESS_PROPERTY)) {                tmp=null;            }        }        catch (SecurityException ex){        }        if(tmp != null)            str=tmp;        else            str=props.getProperty("bind_addr");        if(str != null) {            try {                bind_addr=InetAddress.getByName(str);            }            catch(UnknownHostException unknown) {                if(log.isFatalEnabled()) log.fatal("(bind_addr): host " + str + " not known");                return false;            }            props.remove("bind_addr");        }        str=props.getProperty("reaper_interval");        if(str != null) {            reaper_interval=Long.parseLong(str);            props.remove("reaper_interval");        }        str=props.getProperty("conn_expire_time");        if(str != null) {            conn_expire_time=Long.parseLong(str);            props.remove("conn_expire_time");        }        str=props.getProperty("recv_buf_size");        if(str != null) {            recv_buf_size=Integer.parseInt(str);            props.remove("recv_buf_size");        }        str=props.getProperty("send_buf_size");        if(str != null) {            send_buf_size=Integer.parseInt(str);            props.remove("send_buf_size");        }        str=props.getProperty("loopback");        if(str != null) {            loopback=Boolean.valueOf(str).booleanValue();            props.remove("loopback");        }        str=props.getProperty("skip_suspected_members");        if(str != null) {            skip_suspected_members=Boolean.valueOf(str).booleanValue();            props.remove("skip_suspected_members");        }        if(props.size() > 0) {            System.err.println("TCP.setProperties(): the following properties are not recognized:");            props.list(System.out);            return false;        }        return true;    }