Skip to content

Commit 3c04a8c

Browse files
committed
Issue #1487: use ThreadLocalRandom to generate random number in RouteList
1 parent 21d990e commit 3c04a8c

1 file changed

Lines changed: 2 additions & 5 deletions

File tree

org.restlet/src/main/java/org/restlet/util/RouteList.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,10 @@
1414
import org.restlet.Restlet;
1515
import org.restlet.routing.Route;
1616

17-
import java.security.SecureRandom;
1817
import java.util.Collections;
1918
import java.util.List;
20-
import java.util.Random;
2119
import java.util.concurrent.CopyOnWriteArrayList;
20+
import java.util.concurrent.ThreadLocalRandom;
2221

2322
/**
2423
* Modifiable list of routes with some helper methods. Note that this class
@@ -37,8 +36,6 @@
3736
public final class RouteList extends WrapperList<Route> {
3837
/** The index of the last route used in the round-robin mode. */
3938
private volatile int lastIndex;
40-
/** Used when asked to return a random route. */
41-
private final SecureRandom random = new SecureRandom();
4239

4340
/**
4441
* Constructor.
@@ -162,7 +159,7 @@ public synchronized Route getRandom(Request request, Response response, float re
162159
int length = size();
163160

164161
if (length > 0) {
165-
int j = random.nextInt(length);
162+
int j = ThreadLocalRandom.current().nextInt(length);
166163
Route route = get(j);
167164

168165
if (route.score(request, response) >= requiredScore) {

0 commit comments

Comments
 (0)