Najib, it seems like this should be straightforward, so I was testing it locally and I was having a difficult time getting an instance time at a specific hour to run, but I figured out why I had a problem. Can I ask, are you calculating your cron time in UTC? I wasn't and it was throwing off my result.
Working example
package com.brand.server.v1;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
@Component
public class Scheduler {
private static final Logger LOG = LoggerFactory.getLogger(Scheduler.class);
static {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
LOG.info("The current time is: {}", sdf.format(new Date()));
}
@Scheduled(cron = "0 30 22 * * ?")
public void currentTimeDifferentName() {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
LOG.info("Current time = {}", sdf.format(new Date()));
LOG.info("File has been generated");
}
@Scheduled(cron = "0 */15 * * * ?")
public void heartbeat() {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
LOG.info("Heartbeat = {}", sdf.format(new Date()));
}
}
Log snippet from 20:00 Mountain Standard Time
server_1 | 2020-05-14 22:24:48.496 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
server_1 | 2020-05-14 22:24:48.499 INFO 1 --- [ main] com.brand.server.v1.ServerApplication : Started ServerApplication in 5.181 seconds (JVM running for 5.827)
server_1 | 2020-05-14 22:30:00.001 INFO 1 --- [ scheduling-1] com.brand.server.v1.Scheduler : Heartbeat = 22:30:00
server_1 | 2020-05-14 22:30:00.004 INFO 1 --- [ scheduling-1] com.brand.server.v1.Scheduler : Current time = 22:30:00
server_1 | 2020-05-14 22:30:00.004 INFO 1 --- [ scheduling-1] com.brand.server.v1.Scheduler : File has been generated
server_1 | 2020-05-14 22:45:00.000 INFO 1 --- [ scheduling-1] com.brand.server.v1.Scheduler : Heartbeat = 22:45:00
server_1 | 2020-05-14 23:00:00.001 INFO 1 --- [ scheduling-1] com.brand.server.v1.Scheduler : Heartbeat = 23:00:00
server_1 | 2020-05-14 23:15:00.000 INFO 1 --- [ scheduling-1] com.brand.server.v1.Scheduler : Heartbeat = 23:15:00
...
server_1 | 2020-05-15 22:15:00.000 INFO 1 --- [ scheduling-1] com.brand.server.v1.Scheduler : Heartbeat = 22:15:00
server_1 | 2020-05-15 22:30:00.000 INFO 1 --- [ scheduling-1] com.brand.server.v1.Scheduler : Heartbeat = 22:30:00
server_1 | 2020-05-15 22:30:00.000 INFO 1 --- [ scheduling-1] com.brand.server.v1.Scheduler : Current time = 22:30:00
server_1 | 2020-05-15 22:30:00.000 INFO 1 --- [ scheduling-1] com.brand.server.v1.Scheduler : File has been generated