Example usage for javax.net ServerSocketFactory createServerSocket

List of usage examples for javax.net ServerSocketFactory createServerSocket

Introduction

In this page you can find the example usage for javax.net ServerSocketFactory createServerSocket.

Prototype

public abstract ServerSocket createServerSocket(int port, int backlog) throws IOException;

Source Link

Document

Returns a server socket bound to the specified port, and uses the specified connection backlog.

Usage

From source file:com.emc.xtest.analyzer.dao.xDBProvider.XDBManager.java

public synchronized void startDatabase() throws XDBEngineException {
    String nodeName = XhiveFederationIf.PRIMARY_NODE_NAME;

    m_driverToLocalServer = XhiveDriverFactory.getDriver(bootstrapFile.getAbsolutePath(), nodeName);
    if (!m_driverToLocalServer.isInitialized()) {

        int cachePages = getCachePages();
        m_driverToLocalServer.init(cachePages);
        logger.info("Initialize xDB driver to local server with cache pages: " + String.valueOf(cachePages));
    }//from w  ww .j a  v  a  2 s .  com
    if (logger.isDebugEnabled())
        m_driverToLocalServer.setStoreStackTraceInLock(true);
    ServerSocket socket;
    ServerSocketFactory factory = ServerSocketFactory.getDefault();
    int port = getPortFromXhiveFederation(nodeName);
    try {
        socket = factory.createServerSocket(port, 0);
        m_driverToLocalServer.startListenerThread(socket);
    } catch (UnknownHostException e) {
        throw new XDBEngineException("startDatabase UnknownHostException:" + e);
    } catch (IOException e) {
        throw new XDBEngineException("startDatabase IOException:" + e);
    }

    if (XhiveFederationIf.PRIMARY_NODE_NAME.equals(nodeName)) {
        initializeDriverForPrimaryServer();
        try {
            setKeepXDBTransactionalLog(false);
        } catch (Throwable t) {
            logger.warn("Failed to synchronize keep-xdb-transactional-log option", t);
        }
    }
    m_started = true;
}

From source file:net.jradius.server.TCPListener.java

public void setConfiguration(ListenerConfigurationItem cfg, boolean noKeepAlive)
        throws KeyStoreException, NoSuchAlgorithmException, CertificateException, UnrecoverableKeyException,
        KeyManagementException, IOException {
    keepAlive = !noKeepAlive;/*from   w w w  .j a  v a 2 s.c om*/
    config = cfg;

    Map props = config.getProperties();

    String s = (String) props.get("port");
    if (s != null)
        port = new Integer(s).intValue();

    s = (String) props.get("backlog");
    if (s != null)
        backlog = new Integer(s).intValue();

    if (keepAlive) {
        s = (String) props.get("keepAlive");
        if (s != null)
            keepAlive = new Boolean(s).booleanValue();
    }

    String useSSL = (String) props.get("useSSL");
    String trustAll = (String) props.get("trustAll");

    if (requiresSSL || "true".equalsIgnoreCase(useSSL)) {
        KeyManager[] keyManagers = null;
        TrustManager[] trustManagers = null;

        String keyManager = (String) props.get("keyManager");

        if (keyManager != null && keyManager.length() > 0) {
            try {
                KeyManager manager = (KeyManager) Configuration.getBean(keyManager);
                keyManagers = new KeyManager[] { manager };
            } catch (Exception e) {
                e.printStackTrace();
            }
        } else {
            String keystore = (String) props.get("keyStore");
            String keystoreType = (String) props.get("keyStoreType");
            String keystorePassword = (String) props.get("keyStorePassword");
            String keyPassword = (String) props.get("keyPassword");

            if (keystore != null) {
                if (keystoreType == null)
                    keystoreType = "pkcs12";

                KeyStore ks = KeyStore.getInstance(keystoreType);
                ks.load(new FileInputStream(keystore),
                        keystorePassword == null ? null : keystorePassword.toCharArray());

                KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
                kmf.init(ks, keyPassword == null ? null : keyPassword.toCharArray());
                keyManagers = kmf.getKeyManagers();
            }
        }

        String trustManager = (String) props.get("trustManager");

        if (trustManager != null && trustManager.length() > 0) {
            try {
                TrustManager manager = (TrustManager) Configuration.getBean(trustManager);
                trustManagers = new TrustManager[] { manager };
            } catch (Exception e) {
                e.printStackTrace();
            }
        } else if ("true".equalsIgnoreCase(trustAll)) {
            trustManagers = new TrustManager[] { new X509TrustManager() {
                public void checkClientTrusted(X509Certificate[] chain, String authType) {

                }

                public void checkServerTrusted(X509Certificate[] chain, String authType) {

                }

                public X509Certificate[] getAcceptedIssuers() {
                    return new X509Certificate[0];
                }
            } };
        } else {
            String keystore = (String) props.get("caStore");
            String keystoreType = (String) props.get("caStoreType");
            String keystorePassword = (String) props.get("caStorePassword");

            if (keystore != null) {
                if (keystoreType == null)
                    keystoreType = "pkcs12";

                KeyStore caKeys = KeyStore.getInstance(keystoreType);
                caKeys.load(new FileInputStream(keystore),
                        keystorePassword == null ? null : keystorePassword.toCharArray());
                TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
                tmf.init(caKeys);
                trustManagers = tmf.getTrustManagers();
            }
        }

        SSLContext sslContext = SSLContext.getInstance("SSLv3");
        sslContext.init(keyManagers, trustManagers, null);

        ServerSocketFactory socketFactory = sslContext.getServerSocketFactory();
        SSLServerSocket sslServerSocket = (SSLServerSocket) socketFactory.createServerSocket(port, backlog);
        serverSocket = sslServerSocket;

        if (sslWantClientAuth)
            sslServerSocket.setWantClientAuth(true);

        if (sslNeedClientAuth)
            sslServerSocket.setNeedClientAuth(true);

        if (sslEnabledProtocols != null)
            sslServerSocket.setEnabledProtocols(sslEnabledProtocols);

        if (sslEnabledCiphers != null)
            sslServerSocket.setEnabledCipherSuites(sslEnabledCiphers);

        usingSSL = true;
    } else {
        serverSocket = new ServerSocket(port, backlog);
    }

    serverSocket.setReuseAddress(true);
    setActive(true);
}