JAVA-8748: Use ServerSocket(0) approach to get free port
This commit is contained in:
		
							parent
							
								
									9d0dd5e34f
								
							
						
					
					
						commit
						85faed7f39
					
				| @ -9,7 +9,6 @@ import org.springframework.util.SocketUtils; | |||||||
| 
 | 
 | ||||||
| import java.io.IOException; | import java.io.IOException; | ||||||
| import java.net.ServerSocket; | import java.net.ServerSocket; | ||||||
| import java.util.Random; |  | ||||||
| 
 | 
 | ||||||
| import static org.assertj.core.api.Assertions.assertThat; | import static org.assertj.core.api.Assertions.assertThat; | ||||||
| import static org.assertj.core.api.Assertions.fail; | import static org.assertj.core.api.Assertions.fail; | ||||||
| @ -148,19 +147,10 @@ public class FindFreePortUnitTest { | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     private int getFreePort() { |     private int getFreePort() { | ||||||
|         return new Random() |         try(ServerSocket serverSocket = new ServerSocket(0)){ | ||||||
|             .ints(36000, 65000) |             return serverSocket.getLocalPort(); | ||||||
|             .filter(FindFreePortUnitTest::isFree) |         } catch (IOException ex){ | ||||||
|             .findFirst() |             return DEFAULT_RANDOM_PORT; | ||||||
|             .orElse(DEFAULT_RANDOM_PORT); |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     private static boolean isFree(int port) { |  | ||||||
|         try { |  | ||||||
|             new ServerSocket(port).close(); |  | ||||||
|             return true; |  | ||||||
|         } catch (IOException e) { |  | ||||||
|             return false; |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user