Задача таймера Groovy OnStart — как заблокировать выполнение задачи до следующей задачи

Мое приложение сразу же вызывает следующую задачу таймера из другого класса OnStart, одна из проблем, которую я пытаюсь избежать, заключается в том, что следующая задача вызывается до того, как будет выполнена первая. Как мне подойти к этому?

import ratpack.server.Service
import ratpack.server.StartEvent
import ratpack.server.StopEvent
import java.util.timer.*

class FTPPoller implements Service {

    @Override
    void onStart(StartEvent event) throws Exception {
        println 'Hey, I started'
        new Timer().schedule({FTPlisten.FTPdownload("localhost", "*****", "*****")} as TimerTask, 1000, 5000)
    }
}

person Mohamed Ashmawy    schedule 17.05.2016    source источник
comment
Откуда вы получаете Timer? Можете ли вы показать свой импорт?   -  person tim_yates    schedule 17.05.2016
comment
@tim_yates import ratpack.server.Service import ratpack.server.StartEvent import ratpack.server.StopEvent import groovy.transform.Field import java.util.timer.*   -  person Mohamed Ashmawy    schedule 17.05.2016
comment
Добавил к вопросу. Итак, я думаю, вы хотите использовать это. См. этот вопрос для объяснения   -  person tim_yates    schedule 17.05.2016
comment
Я вижу, как это может помочь, но не отвечает на мой вопрос о том, как заблокировать следующую задачу, если первая задача еще не завершена.   -  person Mohamed Ashmawy    schedule 17.05.2016
comment
Я не верю, что вы это делаете, у вас просто есть планировщик с одним потоком, а затем расписание с фиксированной задержкой.   -  person tim_yates    schedule 17.05.2016