BackgroundProcess should use a java.util.concurrent.Executor alternatively to 
spawning a new thread
---------------------------------------------------------------------------------------------------

                 Key: WW-3691
                 URL: https://issues.apache.org/jira/browse/WW-3691
             Project: Struts 2
          Issue Type: Improvement
          Components: Core Interceptors
    Affects Versions: 2.2.3.1
            Reporter: Falko Modler


Every new instance of org.apache.struts2.interceptor.BackgroundProcess spawns a 
new Thread (see constructor), no thread pooling is used.

Besides problems in environments where some container might need to manage the 
creation of threads, this issue also prevents certain performance/efficiency 
optimizations via ThreadLocal from taking full effect. E.g.: We use 
ThreadLocals for Random and SimpleDateFormat and those thread local instances 
"are lost" when a new Thread is created.

Therefore BackgroundProcess should be given a new constructor that takes a 
java.util.concurrent.Executor instance that is used to execute the Runnable.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to