public class MdcThreadPoolExecutor
extends java.util.concurrent.ForkJoinPool
ForkJoinPool.
In general, MDC is used to store diagnostic information (e.g. a user's session id) in per-thread variables, to facilitate
logging. However, although MDC data is passed to thread children, this doesn't work when threads are reused in a
thread pool. This is a drop-in replacement for ForkJoinPool sets MDC data before each task appropriately.
| Modifier and Type | Method | Description |
|---|---|---|
void |
execute(java.lang.Runnable command) |
|
<T> java.util.List<java.util.concurrent.Future<T>> |
invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks) |
|
<T> java.util.List<java.util.concurrent.Future<T>> |
invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
long timeout,
java.util.concurrent.TimeUnit unit) |
|
<T> T |
invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks) |
|
<T> T |
invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
long timeout,
java.util.concurrent.TimeUnit unit) |
|
static MdcThreadPoolExecutor |
newWithCurrentMdc(int parallelism) |
Pool where task threads take fixed MDC from the thread that creates the pool.
|
static MdcThreadPoolExecutor |
newWithFixedMdc(java.util.Map<java.lang.String,java.lang.String> fixedContext,
int parallelism) |
Pool where task threads always have a specified, fixed MDC.
|
static MdcThreadPoolExecutor |
newWithInheritedMdc(int parallelism) |
Pool where task threads take MDC from the submitting thread.
|
java.util.concurrent.ForkJoinTask<?> |
submit(java.lang.Runnable task) |
|
<T> java.util.concurrent.ForkJoinTask<T> |
submit(java.lang.Runnable task,
T result) |
|
<T> java.util.concurrent.ForkJoinTask<T> |
submit(java.util.concurrent.Callable<T> task) |
awaitQuiescence, awaitTermination, commonPool, drainTasksTo, execute, getActiveThreadCount, getAsyncMode, getCommonPoolParallelism, getFactory, getParallelism, getPoolSize, getQueuedSubmissionCount, getQueuedTaskCount, getRunningThreadCount, getStealCount, getUncaughtExceptionHandler, hasQueuedSubmissions, invoke, isQuiescent, isShutdown, isTerminated, isTerminating, managedBlock, newTaskFor, newTaskFor, pollSubmission, shutdown, shutdownNow, submit, toStringpublic static MdcThreadPoolExecutor newWithInheritedMdc(int parallelism)
public static MdcThreadPoolExecutor newWithCurrentMdc(int parallelism)
public static MdcThreadPoolExecutor newWithFixedMdc(java.util.Map<java.lang.String,java.lang.String> fixedContext, int parallelism)
public void execute(java.lang.Runnable command)
execute in class java.util.concurrent.ForkJoinPool@NotNull public <T> java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.Callable<T> task)
submit in class java.util.concurrent.ForkJoinPool@NotNull
public <T> java.util.concurrent.ForkJoinTask<T> submit(java.lang.Runnable task,
T result)
submit in class java.util.concurrent.ForkJoinPool@NotNull public java.util.concurrent.ForkJoinTask<?> submit(java.lang.Runnable task)
submit in class java.util.concurrent.ForkJoinPool@NotNull public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
invokeAll in class java.util.concurrent.ForkJoinPool@NotNull
public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
invokeAll in class java.util.concurrent.AbstractExecutorServicejava.lang.InterruptedException@NotNull public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
invokeAny in class java.util.concurrent.AbstractExecutorServicepublic <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
long timeout,
java.util.concurrent.TimeUnit unit)
invokeAny in class java.util.concurrent.AbstractExecutorServiceCopyright © 2018. All rights reserved.