Example usage for org.apache.hadoop.conf Configuration getRange

List of usage examples for org.apache.hadoop.conf Configuration getRange

Introduction

In this page you can find the example usage for org.apache.hadoop.conf Configuration getRange.

Prototype

public IntegerRanges getRange(String name, String defaultValue) 

Source Link

Document

Parse the given attribute as a set of integer ranges

Usage

From source file:org.apache.tajo.rpc.NettyServerBase.java

License:Apache License

public static void bind(ServerSocket socket, InetSocketAddress address, int backlog, Configuration conf,
        String rangeConf) throws IOException {
    try {/*w  w w. ja  va 2  s  .  c  o  m*/
        IntegerRanges range = null;
        if (rangeConf != null) {
            range = conf.getRange(rangeConf, "");
        }
        if (range == null || range.isEmpty() || (address.getPort() != 0)) {
            socket.bind(address, backlog);
        } else {
            for (Integer port : range) {
                if (socket.isBound())
                    break;
                try {
                    InetSocketAddress temp = new InetSocketAddress(address.getAddress(), port);
                    socket.bind(temp, backlog);
                } catch (BindException e) {
                    //Ignored
                }
            }
            if (!socket.isBound()) {
                throw new BindException("Could not find a free port in " + range);
            }
        }
    } catch (SocketException e) {
        throw NetUtils.wrapException(null, 0, address.getHostName(), address.getPort(), e);
    }
}