Skip to content

Commit 17e1524

Browse files
authored
Issue #1487: use ThreadLocalRandom to generate random number in RouteList (#1494)
1 parent 31a4535 commit 17e1524

1 file changed

Lines changed: 2 additions & 4 deletions

File tree

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

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +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;
2019
import java.util.concurrent.CopyOnWriteArrayList;
20+
import java.util.concurrent.ThreadLocalRandom;
2121

2222
/**
2323
* Modifiable list of routes with some helper methods. Note that this class
@@ -36,8 +36,6 @@
3636
public final class RouteList extends WrapperList<Route> {
3737
/** The index of the last route used in the round-robin mode. */
3838
private volatile int lastIndex;
39-
/** Used when asked to return a random route. */
40-
private final SecureRandom random = new SecureRandom();
4139

4240
/**
4341
* Constructor.
@@ -161,7 +159,7 @@ public synchronized Route getRandom(Request request, Response response, float re
161159
int length = size();
162160

163161
if (length > 0) {
164-
int j = random.nextInt(length);
162+
int j = ThreadLocalRandom.current().nextInt(length);
165163
Route route = get(j);
166164

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

0 commit comments

Comments
 (0)