volosied commented on code in PR #911:
URL: https://github.com/apache/myfaces/pull/911#discussion_r2286059040


##########
impl/src/main/java/org/apache/myfaces/util/token/SessionIdGenerator.java:
##########
@@ -18,35 +18,19 @@
  */
 package org.apache.myfaces.util.token;
 
-import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
 import java.security.SecureRandom;
-import java.util.Queue;
-import java.util.concurrent.ConcurrentLinkedQueue;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.apache.myfaces.util.lang.ClassUtils;
-import org.apache.myfaces.util.lang.StringUtils;
-
 /**
  * NOTE: Class taken from tomcat 7 org.apache.catalina.util.SessionIdGenerator
  * and used here as an alternative for server side state token encryption.
  * 
  */
 public class SessionIdGenerator
-{
-
-    private static Logger log = 
Logger.getLogger(SessionIdGenerator.class.getName());
-
-    /**
-     * Queue of random number generator objects to be used when creating 
session
-     * identifiers. If the queue is empty when a random number generator is
-     * required, a new random number generator object is created. This is
-     * designed this way since random number generators use a sync to make them
-     * thread-safe and the sync makes using a a single object slow(er).
+{   
+    /*
+     *  For performance, isolating SecureRandom between threads. 
      */
-    private Queue<SecureRandom> randoms = new ConcurrentLinkedQueue<>();
-    
+    private static ThreadLocal<SecureRandom>  randomLocal = new 
ThreadLocal<>();
+

Review Comment:
   I use a static instance, so it's still reused. ThreadLocal doesn't make any 
impact here..
   
   Need to review this some more.... 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@myfaces.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to