Я разрабатываю код футбольного менеджера, который обрабатывает игру между друзьями, где люди должны скомпилировать свою команду, и когда начинаются реальные матчи, у которых есть игроки, которые лучше играют в игру.
Очевидно, что после того, как игра началась, игроки больше не могут менять свою команду. В базе данных каждый матч имеет атрибут "match is open", который определяет, могут ли игроки по-прежнему менять свою команду. Как только значения установлены ложными, игроки больше не могут редактировать свою команду.
Таким образом, в основном у меня есть дата и время, и когда эта дата происходит, значение в базе данных должно быть установлено равным false.
Я думал, что многие альтернативы я вам объясню:
Последнее - это решение, которое я бы предпочел разработать, я знаю, что есть библиотеки, которые позволяют работать с расписанием, но я действительно не знаю, возможно ли подобное, и как бы вы разработали этот материал.
Любой намек будет оценен.
Вот пример, который мы используем:
@Configuration
@EnableScheduling
public class SchedulerConfiguration {
@Scheduled(cron = "15 * * * * ") //every 15 minutes
public void scheduledTask() {
doSomethingInYourDatabase();
}
}
Возможно, Quartz Framework может быть вам интересен. Он имеет интерфейс Job, который можно планировать как задачи Cron.
я бы порекомендовал, использовать ли весенний планировщик (если вы используете весну) или простой сервис-исполнитель java для запуска метода aa, и позволяет говорить за 5 минут после предыдущего выполнения. посмотрите здесь http://tutorials.jenkov.com/java-util-concurrent/executorservice.html
На самом деле вам просто нужно запустить простой запрос на обновление, например
update match set match_open = false where start_time = (Sysdate-X);
Может быть, вы используете весну. вы можете добавить класс обслуживания (@Service) и использовать аннотированный метод @Scheduled, который поможет вам выполнить задачу с заданным интервалом. Проверка деталей весеннего планирования
@Scheduled(cron="*/5 * * * * MON-FRI")
public void doSomething() {
//something that should execute on weekdays only
}
false
.