This is an automated email from the ASF dual-hosted git repository.

fuyou001 pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/develop by this push:
     new 51f9fcc493 [ISSUE #10817] Upgrade SpotBugs for JDK 21 compatibility 
(#10818)
51f9fcc493 is described below

commit 51f9fcc49308f6ab6f779f97fdea075463056aeb
Author: fuyou001 <[email protected]>
AuthorDate: Thu Aug 6 19:22:52 2026 +0800

    [ISSUE #10817] Upgrade SpotBugs for JDK 21 compatibility (#10818)
---
 .../java/org/apache/rocketmq/example/benchmark/BatchProducer.java  | 6 +++---
 .../main/java/org/apache/rocketmq/example/benchmark/Producer.java  | 4 ++--
 pom.xml                                                            | 3 +--
 .../apache/rocketmq/proxy/service/route/MessageQueueSelector.java  | 7 +++----
 .../org/apache/rocketmq/remoting/netty/NettyRemotingClient.java    | 5 ++---
 .../main/java/org/apache/rocketmq/store/kv/CompactionStore.java    | 4 ++--
 test/src/main/java/org/apache/rocketmq/test/util/RandomUtil.java   | 1 -
 7 files changed, 13 insertions(+), 17 deletions(-)

diff --git 
a/example/src/main/java/org/apache/rocketmq/example/benchmark/BatchProducer.java
 
b/example/src/main/java/org/apache/rocketmq/example/benchmark/BatchProducer.java
index 21a4b3b7e7..2e22090520 100644
--- 
a/example/src/main/java/org/apache/rocketmq/example/benchmark/BatchProducer.java
+++ 
b/example/src/main/java/org/apache/rocketmq/example/benchmark/BatchProducer.java
@@ -20,10 +20,10 @@ import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Random;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.atomic.LongAdder;
@@ -322,7 +322,7 @@ public class BatchProducer {
                 msg.getProperties().clear();
             }
 
-            int startValue = (new 
Random(System.currentTimeMillis())).nextInt(100);
+            int startValue = ThreadLocalRandom.current().nextInt(100);
             int size = 0;
             for (int i = 0; ; i++) {
                 String prop1 = "prop" + i, prop1V = "hello" + startValue;
@@ -449,4 +449,4 @@ class StatsBenchmarkBatchProducer {
     public void shutdown() {
         executorService.shutdown();
     }
-}
\ No newline at end of file
+}
diff --git 
a/example/src/main/java/org/apache/rocketmq/example/benchmark/Producer.java 
b/example/src/main/java/org/apache/rocketmq/example/benchmark/Producer.java
index a945283f57..a86d2d7183 100644
--- a/example/src/main/java/org/apache/rocketmq/example/benchmark/Producer.java
+++ b/example/src/main/java/org/apache/rocketmq/example/benchmark/Producer.java
@@ -43,13 +43,13 @@ import org.apache.rocketmq.srvutil.ServerUtil;
 
 import java.util.Arrays;
 import java.util.LinkedList;
-import java.util.Random;
 import java.util.TimerTask;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.atomic.AtomicLong;
 
 public class Producer {
@@ -197,7 +197,7 @@ public class Producer {
                                     msg.getProperties().clear();
                                 }
                                 int i = 0;
-                                int startValue = (new 
Random(System.currentTimeMillis())).nextInt(100);
+                                int startValue = 
ThreadLocalRandom.current().nextInt(100);
                                 int size = 0;
                                 while (true) {
                                     String prop1 = "prop" + i, prop1V = 
"hello" + startValue;
diff --git a/pom.xml b/pom.xml
index 16320028c9..645ad51225 100644
--- a/pom.xml
+++ b/pom.xml
@@ -170,7 +170,7 @@
         <jacoco-maven-plugin.version>0.8.5</jacoco-maven-plugin.version>
         <maven-surefire-plugin.version>2.19.1</maven-surefire-plugin.version>
         <sonar-maven-plugin.version>3.0.2</sonar-maven-plugin.version>
-        <spotbugs-plugin.version>4.2.2</spotbugs-plugin.version>
+        <spotbugs-plugin.version>4.8.6.8</spotbugs-plugin.version>
         <maven-assembly-plugin.version>3.4.2</maven-assembly-plugin.version>
         <maven-javadoc-plugin.version>2.10.4</maven-javadoc-plugin.version>
         <maven-failsafe-plugin.version>2.19.1</maven-failsafe-plugin.version>
@@ -451,7 +451,6 @@
                 <configuration>
                     <failOnError>true</failOnError>
                     <fork>false</fork>
-                    <spotbugsXmlOutput>true</spotbugsXmlOutput>
                     
<excludeFilterFile>${project.root}/style/spotbugs-suppressions.xml</excludeFilterFile>
                     <threshold>High</threshold>
                     <effort>Max</effort>
diff --git 
a/proxy/src/main/java/org/apache/rocketmq/proxy/service/route/MessageQueueSelector.java
 
b/proxy/src/main/java/org/apache/rocketmq/proxy/service/route/MessageQueueSelector.java
index 0b028fa461..8f08c1df0e 100644
--- 
a/proxy/src/main/java/org/apache/rocketmq/proxy/service/route/MessageQueueSelector.java
+++ 
b/proxy/src/main/java/org/apache/rocketmq/proxy/service/route/MessageQueueSelector.java
@@ -24,9 +24,9 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
-import java.util.Random;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 import org.apache.commons.collections.CollectionUtils;
@@ -67,9 +67,8 @@ public class MessageQueueSelector {
             this.queues.addAll(buildWrite(topicRouteWrapper));
         }
         buildBrokerActingQueues(topicRouteWrapper.getTopicName(), this.queues);
-        Random random = new Random();
-        this.queueIndex = new AtomicInteger(random.nextInt());
-        this.brokerIndex = new AtomicInteger(random.nextInt());
+        this.queueIndex = new 
AtomicInteger(ThreadLocalRandom.current().nextInt());
+        this.brokerIndex = new 
AtomicInteger(ThreadLocalRandom.current().nextInt());
 
         if (priorityProvider == null) {
             priorityProvider = new DefaultMessageQueuePriorityProvider();
diff --git 
a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
 
b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
index e39967e3f8..94d5ff9f3f 100644
--- 
a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
+++ 
b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
@@ -78,7 +78,6 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
-import java.util.Random;
 import java.util.Set;
 import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.CompletableFuture;
@@ -86,6 +85,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
@@ -180,8 +180,7 @@ public class NettyRemotingClient extends 
NettyRemotingAbstract implements Remoti
     }
 
     private static int initValueIndex() {
-        Random r = new Random();
-        return r.nextInt(999);
+        return ThreadLocalRandom.current().nextInt(999);
     }
 
     private void loadSocksProxyJson() {
diff --git 
a/store/src/main/java/org/apache/rocketmq/store/kv/CompactionStore.java 
b/store/src/main/java/org/apache/rocketmq/store/kv/CompactionStore.java
index 639084fa2d..8be5c6da7b 100644
--- a/store/src/main/java/org/apache/rocketmq/store/kv/CompactionStore.java
+++ b/store/src/main/java/org/apache/rocketmq/store/kv/CompactionStore.java
@@ -25,9 +25,9 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
-import java.util.Random;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.TimeUnit;
 import org.apache.rocketmq.common.ThreadFactoryImpl;
 import org.apache.rocketmq.common.TopicConfig;
@@ -149,7 +149,7 @@ public class CompactionStore {
                 try {
                     v = new CompactionLog(defaultMessageStore, this, topic, 
queueId);
                     v.load(true);
-                    int randomDelay = 1000 + new 
Random(System.currentTimeMillis()).nextInt(compactionInterval);
+                    int randomDelay = 1000 + 
ThreadLocalRandom.current().nextInt(compactionInterval);
                     compactionSchedule.scheduleWithFixedDelay(v::doCompaction, 
compactionInterval + randomDelay, compactionInterval + randomDelay, 
TimeUnit.MILLISECONDS);
                 } catch (IOException e) {
                     log.error("create compactionLog exception: ", e);
diff --git a/test/src/main/java/org/apache/rocketmq/test/util/RandomUtil.java 
b/test/src/main/java/org/apache/rocketmq/test/util/RandomUtil.java
index 5b62a6377d..4caaa916e1 100644
--- a/test/src/main/java/org/apache/rocketmq/test/util/RandomUtil.java
+++ b/test/src/main/java/org/apache/rocketmq/test/util/RandomUtil.java
@@ -262,7 +262,6 @@ public final class RandomUtil {
         }
 
         int[] result = new int[n];
-        Random rd = new Random();
         int index = 0;
         for (int i = 0; i < result.length; i++) {
             index = rd.nextInt(len--);

Reply via email to