Skip to content

Commit e1a42e4

Browse files
释一zhouxinyu
authored andcommitted
Fix random int bug in SelectMessageQueueByRandom
Author: 释一 <quanwei.lqw@alibaba-inc.com> Closes apache#173 from swwlqw/master.
1 parent 81884c8 commit e1a42e4

File tree

1 file changed

+2
-7
lines changed

1 file changed

+2
-7
lines changed

client/src/main/java/org/apache/rocketmq/client/producer/selector/SelectMessageQueueByRandoom.java renamed to client/src/main/java/org/apache/rocketmq/client/producer/selector/SelectMessageQueueByRandom.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,12 @@
2222
import org.apache.rocketmq.common.message.Message;
2323
import org.apache.rocketmq.common.message.MessageQueue;
2424

25-
public class SelectMessageQueueByRandoom implements MessageQueueSelector {
25+
public class SelectMessageQueueByRandom implements MessageQueueSelector {
2626
private Random random = new Random(System.currentTimeMillis());
2727

2828
@Override
2929
public MessageQueue select(List<MessageQueue> mqs, Message msg, Object arg) {
30-
int value = random.nextInt();
31-
if (value < 0) {
32-
value = Math.abs(value);
33-
}
34-
35-
value = value % mqs.size();
30+
int value = random.nextInt(mqs.size());
3631
return mqs.get(value);
3732
}
3833
}

0 commit comments

Comments
 (0)