@Override
    public long setOneshotTimer(long deltaMillis, final IAsyncHandler<Long> timerHandler) {
        final long timerId = id.incrementAndGet();

        TimerTask task = new TimerTask() {

            @Override
            public void run() {
                timerHandler.handle(timerId);
            }
        };
        // Keep reference to TimerTask and Timer ID we hand back (to cancel later).
        timerTaskMap.put(timerId, task);
        // Task, delay, frequency
        timer.schedule(task, deltaMillis);
        return timerId;
    }
@see io.apiman.gateway.engine.components.IPeriodicComponent#setOneshotTimer(long,
     io.apiman.gateway.engine.async.IAsyncHandler)
gateway/platforms/servlet/src/main/java/io/apiman/gateway/platforms/servlet/components/PeriodicComponentImpl.java