@Override public Executor getExecutor(final String queueName) { synchronized (executorsMap) { if (delegateExecutor == null) { delegateExecutor = getDefaultThreadPoolExecutor(); } if (queueName == null) { return delegateExecutor; } TaskQueueExecutor exec = executorsMap.get(queueName); if (exec == null) { exec = new TaskQueueExecutor(delegateExecutor); executorsMap.put(queueName, exec); } return exec; } }
@Override public void clear(final String queueName) { final TaskQueueExecutor exec; synchronized (executorsMap) { exec = executorsMap.get(queueName); } if (exec != null) { exec.clear(); } } }
@Override public void run() { try { r.run(); } finally { scheduleNext(); } } });
@SuppressWarnings("NullableProblems") @Override public synchronized void execute(final Runnable r) { tasks.offer(new Runnable() { @Override public void run() { try { r.run(); } finally { scheduleNext(); } } }); if (activeTask == null) { scheduleNext(); } }
@Override public Executor getExecutor(final String queueName) { synchronized (executorsMap) { if (delegateExecutor == null) { delegateExecutor = getDefaultThreadPoolExecutor(); } if (queueName == null) { return delegateExecutor; } TaskQueueExecutor exec = executorsMap.get(queueName); if (exec == null) { exec = new TaskQueueExecutor(delegateExecutor); executorsMap.put(queueName, exec); } return exec; } }
@SuppressWarnings("NullableProblems") @Override public synchronized void execute(final Runnable r) { tasks.offer(new Runnable() { @Override public void run() { try { r.run(); } finally { scheduleNext(); } } }); if (activeTask == null) { scheduleNext(); } }
@Override public void clear(final String queueName) { final TaskQueueExecutor exec; synchronized (executorsMap) { exec = executorsMap.get(queueName); } if (exec != null) { exec.clear(); } } }
@Override public Executor getExecutor(final String queueName) { lastQueueName = queueName; return new TaskQueueExecutor(delegateExecutor); }
@Override public void run() { try { r.run(); } finally { scheduleNext(); } } });