当前位置: 首页>>代码示例>>Java>>正文


Java BindException.initCause方法代码示例

本文整理汇总了Java中java.net.BindException.initCause方法的典型用法代码示例。如果您正苦于以下问题:Java BindException.initCause方法的具体用法?Java BindException.initCause怎么用?Java BindException.initCause使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.net.BindException的用法示例。


在下文中一共展示了BindException.initCause方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createServerSocket

import java.net.BindException; //导入方法依赖的package包/类
public ServerSocket createServerSocket(int nport, int backlog, InetAddress bindAddr,
    List<GatewayTransportFilter> transportFilters, int socketBufferSize) throws IOException {
  if (transportFilters.isEmpty()) {
    return createServerSocket(nport, backlog, bindAddr, socketBufferSize);
  } else {
    printConfig();
    ServerSocket result = new TransportFilterServerSocket(transportFilters);
    result.setReuseAddress(true);
    // Set the receive buffer size before binding the socket so
    // that large buffers will be allocated on accepted sockets (see
    // java.net.ServerSocket.setReceiverBufferSize javadocs)
    result.setReceiveBufferSize(socketBufferSize);
    try {
      result.bind(new InetSocketAddress(bindAddr, nport), backlog);
    } catch (BindException e) {
      BindException throwMe =
          new BindException(LocalizedStrings.SocketCreator_FAILED_TO_CREATE_SERVER_SOCKET_ON_0_1
              .toLocalizedString(new Object[] {bindAddr, Integer.valueOf(nport)}));
      throwMe.initCause(e);
      throw throwMe;
    }
    return result;
  }
}
 
开发者ID:ampool,项目名称:monarch,代码行数:25,代码来源:SocketCreator.java

示例2: openListeners

import java.net.BindException; //导入方法依赖的package包/类
/**
 * Open the main listener for the server
 * @throws Exception
 */
void openListeners() throws Exception {
  for (Connector listener : listeners) {
    if (listener.getLocalPort() != -1) {
      // This listener is either started externally or has been bound
      continue;
    }
    int port = listener.getPort();
    while (true) {
      // jetty has a bug where you can't reopen a listener that previously
      // failed to open w/o issuing a close first, even if the port is changed
      try {
        listener.close();
        listener.open();
        LOG.info("Jetty bound to port " + listener.getLocalPort());
        break;
      } catch (BindException ex) {
        if (port == 0 || !findPort) {
          BindException be = new BindException("Port in use: "
              + listener.getHost() + ":" + listener.getPort());
          be.initCause(ex);
          throw be;
        }
      }
      // try the next port number
      listener.setPort(++port);
      Thread.sleep(100);
    }
  }
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:34,代码来源:HttpServer2.java

示例3: openListener

import java.net.BindException; //导入方法依赖的package包/类
/**
 * Open the main listener for the server
 * @throws Exception
 */
void openListener() throws Exception {
  if (listener.getLocalPort() != -1) { // it's already bound
    return;
  }
  if (listenerStartedExternally) { // Expect that listener was started securely
    throw new Exception("Expected webserver's listener to be started " +
        "previously but wasn't");
  }
  int port = listener.getPort();
  while (true) {
    // jetty has a bug where you can't reopen a listener that previously
    // failed to open w/o issuing a close first, even if the port is changed
    try {
      listener.close();
      listener.open();
      break;
    } catch (BindException ex) {
      if (port == 0 || !findPort) {
        BindException be = new BindException(
            "Port in use: " + listener.getHost() + ":" + listener.getPort());
        be.initCause(ex);
        throw be;
      }
    }
    // try the next port number
    listener.setPort(++port);
    Thread.sleep(100);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:34,代码来源:HttpServer.java

示例4: openListeners

import java.net.BindException; //导入方法依赖的package包/类
/**
 * Open the main listener for the server
 * @throws Exception
 */
void openListeners() throws Exception {
  for (ListenerInfo li : listeners) {
    Connector listener = li.listener;
    if (!li.isManaged || li.listener.getLocalPort() != -1) {
      // This listener is either started externally or has been bound
      continue;
    }
    int port = listener.getPort();
    while (true) {
      // jetty has a bug where you can't reopen a listener that previously
      // failed to open w/o issuing a close first, even if the port is changed
      try {
        listener.close();
        listener.open();
        LOG.info("Jetty bound to port " + listener.getLocalPort());
        break;
      } catch (BindException ex) {
        if (port == 0 || !findPort) {
          BindException be = new BindException("Port in use: "
              + listener.getHost() + ":" + listener.getPort());
          be.initCause(ex);
          throw be;
        }
      }
      // try the next port number
      listener.setPort(++port);
      Thread.sleep(100);
    }
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:35,代码来源:HttpServer.java

示例5: bind

import java.net.BindException; //导入方法依赖的package包/类
@Override
public void bind() throws Exception {

    // Initialize thread count defaults for acceptor
    if (acceptorThreadCount == 0) {
        acceptorThreadCount = 1;
    }
    // Initialize maxConnections
    if (getMaxConnections() == 0) {
        // User hasn't set a value - use the default
        setMaxConnections(getMaxThreadsInternal());
    }

    if (serverSocketFactory == null) {  //构造serverSocketFactory
        if (isSSLEnabled()) {
            serverSocketFactory =
                handler.getSslImplementation().getServerSocketFactory(this);
        } else {
            serverSocketFactory = new DefaultServerSocketFactory(this);
        }
    }

    if (serverSocket == null) {
        try {
            if (getAddress() == null) {
                serverSocket = serverSocketFactory.createSocket(getPort(),
                        getBacklog());
            } else {
                serverSocket = serverSocketFactory.createSocket(getPort(),
                        getBacklog(), getAddress());
            }
        } catch (BindException orig) {
            String msg;
            if (getAddress() == null)
                msg = orig.getMessage() + " <null>:" + getPort();
            else
                msg = orig.getMessage() + " " +
                        getAddress().toString() + ":" + getPort();
            BindException be = new BindException(msg);
            be.initCause(orig);
            throw be;
        }
    }

}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:46,代码来源:JIoEndpoint.java

示例6: bind

import java.net.BindException; //导入方法依赖的package包/类
@Override
public void bind() throws Exception {

    // Initialize thread count defaults for acceptor
    // 接收sokcet请求的线程的数量 非常轻量级 只负责拿到后稍微包装后转发给processor 可以适量增大线程数 比如3个或者5个
    if (acceptorThreadCount == 0) {
        acceptorThreadCount = 1;
    }
    // Initialize maxConnections
    // 如果server.xml中没有配置maxConnections参数 默认为200
    if (getMaxConnections() == 0) {
        // User hasn't set a value - use the default
        setMaxConnections(getMaxThreadsInternal());//200 所以tomcat默认的最大连接数量是200个
    }

    if (serverSocketFactory == null) {
        if (isSSLEnabled()) {
            serverSocketFactory =
                handler.getSslImplementation().getServerSocketFactory(this);
        } else {
            //
            serverSocketFactory = new DefaultServerSocketFactory(this);
        }
    }

    if (serverSocket == null) {
        try {
            if (getAddress() == null) {
                serverSocket = serverSocketFactory.createSocket(getPort(),
                        getBacklog());
            } else {
                serverSocket = serverSocketFactory.createSocket(getPort(),
                        getBacklog(), getAddress());
            }
        } catch (BindException orig) {
            String msg;
            if (getAddress() == null)
                msg = orig.getMessage() + " <null>:" + getPort();
            else
                msg = orig.getMessage() + " " +
                        getAddress().toString() + ":" + getPort();
            BindException be = new BindException(msg);
            be.initCause(orig);
            throw be;
        }
    }

}
 
开发者ID:sunmingshuai,项目名称:apache-tomcat-7.0.73-with-comment,代码行数:49,代码来源:JIoEndpoint.java

示例7: bind

import java.net.BindException; //导入方法依赖的package包/类
@Override
public void bind() throws Exception {

	// Initialize thread count defaults for acceptor
	if (acceptorThreadCount == 0) {
		acceptorThreadCount = 1;
	}
	// Initialize maxConnections
	if (getMaxConnections() == 0) {
		// User hasn't set a value - use the default
		setMaxConnections(getMaxThreadsInternal());
	}

	if (serverSocketFactory == null) {
		if (isSSLEnabled()) {
			serverSocketFactory = handler.getSslImplementation().getServerSocketFactory(this);
		} else {
			serverSocketFactory = new DefaultServerSocketFactory(this);
		}
	}

	if (serverSocket == null) {
		try {
			if (getAddress() == null) {
				serverSocket = serverSocketFactory.createSocket(getPort(), getBacklog());
			} else {
				serverSocket = serverSocketFactory.createSocket(getPort(), getBacklog(), getAddress());
			}
		} catch (BindException orig) {
			String msg;
			if (getAddress() == null)
				msg = orig.getMessage() + " <null>:" + getPort();
			else
				msg = orig.getMessage() + " " + getAddress().toString() + ":" + getPort();
			BindException be = new BindException(msg);
			be.initCause(orig);
			throw be;
		}
	}

}
 
开发者ID:how2j,项目名称:lazycat,代码行数:42,代码来源:JIoEndpoint.java


注:本文中的java.net.BindException.initCause方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。