package fi.otavanopisto.muikku.scheduler; import javax.ejb.Schedule; import javax.ejb.Singleton; import javax.enterprise.event.Event; import javax.inject.Inject; @Singleton public class Scheduler { @Inject @Scheduled (schedule = fi.otavanopisto.muikku.scheduler.Schedule.MONTHLY) private Event<ScheduledEvent> monthlyEvent; @Inject @Scheduled (schedule = fi.otavanopisto.muikku.scheduler.Schedule.WEEKLY) private Event<ScheduledEvent> weeklyEvent; @Inject @Scheduled (schedule = fi.otavanopisto.muikku.scheduler.Schedule.DAILY) private Event<ScheduledEvent> dailyEvent; @Inject @Scheduled (schedule = fi.otavanopisto.muikku.scheduler.Schedule.HOURLY) private Event<ScheduledEvent> hourlyEvent; @Inject @Scheduled (schedule = fi.otavanopisto.muikku.scheduler.Schedule.EVERY_HALF_HOUR) private Event<ScheduledEvent> everyHalfHourEvent; @Inject @Scheduled (schedule = fi.otavanopisto.muikku.scheduler.Schedule.EVERY_FIFTEEN_MINUTES) private Event<ScheduledEvent> everyFifteenMinutesEvent; @Inject @Scheduled (schedule = fi.otavanopisto.muikku.scheduler.Schedule.EVERY_FIVE_MINUTES) private Event<ScheduledEvent> everyFiveMinutesEvent; @Inject @Scheduled (schedule = fi.otavanopisto.muikku.scheduler.Schedule.EVERY_MINUTE) private Event<ScheduledEvent> everyMinuteEvent; @Schedule(minute = "0", hour = "0", dayOfMonth="1", persistent = false) public void fireMonthly() { ScheduledEvent event = new ScheduledEvent(); monthlyEvent.fire(event); } @Schedule(minute = "0", hour = "0", dayOfWeek="0", persistent = false) public void fireWeekly() { ScheduledEvent event = new ScheduledEvent(); weeklyEvent.fire(event); } @Schedule(minute = "0", hour = "0", persistent = false) public void fireDaily() { ScheduledEvent event = new ScheduledEvent(); dailyEvent.fire(event); } @Schedule(minute = "0", hour = "*", persistent = false) public void fireHourly() { ScheduledEvent event = new ScheduledEvent(); hourlyEvent.fire(event); } @Schedule(minute = "*/30", hour = "*", persistent = false) public void fireEveryHalfHour() { ScheduledEvent event = new ScheduledEvent(); everyHalfHourEvent.fire(event); } @Schedule(minute = "*/15", hour = "*", persistent = false) public void fireEveryFifteenMinutes() { ScheduledEvent event = new ScheduledEvent(); everyFifteenMinutesEvent.fire(event); } @Schedule(minute = "*/5", hour = "*", persistent = false) public void fireEveryFiveMinutes() { ScheduledEvent event = new ScheduledEvent(); everyFiveMinutesEvent.fire(event); } @Schedule(minute = "*/1", hour = "*", persistent = false) public void fireEveryMinuteEvent() { ScheduledEvent event = new ScheduledEvent(); everyMinuteEvent.fire(event); } }