Example usage for org.springframework.util SocketUtils findAvailableTcpPort

List of usage examples for org.springframework.util SocketUtils findAvailableTcpPort

Introduction

In this page you can find the example usage for org.springframework.util SocketUtils findAvailableTcpPort.

Prototype

public static int findAvailableTcpPort() 

Source Link

Document

Find an available TCP port randomly selected from the range [ #PORT_RANGE_MIN , #PORT_RANGE_MAX ].

Usage

From source file:org.springframework.cloud.dataflow.server.single.security.OAuth2ServerResource.java

@Override
protected void before() throws Throwable {

    originalOAuth2Port = System.getProperty(OAUTH2_PORT_PROPERTY);

    this.oauth2ServerPort = SocketUtils.findAvailableTcpPort();

    LOGGER.info("Setting OAuth2 Server port to " + this.oauth2ServerPort);

    System.setProperty(OAUTH2_PORT_PROPERTY, String.valueOf(this.oauth2ServerPort));

    final String configurationLocation = "classpath:/org/springframework/cloud/dataflow/server/single/security/support/oauth2TestServerConfig.yml";

    final Resource resource = new PathMatchingResourcePatternResolver().getResource(configurationLocation);
    if (!resource.exists()) {
        throw new IllegalArgumentException(String
                .format("Resource 'configurationLocation' ('%s') does not exist.", configurationLocation));
    }//from  ww w . j a v a 2 s  . c om

    this.application = new SpringApplicationBuilder(OAuth2TestServer.class).build().run(
            "--spring.cloud.common.security.enabled=false", "--spring.cloud.kubernetes.enabled=false",
            "--spring.config.additional-location=" + configurationLocation);
}

From source file:org.springframework.cloud.function.web.source.FunctionAutoConfigurationIntegrationTests.java

@BeforeClass
public static void init() {
    System.setProperty("server.port", "" + SocketUtils.findAvailableTcpPort());
}

From source file:org.springframework.cloud.sleuth.benchmarks.app.SleuthBenchmarkingSpringApp.java

@Bean
public EmbeddedServletContainerFactory servletContainer(@Value("${server.port:0}") int serverPort) {
    log.info("Starting container at port [" + serverPort + "]");
    return new TomcatEmbeddedServletContainerFactory(
            serverPort == 0 ? SocketUtils.findAvailableTcpPort() : serverPort);
}

From source file:org.springframework.cloud.stream.binder.test.junit.kafka.KafkaTestSupport.java

@Override
protected void obtainResource() throws Exception {
    if (!hasFailedAlready) {
        if (this.embedded) {
            try {
                log.debug("Starting Zookeeper");
                this.zookeeper = new EmbeddedZookeeper("127.0.0.1:" + SocketUtils.findAvailableTcpPort());
                log.debug("Started Zookeeper at " + this.zookeeper.getConnectString());
                try {
                    int zkConnectionTimeout = 10000;
                    int zkSessionTimeout = 10000;
                    this.zkClient = new ZkClient(getZkConnectString(), zkSessionTimeout, zkConnectionTimeout,
                            ZKStringSerializer$.MODULE$);
                } catch (Exception e) {
                    this.zookeeper.shutdown();
                    throw e;
                }// ww  w  .j ava2  s.com
                try {
                    log.debug("Creating Kafka server");
                    Properties brokerConfigProperties = this.brokerConfig;
                    this.brokerConfig.put("zookeeper.connect", this.zookeeper.getConnectString());
                    this.brokerConfig.put("auto.create.topics.enable", "false");
                    this.brokerConfig.put("delete.topic.enable", "true");
                    this.kafkaServer = TestUtils.createServer(new KafkaConfig(brokerConfigProperties),
                            SystemTime$.MODULE$);
                    log.debug("Created Kafka server at " + this.kafkaServer.config().hostName() + ":"
                            + this.kafkaServer.config().port());
                } catch (Exception e) {
                    this.zookeeper.shutdown();
                    this.zkClient.close();
                    throw e;
                }
            } catch (Exception e) {
                hasFailedAlready = true;
                throw e;
            }
        } else {
            this.zkClient = new ZkClient(DEFAULT_ZOOKEEPER_CONNECT, 10000, 10000, ZKStringSerializer$.MODULE$);
            if (ZkUtils.getAllBrokersInCluster(this.zkClient).size() == 0) {
                hasFailedAlready = true;
                throw new RuntimeException("Kafka server not available");
            }
        }
    } else {
        throw new RuntimeException("Kafka server not available");
    }
}

From source file:org.springframework.cloud.stream.test.junit.kafka.KafkaTestSupport.java

@Override
protected void obtainResource() throws Exception {
    if (!hasFailedAlready) {
        if (embedded) {
            try {
                log.debug("Starting Zookeeper");
                zookeeper = new EmbeddedZookeeper("127.0.0.1:" + SocketUtils.findAvailableTcpPort());
                log.debug("Started Zookeeper at " + zookeeper.getConnectString());
                try {
                    int zkConnectionTimeout = 10000;
                    int zkSessionTimeout = 10000;
                    zkClient = new ZkClient(getZkConnectString(), zkSessionTimeout, zkConnectionTimeout,
                            ZKStringSerializer$.MODULE$);
                } catch (Exception e) {
                    zookeeper.shutdown();
                    throw e;
                }/*  www .  j  ava 2s  .  c  o  m*/
                try {
                    log.debug("Creating Kafka server");
                    Properties brokerConfigProperties = brokerConfig;
                    brokerConfig.put("zookeeper.connect", zookeeper.getConnectString());
                    brokerConfig.put("auto.create.topics.enable", "false");
                    brokerConfig.put("delete.topic.enable", "true");
                    kafkaServer = TestUtils.createServer(new KafkaConfig(brokerConfigProperties),
                            SystemTime$.MODULE$);
                    log.debug("Created Kafka server at " + kafkaServer.config().hostName() + ":"
                            + kafkaServer.config().port());
                } catch (Exception e) {
                    zookeeper.shutdown();
                    zkClient.close();
                    throw e;
                }
            } catch (Exception e) {
                hasFailedAlready = true;
                throw e;
            }
        } else {
            this.zkClient = new ZkClient(DEFAULT_ZOOKEEPER_CONNECT, 10000, 10000, ZKStringSerializer$.MODULE$);
            if (ZkUtils.getAllBrokersInCluster(zkClient).size() == 0) {
                hasFailedAlready = true;
                throw new RuntimeException("Kafka server not available");
            }
        }
    } else {
        throw new RuntimeException("Kafka server not available");
    }
}

From source file:org.springframework.integration.ip.tcp.connection.ConnectionEventTests.java

@Test
public void testNetServerExceptionEvent() throws Exception {
    int port = SocketUtils.findAvailableTcpPort();
    AbstractServerConnectionFactory factory = new TcpNetServerConnectionFactory(port);
    testServerExceptionGuts(port, factory);
}

From source file:org.springframework.integration.ip.tcp.connection.ConnectionEventTests.java

@Test
public void testNioServerExceptionEvent() throws Exception {
    int port = SocketUtils.findAvailableTcpPort();
    AbstractServerConnectionFactory factory = new TcpNioServerConnectionFactory(port);
    testServerExceptionGuts(port, factory);
}

From source file:org.springframework.web.client.AbstractJettyServerTestCase.java

@BeforeClass
public static void startJettyServer() throws Exception {
    port = SocketUtils.findAvailableTcpPort();
    jettyServer = new Server(port);
    baseUrl = "http://localhost:" + port;
    ServletContextHandler handler = new ServletContextHandler();
    byte[] bytes = helloWorld.getBytes("UTF-8");
    textContentType = new MediaType("text", "plain", Collections.singletonMap("charset", "UTF-8"));
    jsonContentType = new MediaType("application", "json", Collections.singletonMap("charset", "UTF-8"));
    handler.addServlet(new ServletHolder(new GetServlet(bytes, textContentType)), "/get");
    handler.addServlet(new ServletHolder(new GetServlet(new byte[0], textContentType)), "/get/nothing");
    handler.addServlet(new ServletHolder(new GetServlet(bytes, null)), "/get/nocontenttype");
    handler.addServlet(//from www  .  ja v a2s . c om
            new ServletHolder(new PostServlet(helloWorld, baseUrl + "/post/1", bytes, textContentType)),
            "/post");
    handler.addServlet(new ServletHolder(new JsonPostServlet(baseUrl + "/jsonpost/1", jsonContentType)),
            "/jsonpost");
    handler.addServlet(new ServletHolder(new StatusCodeServlet(204)), "/status/nocontent");
    handler.addServlet(new ServletHolder(new StatusCodeServlet(304)), "/status/notmodified");
    handler.addServlet(new ServletHolder(new ErrorServlet(404)), "/status/notfound");
    handler.addServlet(new ServletHolder(new ErrorServlet(500)), "/status/server");
    handler.addServlet(new ServletHolder(new UriServlet()), "/uri/*");
    handler.addServlet(new ServletHolder(new MultipartServlet()), "/multipart");
    handler.addServlet(new ServletHolder(new DeleteServlet()), "/delete");
    handler.addServlet(new ServletHolder(new PutServlet(helloWorld, bytes, textContentType)), "/put");
    jettyServer.setHandler(handler);
    jettyServer.start();
}

From source file:org.springframework.xd.dirt.plugins.spark.streaming.SparkStreamingPlugin.java

/**
 * Setup {@link org.apache.spark.SparkConf} for the given spark configuration properties.
 *
 * @param masterURL the spark cluster master URL
 * @param sparkConfigs the spark configuration properties
 * @return SparkConf for this spark streaming module
 *///from   w  w w  . j  a  va2s  .c  o  m
private SparkConf setupSparkConf(Module module, String masterURL, Properties sparkConfigs) {
    SparkConf sparkConf = new SparkConf()
            // Set spark UI port to random available port to support multiple spark modules on the same host.
            .set("spark.ui.port", String.valueOf(SocketUtils.findAvailableTcpPort()))
            // Set the cores max so that multiple (at least a few) spark modules can be deployed on the same host.
            .set("spark.cores.max", "3").setMaster(masterURL)
            .setAppName(module.getDescriptor().getGroup() + "-" + module.getDescriptor().getModuleLabel());
    if (sparkConfigs != null) {
        for (String property : sparkConfigs.stringPropertyNames()) {
            sparkConf.set(property, sparkConfigs.getProperty(property));
        }
    }
    List<String> sparkJars = new ArrayList<>();
    // Add jars from spark.jars (if any) set from spark module.
    try {
        String jarsFromConf = sparkConf.get("spark.jars");
        if (StringUtils.hasText(jarsFromConf)) {
            sparkJars.addAll(Arrays.asList(jarsFromConf.split("\\s*,\\s*")));
        }
    } catch (NoSuchElementException e) {
        // should ignore
    }
    sparkJars.addAll(getApplicationJars(module));
    sparkConf.setJars(sparkJars.toArray(new String[sparkJars.size()]));
    return sparkConf;
}

From source file:org.springframework.xd.dirt.security.LdapServerResource.java

@Override
protected void before() throws Throwable {
    apacheDSContainer = new ApacheDSContainer("dc=springframework,dc=org",
            "classpath:org/springframework/xd/dirt/security/testUsers.ldif");
    int ldapPort = SocketUtils.findAvailableTcpPort();
    apacheDSContainer.setPort(ldapPort);
    apacheDSContainer.afterPropertiesSet();
    workingDir = new File(FileUtils.getTempDirectoryPath() + "/" + UUID.randomUUID().toString());
    apacheDSContainer.setWorkingDirectory(workingDir);
    apacheDSContainer.start();//from   w  w w.  j  a  v  a  2 s.  c  o m
    System.setProperty("ldap.port", Integer.toString(ldapPort));
}