Существует ли подобная крону реализация ScheduledExecutorService в Java?

Ну, может быть, я упускаю что-то большое, но ...

void onOpen()
{
    var selected = comobFileTypes.SelectedItem;

    if ( selected != null ) {
        string ext = "." + selected.ToString();

        var files = Directory.EnumerateFiles(sourceDIR.Text, "*.*", SearchOption.AllDirectories).Where(
                s => s.EndsWith( ext );

        // ...more things...
    }

    return;
}

Ключевым моментом здесь является то, что ComboBox имеет свойство SelectedItem , которое может быть null, если ничего не выбрано, или удерживать выбранный параметр.

Если вы хотите выбрать все расширения, вы можете использовать свойство Items .

void onOpen()
{
    string[] items = new string[ comboFileTypes.Items.Length ];

    foreach(int i = 0; i < items.Length; ++i) {
        items[ i ] = "." + comboFileTypes.Items[ i ].ToString();
    }

    var files = new List<string>();
    var allFiles = Directory.EnumerateFiles( sourceDIR.Text, "*.*", SearchOption.AllDirectories );

    foreach(string ext in items) {
        files.AddRange( allFiles.Where( s => s.EndsWith( ext ) );
    }

    // ...more things... with files...
    return;
}

Надеюсь, это поможет.

5
задан GaryF 22 January 2009 в 16:42
поделиться

4 ответа

Можно использовать класс Таймера. А именно, scheduleAtFixedRate (задача TimerTask, Дата в первый раз, длительный период). Где можно поставить задачу для запуска в 10:00 в конкретный день и повторение каждые 24 часа.

2
ответ дан 13 December 2019 в 22:18
поделиться

При использовании scheduleAtFixedRate, Вы обеспечиваете задержку. Таким образом, задержка может быть различием к 10:00, и период составляет 24 часа. Это могло дрейфовать немного, даже с таймером поэтому, что можно сделать, запланировать задачу, которая добавляет себя к ScheduledExecutorService с соответствующей задержкой каждый раз.

1
ответ дан 13 December 2019 в 22:18
поделиться
1
ответ дан 13 December 2019 в 22:18
поделиться

Немного больше поиска подняло CronExecutorService в HA-JDBC. Интересно, это имеет зависимость от Кварца для ее класса CronExpression, но вот именно. Это не слишком плохо.

Обновление: я зафиксировал неработающие ссылки для указания на новые версии, но я не знаю, является ли это больше единственной зависимостью

3
ответ дан 13 December 2019 в 22:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: