I am using java timer, but my problem is every time exceeding 60 seconds, I like my code working like;
1 minutes 59 seconds, 2 minutes 0 seconds..
My code is below.
private long lastReceivedMessage = System.currentTimeMillis();
@Scheduled(fixedDelayString = "${listenScheduled}", initialDelay = 1000)
private void distanceBetweenLastReceivedMessageAndCurrentTime() {
long currentTime = System.currentTimeMillis() - lastReceivedMessage;
logger.info("has threw 'INFO' event due to is not running as an expected since {} {} {} {} ", TimeUnit.MILLISECONDS.toMinutes(currentTime), "minutes", TimeUnit.MILLISECONDS.toSeconds(currentTime), "seconds");