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
.
The main purpose of this class is to setup and clear ThreadLocal variables that can otherwise interfere with the
smooth running of JIRA.
You MUST remember to call postCall() in a finally{} block like this :
run() {
JiraThreadLocalUtils.preCall();
try {
// do runnable code here
} finally {
JiraThreadLocalUtils.postCall(log, myProblemDeterminationCallback);
}
}
- Since:
- v3.13
Method Summary |
static void |
postCall(org.apache.log4j.Logger log,
JiraThreadLocalUtils.ProblemDeterminationCallback problemDeterminationCallback)
This should be called in a finally {} block to clear up ThreadLocals once the runnable stuff has been done. |
static void |
preCall()
This should be called "before" an "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" an "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 ThreadLocals 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 can be null.
Copyright © 2002-2013 Atlassian. All Rights Reserved.