com.atlassian.jira.util.thread
Class JiraThreadLocalUtils
java.lang.Object
com.atlassian.jira.util.thread.JiraThreadLocalUtils
public class JiraThreadLocalUtils
- extends Object
This class has static methods that perform a number of standard operations at the start and
end of "runnable code" such as a JiraServiceContainerImpl
or a TaskManagerImpl
. Plugin developers that have previously
used this class directly should change to using JiraThreadLocalUtil
from the API,
so that they can avoid having to depend on jira-core
.
The main purpose of this class is to setup and clear ThreadLocal
variables that can otherwise interfere with the smooth running of JIRA
by leaking resources or polluting the information used by the next request.
You MUST remember to call postCall(Logger, ProblemDeterminationCallback)
in a
finally
block to guarantee correct behaviour. For example:
public void run()
{
JiraThreadLocalUtils.preCall();
try
{
// do runnable code here
}
finally
{
JiraThreadLocalUtils.postCall(log, myProblemDeterminationCallback);
}
}
- Since:
- v3.13
- See Also:
JiraThreadLocalUtil
Method Summary |
static void |
postCall(org.apache.log4j.Logger log,
JiraThreadLocalUtils.ProblemDeterminationCallback problemDeterminationCallback)
This should be called in a finally block to clear up ThreadLocal s
once the runnable stuff has been done. |
static void |
preCall()
This should be called before any "runnable code" is called. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JiraThreadLocalUtils
public JiraThreadLocalUtils()
preCall
public static void preCall()
- This should be called before any "runnable code" is called.
This will setup a clean
ThreadLocal
environment for the runnable
code to execute in.
postCall
public static void postCall(org.apache.log4j.Logger log,
JiraThreadLocalUtils.ProblemDeterminationCallback problemDeterminationCallback)
- This should be called in a
finally
block to clear up ThreadLocal
s
once the runnable stuff has been done.
- Parameters:
log
- the log to write error messages to in casse of any problemsproblemDeterminationCallback
- the callback to invoke in case where problems are
detected after the runnable code is done running and its not cleaned up properly.
This may be null
, in which case those problems are logged as errors.
Copyright © 2002-2014 Atlassian. All Rights Reserved.