Use System.nanoTime() for Random seed in SocketUtils
Prior to this commit, SocketUtils used System.currentTimeMillis() for the seed for the java.util.Random instance used internally. The use of the milliseconds value returned by currentTimeMillis() can lead to collisions for randomly selected free ports for tests executing in parallel on the same computer. This commit therefore switches to System.nanoTime() for the Random seed used in SocketUtils in an attempt to avoid such collisions for tests executing in parallel in different JVMs on the same computer. Closes gh-25321
This commit is contained in:
parent
008a0a1bdd
commit
35582ded0e
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2019 the original author or authors.
|
||||
* Copyright 2002-2020 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -54,7 +54,7 @@ public class SocketUtils {
|
|||
public static final int PORT_RANGE_MAX = 65535;
|
||||
|
||||
|
||||
private static final Random random = new Random(System.currentTimeMillis());
|
||||
private static final Random random = new Random(System.nanoTime());
|
||||
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue