List of usage examples for org.springframework.util SocketUtils findAvailableTcpPort
public static int findAvailableTcpPort(int minPort)
From source file:org.springframework.boot.web.servlet.server.AbstractServletWebServerFactoryTests.java
@Test public void specificPort() throws Exception { AbstractServletWebServerFactory factory = getFactory(); int specificPort = SocketUtils.findAvailableTcpPort(41000); factory.setPort(specificPort);/* www . j a va 2s . c om*/ this.webServer = factory.getWebServer(exampleServletRegistration()); this.webServer.start(); assertThat(getResponse("http://localhost:" + specificPort + "/hello")).isEqualTo("Hello World"); assertThat(this.webServer.getPort()).isEqualTo(specificPort); }
From source file:org.springframework.boot.web.servlet.server.AbstractServletWebServerFactoryTests.java
@Test public void portClashOfSecondaryConnectorResultsInPortInUseException() throws IOException { doWithBlockedPort((port) -> {/*from www .j a v a 2 s . c o m*/ try { AbstractServletWebServerFactory factory = getFactory(); factory.setPort(SocketUtils.findAvailableTcpPort(40000)); addConnector(port, factory); AbstractServletWebServerFactoryTests.this.webServer = factory.getWebServer(); AbstractServletWebServerFactoryTests.this.webServer.start(); fail(); } catch (RuntimeException ex) { handleExceptionCausedByBlockedPort(ex, port); } }); }
From source file:org.springframework.boot.web.servlet.server.AbstractServletWebServerFactoryTests.java
protected final void doWithBlockedPort(BlockedPortAction action) throws IOException { int port = SocketUtils.findAvailableTcpPort(40000); ServerSocket serverSocket = new ServerSocket(); for (int i = 0; i < 10; i++) { try {// www . j a v a 2s .c om serverSocket.bind(new InetSocketAddress(port)); break; } catch (Exception ex) { } } try { action.run(port); } finally { serverSocket.close(); } }
From source file:org.springframework.cloud.netflix.turbine.stream.TurbineStreamConfiguration.java
@Bean @SuppressWarnings("deprecation") public HttpServer<ByteBuf, ServerSentEvent> aggregatorServer() { // multicast so multiple concurrent subscribers get the same stream Observable<Map<String, Object>> publishedStreams = StreamAggregator .aggregateGroupedStreams(/*from w ww .ja va 2 s . com*/ hystrixSubject().groupBy(data -> InstanceKey.create((String) data.get("instanceId")))) .doOnUnsubscribe(() -> log.info("Unsubscribing aggregation.")) .doOnSubscribe(() -> log.info("Starting aggregation")).flatMap(o -> o).publish().refCount(); Observable<Map<String, Object>> ping = Observable.timer(1, 10, TimeUnit.SECONDS) .map(count -> Collections.singletonMap("type", (Object) "Ping")).publish().refCount(); Observable<Map<String, Object>> output = Observable.merge(publishedStreams, ping); this.turbinePort = this.properties.getPort(); if (this.turbinePort <= 0) { this.turbinePort = SocketUtils.findAvailableTcpPort(40000); } HttpServer<ByteBuf, ServerSentEvent> httpServer = RxNetty.createHttpServer(this.turbinePort, (request, response) -> { log.info("SSE Request Received"); response.getHeaders().setHeader("Content-Type", "text/event-stream"); return output.doOnUnsubscribe(() -> log.info("Unsubscribing RxNetty server connection")) .flatMap(data -> response.writeAndFlush(new ServerSentEvent( Unpooled.copiedBuffer(JsonUtility.mapToJson(data), StandardCharsets.UTF_8)))); }, serveSseConfigurator()); return httpServer; }
From source file:org.springframework.cloud.task.app.jdbc.hdfs.local.JdbcHdfsDatabaseConfiguration.java
@Bean(destroyMethod = "stop") public Server databaseServer() throws SQLException, IOException, ServerAcl.AclFormatException { DriverManager.registerDriver(new org.hsqldb.jdbcDriver()); int hsqldbPort = SocketUtils.findAvailableTcpPort(10000); System.setProperty("db.server.port", Integer.toString(hsqldbPort)); logger.info("Database is using port: " + Integer.toString(hsqldbPort)); HsqlProperties configProps = new HsqlProperties(); configProps.setProperty("server.port", hsqldbPort); configProps.setProperty("server.database.0", "file:target/db/test"); configProps.setProperty("server.dbname.0", "test"); Server server = new Server(); server.setLogWriter(null);/* w w w. j a v a 2s. co m*/ server.setErrWriter(null); server.setRestartOnShutdown(false); server.setNoSystemExit(true); server.setProperties(configProps); server.start(); return server; }
From source file:org.springframework.cloud.task.sqoop.common.SqoopToolDatabaseConfiguration.java
@Bean(destroyMethod = "stop") public Server databaseServer() throws SQLException, IOException { DriverManager.registerDriver(new org.hsqldb.jdbcDriver()); int hsqldbPort = SocketUtils.findAvailableTcpPort(10000); System.setProperty("db.server.port", Integer.toString(hsqldbPort)); logger.info("Database is using port: " + Integer.toString(hsqldbPort)); HsqlProperties configProps = new HsqlProperties(); configProps.setProperty("server.port", hsqldbPort); configProps.setProperty("server.database.0", "file:target/db/test"); configProps.setProperty("server.dbname.0", "test"); Server server = new org.hsqldb.Server(); server.setLogWriter(null);// w ww . j a v a 2s .c om server.setErrWriter(null); server.setRestartOnShutdown(false); server.setNoSystemExit(true); server.setProperties(configProps); server.start(); return server; }
From source file:org.springframework.integration.samples.tcpclientserver.support.CustomTestContextLoader.java
@Override protected void loadBeanDefinitions(GenericApplicationContext context, MergedContextConfiguration mergedConfig) { int availableServerSocket = SocketUtils.findAvailableTcpPort(5678); final Map<String, Object> sockets = new HashMap<String, Object>(); sockets.put("availableServerSocket", availableServerSocket); if (LOGGER.isInfoEnabled()) { LOGGER.info("Available Server Socket: " + availableServerSocket); }/*from w w w .j a va2 s .c o m*/ final MapPropertySource propertySource = new MapPropertySource("sockets", sockets); context.getEnvironment().getPropertySources().addLast(propertySource); super.loadBeanDefinitions(context, mergedConfig); }
From source file:org.springframework.messaging.simp.stomp.Reactor11TcpStompClientTests.java
@Before public void setUp() throws Exception { logger.debug("Setting up before '" + this.testName.getMethodName() + "'"); int port = SocketUtils.findAvailableTcpPort(61613); this.activeMQBroker = new BrokerService(); this.activeMQBroker.addConnector("stomp://127.0.0.1:" + port); this.activeMQBroker.setStartAsync(false); this.activeMQBroker.setPersistent(false); this.activeMQBroker.setUseJmx(false); this.activeMQBroker.getSystemUsage().getMemoryUsage().setLimit(1024 * 1024 * 5); this.activeMQBroker.getSystemUsage().getTempUsage().setLimit(1024 * 1024 * 5); this.activeMQBroker.start(); ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); taskScheduler.afterPropertiesSet();//from w w w . j a va2s. c o m this.client = new Reactor11TcpStompClient("127.0.0.1", port); this.client.setMessageConverter(new StringMessageConverter()); this.client.setTaskScheduler(taskScheduler); }
From source file:org.springframework.messaging.simp.stomp.Reactor2TcpStompClientTests.java
@Before public void setUp() throws Exception { logger.debug("Setting up before '" + this.testName.getMethodName() + "'"); int port = SocketUtils.findAvailableTcpPort(61613); this.activeMQBroker = new BrokerService(); this.activeMQBroker.addConnector("stomp://127.0.0.1:" + port); this.activeMQBroker.setStartAsync(false); this.activeMQBroker.setPersistent(false); this.activeMQBroker.setUseJmx(false); this.activeMQBroker.getSystemUsage().getMemoryUsage().setLimit(1024 * 1024 * 5); this.activeMQBroker.getSystemUsage().getTempUsage().setLimit(1024 * 1024 * 5); this.activeMQBroker.start(); ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); taskScheduler.afterPropertiesSet();// w w w. j a v a 2 s. c o m this.client = new Reactor2TcpStompClient("127.0.0.1", port); this.client.setMessageConverter(new StringMessageConverter()); this.client.setTaskScheduler(taskScheduler); }
From source file:org.springframework.messaging.simp.stomp.ReactorNettyTcpStompClientTests.java
@Before public void setUp() throws Exception { logger.debug("Setting up before '" + this.testName.getMethodName() + "'"); int port = SocketUtils.findAvailableTcpPort(61613); this.activeMQBroker = new BrokerService(); this.activeMQBroker.addConnector("stomp://127.0.0.1:" + port); this.activeMQBroker.setStartAsync(false); this.activeMQBroker.setPersistent(false); this.activeMQBroker.setUseJmx(false); this.activeMQBroker.getSystemUsage().getMemoryUsage().setLimit(1024 * 1024 * 5); this.activeMQBroker.getSystemUsage().getTempUsage().setLimit(1024 * 1024 * 5); this.activeMQBroker.start(); ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); taskScheduler.afterPropertiesSet();//from w ww. j av a 2s .com this.client = new ReactorNettyTcpStompClient("127.0.0.1", port); this.client.setMessageConverter(new StringMessageConverter()); this.client.setTaskScheduler(taskScheduler); }