You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by yu...@apache.org on 2022/04/17 15:02:29 UTC

[rocketmq] branch develop updated: [ISSUE #4167] Replace Charset.forName("UTF-8") with StandardCharsets.UTF_8 (#4024)

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

yuzhou 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 d100d3c9a [ISSUE #4167] Replace Charset.forName("UTF-8") with StandardCharsets.UTF_8 (#4024)
d100d3c9a is described below

commit d100d3c9a53cd36f29f7f6b1fe1c7124d7cdfab5
Author: 6U-U9 <53...@users.noreply.github.com>
AuthorDate: Sun Apr 17 23:02:07 2022 +0800

    [ISSUE #4167] Replace Charset.forName("UTF-8") with StandardCharsets.UTF_8 (#4024)
    
    * Replace Charset.forName("UTF-8") with StandardCharsets.UTF_8
    
    * Remove the specification of Charset according to SimplePullConsumer
---
 .../org/apache/rocketmq/acl/common/AclSigner.java  |  3 +-
 .../rocketmq/acl/common/SessionCredentials.java    |  3 +-
 .../queue/TransactionalMessageUtil.java            |  3 +-
 .../java/org/apache/rocketmq/common/MixAll.java    |  3 +-
 .../rocketmq/common/message/MessageDecoder.java    |  3 +-
 docs/cn/RocketMQ_Example.md                        | 80 +++++++++++-----------
 .../example/openmessaging/SimpleProducer.java      |  7 +-
 .../apache/rocketmq/filter/util/BloomFilter.java   |  3 +-
 .../remoting/protocol/RemotingSerializable.java    |  3 +-
 .../remoting/protocol/RocketMQSerializable.java    |  3 +-
 .../apache/rocketmq/store/BatchPutMessageTest.java |  3 +-
 .../apache/rocketmq/store/MultiDispatchTest.java   |  3 +-
 .../tools/command/message/SendMessageCommand.java  |  4 +-
 13 files changed, 67 insertions(+), 54 deletions(-)

diff --git a/acl/src/main/java/org/apache/rocketmq/acl/common/AclSigner.java b/acl/src/main/java/org/apache/rocketmq/acl/common/AclSigner.java
index 61e935066..9953cca0f 100644
--- a/acl/src/main/java/org/apache/rocketmq/acl/common/AclSigner.java
+++ b/acl/src/main/java/org/apache/rocketmq/acl/common/AclSigner.java
@@ -17,6 +17,7 @@
 package org.apache.rocketmq.acl.common;
 
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import javax.crypto.Mac;
 import javax.crypto.spec.SecretKeySpec;
 import org.apache.commons.codec.binary.Base64;
@@ -25,7 +26,7 @@ import org.apache.rocketmq.logging.InternalLogger;
 import org.apache.rocketmq.logging.InternalLoggerFactory;
 
 public class AclSigner {
-    public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
+    public static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
     public static final SigningAlgorithm DEFAULT_ALGORITHM = SigningAlgorithm.HmacSHA1;
     private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.ROCKETMQ_AUTHORIZE_LOGGER_NAME);
     private static final int CAL_SIGNATURE_FAILED = 10015;
diff --git a/acl/src/main/java/org/apache/rocketmq/acl/common/SessionCredentials.java b/acl/src/main/java/org/apache/rocketmq/acl/common/SessionCredentials.java
index 33a8a3435..ec0f68a0f 100644
--- a/acl/src/main/java/org/apache/rocketmq/acl/common/SessionCredentials.java
+++ b/acl/src/main/java/org/apache/rocketmq/acl/common/SessionCredentials.java
@@ -19,11 +19,12 @@ package org.apache.rocketmq.acl.common;
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.Properties;
 import org.apache.rocketmq.common.MixAll;
 
 public class SessionCredentials {
-    public static final Charset CHARSET = Charset.forName("UTF-8");
+    public static final Charset CHARSET = StandardCharsets.UTF_8;
     public static final String ACCESS_KEY = "AccessKey";
     public static final String SECRET_KEY = "SecretKey";
     public static final String SIGNATURE = "Signature";
diff --git a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageUtil.java b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageUtil.java
index e6baf0266..2d6774432 100644
--- a/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageUtil.java
+++ b/broker/src/main/java/org/apache/rocketmq/broker/transaction/queue/TransactionalMessageUtil.java
@@ -20,10 +20,11 @@ import org.apache.rocketmq.common.MixAll;
 import org.apache.rocketmq.common.topic.TopicValidator;
 
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 
 public class TransactionalMessageUtil {
     public static final String REMOVETAG = "d";
-    public static Charset charset = Charset.forName("utf-8");
+    public static Charset charset = StandardCharsets.UTF_8;
 
     public static String buildOpTopic() {
         return TopicValidator.RMQ_SYS_TRANS_OP_HALF_TOPIC;
diff --git a/common/src/main/java/org/apache/rocketmq/common/MixAll.java b/common/src/main/java/org/apache/rocketmq/common/MixAll.java
index c2300d362..5f7817448 100644
--- a/common/src/main/java/org/apache/rocketmq/common/MixAll.java
+++ b/common/src/main/java/org/apache/rocketmq/common/MixAll.java
@@ -32,6 +32,7 @@ import java.net.NetworkInterface;
 import java.net.SocketException;
 import java.net.URL;
 import java.net.URLConnection;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.List;
@@ -213,7 +214,7 @@ public class MixAll {
             int len = in.available();
             byte[] data = new byte[len];
             in.read(data, 0, len);
-            return new String(data, "UTF-8");
+            return new String(data, StandardCharsets.UTF_8);
         } catch (Exception ignored) {
         } finally {
             if (null != in) {
diff --git a/common/src/main/java/org/apache/rocketmq/common/message/MessageDecoder.java b/common/src/main/java/org/apache/rocketmq/common/message/MessageDecoder.java
index b127ac6cb..30cee69c2 100644
--- a/common/src/main/java/org/apache/rocketmq/common/message/MessageDecoder.java
+++ b/common/src/main/java/org/apache/rocketmq/common/message/MessageDecoder.java
@@ -23,6 +23,7 @@ import java.net.SocketAddress;
 import java.net.UnknownHostException;
 import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -33,7 +34,7 @@ import org.apache.rocketmq.common.sysflag.MessageSysFlag;
 public class MessageDecoder {
 //    public final static int MSG_ID_LENGTH = 8 + 8;
 
-    public final static Charset CHARSET_UTF8 = Charset.forName("UTF-8");
+    public final static Charset CHARSET_UTF8 = StandardCharsets.UTF_8;
     public final static int MESSAGE_MAGIC_CODE_POSTION = 4;
     public final static int MESSAGE_FLAG_POSTION = 16;
     public final static int MESSAGE_PHYSIC_OFFSET_POSTION = 28;
diff --git a/docs/cn/RocketMQ_Example.md b/docs/cn/RocketMQ_Example.md
index 38376b895..1b8ae05cb 100644
--- a/docs/cn/RocketMQ_Example.md
+++ b/docs/cn/RocketMQ_Example.md
@@ -861,50 +861,52 @@ import io.openmessaging.MessagingAccessPoint;
 import io.openmessaging.OMS;
 import io.openmessaging.producer.Producer;
 import io.openmessaging.producer.SendResult;
+
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.concurrent.CountDownLatch;
 
 public class SimpleProducer {
     public static void main(String[] args) {
-       final MessagingAccessPoint messagingAccessPoint =
-           OMS.getMessagingAccessPoint("oms:rocketmq://localhost:9876/default:default");
-       final Producer producer = messagingAccessPoint.createProducer();
-       messagingAccessPoint.startup();
-       System.out.printf("MessagingAccessPoint startup OK%n");
-       producer.startup();
-       System.out.printf("Producer startup OK%n");
-       {
-           Message message = producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8")));
-           SendResult sendResult = producer.send(message);
-           //final Void aVoid = result.get(3000L);
-           System.out.printf("Send async message OK, msgId: %s%n", sendResult.messageId());
-       }
-       final CountDownLatch countDownLatch = new CountDownLatch(1);
-       {
-           final Future<SendResult> result = producer.sendAsync(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8"))));
-           result.addListener(new FutureListener<SendResult>() {
-               @Override
-               public void operationComplete(Future<SendResult> future) {
-                   if (future.getThrowable() != null) {
-                       System.out.printf("Send async message Failed, error: %s%n", future.getThrowable().getMessage());
-                   } else {
-                       System.out.printf("Send async message OK, msgId: %s%n", future.get().messageId());
-                   }
-                   countDownLatch.countDown();
-               }
-           });
-       }
-       {
-           producer.sendOneway(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8"))));
-           System.out.printf("Send oneway message OK%n");
-       }
-       try {
-           countDownLatch.await();
-           Thread.sleep(500); // 等一些时间来发送消息
-       } catch (InterruptedException ignore) {
-       }
-       producer.shutdown();
-   }
+        final MessagingAccessPoint messagingAccessPoint =
+                OMS.getMessagingAccessPoint("oms:rocketmq://localhost:9876/default:default");
+        final Producer producer = messagingAccessPoint.createProducer();
+        messagingAccessPoint.startup();
+        System.out.printf("MessagingAccessPoint startup OK%n");
+        producer.startup();
+        System.out.printf("Producer startup OK%n");
+        {
+            Message message = producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(StandardCharsets.UTF_8));
+            SendResult sendResult = producer.send(message);
+            //final Void aVoid = result.get(3000L);
+            System.out.printf("Send async message OK, msgId: %s%n", sendResult.messageId());
+        }
+        final CountDownLatch countDownLatch = new CountDownLatch(1);
+        {
+            final Future<SendResult> result = producer.sendAsync(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(StandardCharsets.UTF_8)));
+            result.addListener(new FutureListener<SendResult>() {
+                @Override
+                public void operationComplete(Future<SendResult> future) {
+                    if (future.getThrowable() != null) {
+                        System.out.printf("Send async message Failed, error: %s%n", future.getThrowable().getMessage());
+                    } else {
+                        System.out.printf("Send async message OK, msgId: %s%n", future.get().messageId());
+                    }
+                    countDownLatch.countDown();
+                }
+            });
+        }
+        {
+            producer.sendOneway(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(StandardCharsets.UTF_8)));
+            System.out.printf("Send oneway message OK%n");
+        }
+        try {
+            countDownLatch.await();
+            Thread.sleep(500); // 等一些时间来发送消息
+        } catch (InterruptedException ignore) {
+        }
+        producer.shutdown();
+    }
 }
 ```
 
diff --git a/example/src/main/java/org/apache/rocketmq/example/openmessaging/SimpleProducer.java b/example/src/main/java/org/apache/rocketmq/example/openmessaging/SimpleProducer.java
index dbe1d1056..08c00be79 100644
--- a/example/src/main/java/org/apache/rocketmq/example/openmessaging/SimpleProducer.java
+++ b/example/src/main/java/org/apache/rocketmq/example/openmessaging/SimpleProducer.java
@@ -23,7 +23,6 @@ import io.openmessaging.MessagingAccessPoint;
 import io.openmessaging.OMS;
 import io.openmessaging.producer.Producer;
 import io.openmessaging.producer.SendResult;
-import java.nio.charset.Charset;
 import java.util.concurrent.CountDownLatch;
 
 public class SimpleProducer {
@@ -40,7 +39,7 @@ public class SimpleProducer {
         System.out.printf("Producer startup OK%n");
 
         {
-            Message message = producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8")));
+            Message message = producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes());
             SendResult sendResult = producer.send(message);
             //final Void aVoid = result.get(3000L);
             System.out.printf("Send async message OK, msgId: %s%n", sendResult.messageId());
@@ -48,7 +47,7 @@ public class SimpleProducer {
 
         final CountDownLatch countDownLatch = new CountDownLatch(1);
         {
-            final Future<SendResult> result = producer.sendAsync(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8"))));
+            final Future<SendResult> result = producer.sendAsync(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes()));
             result.addListener(new FutureListener<SendResult>() {
                 @Override
                 public void operationComplete(Future<SendResult> future) {
@@ -63,7 +62,7 @@ public class SimpleProducer {
         }
 
         {
-            producer.sendOneway(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes(Charset.forName("UTF-8"))));
+            producer.sendOneway(producer.createBytesMessage("OMS_HELLO_TOPIC", "OMS_HELLO_BODY".getBytes()));
             System.out.printf("Send oneway message OK%n");
         }
 
diff --git a/filter/src/main/java/org/apache/rocketmq/filter/util/BloomFilter.java b/filter/src/main/java/org/apache/rocketmq/filter/util/BloomFilter.java
index a1cbd24b0..d909cc2a5 100644
--- a/filter/src/main/java/org/apache/rocketmq/filter/util/BloomFilter.java
+++ b/filter/src/main/java/org/apache/rocketmq/filter/util/BloomFilter.java
@@ -20,13 +20,14 @@ package org.apache.rocketmq.filter.util;
 import com.google.common.hash.Hashing;
 
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 
 /**
  * Simple implement of bloom filter.
  */
 public class BloomFilter {
 
-    public static final Charset UTF_8 = Charset.forName("UTF-8");
+    public static final Charset UTF_8 = StandardCharsets.UTF_8;
 
     // as error rate, 10/100 = 0.1
     private int f = 10;
diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RemotingSerializable.java b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RemotingSerializable.java
index f80ff14c1..4a32f65ff 100644
--- a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RemotingSerializable.java
+++ b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RemotingSerializable.java
@@ -18,9 +18,10 @@ package org.apache.rocketmq.remoting.protocol;
 
 import com.alibaba.fastjson.JSON;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 
 public abstract class RemotingSerializable {
-    private final static Charset CHARSET_UTF8 = Charset.forName("UTF-8");
+    private final static Charset CHARSET_UTF8 = StandardCharsets.UTF_8;
 
     public static byte[] encode(final Object obj) {
         final String json = toJson(obj, false);
diff --git a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RocketMQSerializable.java b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RocketMQSerializable.java
index 7c222bf45..7187f7c12 100644
--- a/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RocketMQSerializable.java
+++ b/remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RocketMQSerializable.java
@@ -18,13 +18,14 @@ package org.apache.rocketmq.remoting.protocol;
 
 import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 import org.apache.rocketmq.remoting.exception.RemotingCommandException;
 
 public class RocketMQSerializable {
-    private static final Charset CHARSET_UTF8 = Charset.forName("UTF-8");
+    private static final Charset CHARSET_UTF8 = StandardCharsets.UTF_8;
 
     public static byte[] rocketMQProtocolEncode(RemotingCommand cmd) {
         // String remark
diff --git a/store/src/test/java/org/apache/rocketmq/store/BatchPutMessageTest.java b/store/src/test/java/org/apache/rocketmq/store/BatchPutMessageTest.java
index 0d1e2f35b..1a61ff346 100644
--- a/store/src/test/java/org/apache/rocketmq/store/BatchPutMessageTest.java
+++ b/store/src/test/java/org/apache/rocketmq/store/BatchPutMessageTest.java
@@ -33,6 +33,7 @@ import org.junit.Test;
 import java.io.File;
 import java.net.InetSocketAddress;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -48,7 +49,7 @@ public class BatchPutMessageTest {
 
     public static final char NAME_VALUE_SEPARATOR = 1;
     public static final char PROPERTY_SEPARATOR = 2;
-    public final static Charset CHARSET_UTF8 = Charset.forName("UTF-8");
+    public final static Charset CHARSET_UTF8 = StandardCharsets.UTF_8;
 
     @Before
     public void init() throws Exception {
diff --git a/store/src/test/java/org/apache/rocketmq/store/MultiDispatchTest.java b/store/src/test/java/org/apache/rocketmq/store/MultiDispatchTest.java
index 45e4d0665..ba5f3d098 100644
--- a/store/src/test/java/org/apache/rocketmq/store/MultiDispatchTest.java
+++ b/store/src/test/java/org/apache/rocketmq/store/MultiDispatchTest.java
@@ -20,6 +20,7 @@ package org.apache.rocketmq.store;
 import java.io.File;
 import java.net.InetSocketAddress;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 
 import org.apache.rocketmq.common.UtilAll;
 import org.apache.rocketmq.common.message.MessageConst;
@@ -76,7 +77,7 @@ public class MultiDispatchTest {
         when(messageExtBrokerInner.getProperty(MessageConst.PROPERTY_INNER_MULTI_DISPATCH)).thenReturn(
             "%LMQ%123,%LMQ%456");
         when(messageExtBrokerInner.getTopic()).thenReturn("test");
-        when(messageExtBrokerInner.getBody()).thenReturn("aaa".getBytes(Charset.forName("UTF-8")));
+        when(messageExtBrokerInner.getBody()).thenReturn("aaa".getBytes(StandardCharsets.UTF_8));
         when(messageExtBrokerInner.getBornHost()).thenReturn(new InetSocketAddress("127.0.0.1", 54270));
         when(messageExtBrokerInner.getStoreHost()).thenReturn(new InetSocketAddress("127.0.0.1", 10911));
         multiDispatch.wrapMultiDispatch(messageExtBrokerInner);
diff --git a/tools/src/main/java/org/apache/rocketmq/tools/command/message/SendMessageCommand.java b/tools/src/main/java/org/apache/rocketmq/tools/command/message/SendMessageCommand.java
index 9550742e8..836ee192b 100644
--- a/tools/src/main/java/org/apache/rocketmq/tools/command/message/SendMessageCommand.java
+++ b/tools/src/main/java/org/apache/rocketmq/tools/command/message/SendMessageCommand.java
@@ -28,6 +28,8 @@ import org.apache.rocketmq.remoting.RPCHook;
 import org.apache.rocketmq.tools.command.SubCommand;
 import org.apache.rocketmq.tools.command.SubCommandException;
 
+import java.nio.charset.StandardCharsets;
+
 public class SendMessageCommand implements SubCommand {
 
     private DefaultMQProducer producer;
@@ -112,7 +114,7 @@ public class SendMessageCommand implements SubCommand {
                     queueId = Integer.parseInt(commandLine.getOptionValue('i').trim());
                 }
             }
-            msg = new Message(topic, tag, keys, body.getBytes("utf-8"));
+            msg = new Message(topic, tag, keys, body.getBytes(StandardCharsets.UTF_8));
         } catch (Exception e) {
             throw new RuntimeException(this.getClass().getSimpleName() + " command failed", e);
         }