1 /*
2 * Written by Doug Lea with assistance from members of JCP JSR-166
3 * Expert Group and released to the public domain, as explained at
4 * http://creativecommons.org/licenses/publicdomain
5 */
6
7 package org.apache.geronimo.concurrent.harmony;
8
9 /**
10 * A handler for tasks that cannot be executed by a {@link
11 * ThreadPoolExecutor}.
12 *
13 * @since 1.5
14 * @author Doug Lea
15 */
16 public interface RejectedExecutionHandler {
17
18 /**
19 * Method that may be invoked by a {@link ThreadPoolExecutor} when
20 * <tt>execute</tt> cannot accept a task. This may occur when no
21 * more threads or queue slots are available because their bounds
22 * would be exceeded, or upon shutdown of the Executor.
23 *
24 * In the absence other alternatives, the method may throw an
25 * unchecked {@link RejectedExecutionException}, which will be
26 * propagated to the caller of <tt>execute</tt>.
27 *
28 * @param r the runnable task requested to be executed
29 * @param executor the executor attempting to execute this task
30 * @throws RejectedExecutionException if there is no remedy
31 */
32 void rejectedExecution(Runnable r, ThreadPoolExecutor executor);
33 }