當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。