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

elecharny pushed a commit to branch 1.2.X
in repository https://gitbox.apache.org/repos/asf/mina-ftpserver.git


The following commit(s) were added to refs/heads/1.2.X by this push:
     new e5c5d2b  Fix for FTPSERVER-499 applying Hai Zhang patch.
e5c5d2b is described below

commit e5c5d2bf13c120cef11ba575b00e2be3e7415c78
Author: emmanuel lecharny <elecha...@apache.org>
AuthorDate: Mon Mar 14 00:46:15 2022 +0100

    Fix for FTPSERVER-499 applying Hai Zhang patch.
---
 .../apache/ftpserver/listener/nio/FtpResponseEncoder.java    | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git 
a/core/src/main/java/org/apache/ftpserver/listener/nio/FtpResponseEncoder.java 
b/core/src/main/java/org/apache/ftpserver/listener/nio/FtpResponseEncoder.java
index 4c4b884..b7b2057 100644
--- 
a/core/src/main/java/org/apache/ftpserver/listener/nio/FtpResponseEncoder.java
+++ 
b/core/src/main/java/org/apache/ftpserver/listener/nio/FtpResponseEncoder.java
@@ -37,16 +37,20 @@ import org.apache.mina.filter.codec.demux.MessageEncoder;
  * @author <a href="http://mina.apache.org";>Apache MINA Project</a>
  */
 public class FtpResponseEncoder extends ProtocolEncoderAdapter {
-    private static final CharsetEncoder ENCODER = Charset.forName("UTF-8")
-            .newEncoder();
-
+    private static final ThreadLocal<CharsetEncoder> ENCODER = new 
ThreadLocal<CharsetEncoder>() {
+        @Override
+        protected CharsetEncoder initialValue() {
+            return Charset.forName("UTF-8").newEncoder();
+        }
+    };
+    
     public void encode(IoSession session, Object message,
             ProtocolEncoderOutput out) throws Exception {
         String value = message.toString();
 
         IoBuffer buf = IoBuffer.allocate(value.length()).setAutoExpand(true);
 
-        buf.putString(value, ENCODER);
+        buf.putString(value, ENCODER.get());
 
         buf.flip();
         out.write(buf);

Reply via email to