Как создать пользовательский опросник в адаптере входящего канала? - PullRequest
0 голосов
/ 30 октября 2018

Я хочу создать собственный опросчик, который опрашивает данные только один раз, а затем останавливает основной поток. Или как я могу остановить опрос после одного опроса и выйти из приложения?

1 Ответ

0 голосов
/ 30 октября 2018

Для этого вам нужно внедрить пользовательский Trigger для инъекции в упомянутый опросник.

Примерно так:

public class OnlyOnceTrigger implements Trigger {

    private final AtomicBoolean hasRun = new AtomicBoolean();

    @Override
    public Date nextExecutionTime(TriggerContext triggerContext) {
        if (this.hasRun.getAndSet(true)) {
            return null;
        }

        return new Date();
    }

}

когда nextExecutionTime() возвращает null, планировщик останавливается для запуска задачи, поэтому больше не требуется опрос после одного запуска.

...