decaf::util::concurrent::ThreadPoolExecutor::DiscardOldestPolicy Class Reference

Handler policy for tasks that are rejected upon a call to ThreadPoolExecutor::execute this class always destroys the oldest unexecuted task in the Queue and then attempts to execute the rejected task using the passed in executor. More...

#include <src/main/decaf/util/concurrent/ThreadPoolExecutor.h>

Inheritance diagram for decaf::util::concurrent::ThreadPoolExecutor::DiscardOldestPolicy:
Inheritance graph
[legend]

Public Member Functions

 DiscardOldestPolicy ()
virtual ~DiscardOldestPolicy ()
virtual void rejectedExecution (decaf::lang::Runnable *task, ThreadPoolExecutor *executer)
 Method that may be invoked by a ThreadPoolExecutor when execute cannot accept a task.

Detailed Description

Handler policy for tasks that are rejected upon a call to ThreadPoolExecutor::execute this class always destroys the oldest unexecuted task in the Queue and then attempts to execute the rejected task using the passed in executor.

Since:
1.0

Constructor & Destructor Documentation

decaf::util::concurrent::ThreadPoolExecutor::DiscardOldestPolicy::DiscardOldestPolicy (  )  [inline]
virtual decaf::util::concurrent::ThreadPoolExecutor::DiscardOldestPolicy::~DiscardOldestPolicy (  )  [inline, virtual]

Member Function Documentation

virtual void decaf::util::concurrent::ThreadPoolExecutor::DiscardOldestPolicy::rejectedExecution ( decaf::lang::Runnable r,
ThreadPoolExecutor executer 
) [inline, virtual]

Method that may be invoked by a ThreadPoolExecutor when execute cannot accept a task.

This may occur when no more threads or queue slots are available because their bounds would be exceeded, or upon shutdown of the Executor.

In the absence of other alternatives, the method may throw an RejectedExecutionException, which will be propagated to the caller of execute.

Parameters:
r The pointer to the runnable task requested to be executed.
executor The pointer to the executor attempting to execute this task.
Exceptions:
RejectedExecutionException if there is no remedy.

Implements decaf::util::concurrent::RejectedExecutionHandler.

References decaf::util::concurrent::ThreadPoolExecutor::execute(), decaf::util::concurrent::ThreadPoolExecutor::getQueue(), decaf::util::concurrent::ThreadPoolExecutor::isShutdown(), and NULL.


The documentation for this class was generated from the following file:

Generated on 1 Dec 2014 for activemq-cpp-3.8.2 by  doxygen 1.6.1