// Create a pool of executors with minimum thread priority
executor = ExecutorFactory.createPooledExecutor(
new NamingThreadFactory("Poller", Thread.MIN_PRIORITY),
threads, THREAD_KEEP_ALIVE_TIME,
new BoundedPriorityQueue(QUEUE_SIZE, new PollerTaskPrioritizer()),
ExecutorFactory.BlockedPolicy.DISCARD);
// Note: The policy is "Discard" a requst if the queue is full
// (will be retried in 10 seconds)
}