From 940cc28ef5085691f36aa96ad312a97a1b54a175 Mon Sep 17 00:00:00 2001 From: timis1 <12120641+timis1@users.noreply.github.com> Date: Wed, 8 Feb 2023 18:17:09 +0200 Subject: [PATCH] JAVA-17333 Update Java Timer Article (#13423) * JAVA-17333 Update Java Timer Article * JAVA-17333 Rename the test class --------- Co-authored-by: timis1 --- .../main/java/com/baeldung/timer/NewsletterTask.java | 12 ++++++++++++ ...itTest.java => NewsletterTaskUnitManualTest.java} | 10 +++------- 2 files changed, 15 insertions(+), 7 deletions(-) rename core-java-modules/core-java-time-measurements/src/test/java/com/baeldung/timer/{NewsletterTaskUnitTest.java => NewsletterTaskUnitManualTest.java} (76%) diff --git a/core-java-modules/core-java-time-measurements/src/main/java/com/baeldung/timer/NewsletterTask.java b/core-java-modules/core-java-time-measurements/src/main/java/com/baeldung/timer/NewsletterTask.java index 16dd6c12ff..d99f7acea7 100644 --- a/core-java-modules/core-java-time-measurements/src/main/java/com/baeldung/timer/NewsletterTask.java +++ b/core-java-modules/core-java-time-measurements/src/main/java/com/baeldung/timer/NewsletterTask.java @@ -3,12 +3,24 @@ package com.baeldung.timer; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; +import java.util.Random; import java.util.TimerTask; +import java.util.concurrent.TimeUnit; public class NewsletterTask extends TimerTask { @Override public void run() { System.out.println("Email sent at: " + LocalDateTime.ofInstant(Instant.ofEpochMilli(scheduledExecutionTime()), ZoneId.systemDefault())); + Random random = new Random(); + int value = random.ints(1, 7) + .findFirst() + .getAsInt(); + System.out.println("The duration of sending the mail will took: " + value); + try { + TimeUnit.SECONDS.sleep(value); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } } } diff --git a/core-java-modules/core-java-time-measurements/src/test/java/com/baeldung/timer/NewsletterTaskUnitTest.java b/core-java-modules/core-java-time-measurements/src/test/java/com/baeldung/timer/NewsletterTaskUnitManualTest.java similarity index 76% rename from core-java-modules/core-java-time-measurements/src/test/java/com/baeldung/timer/NewsletterTaskUnitTest.java rename to core-java-modules/core-java-time-measurements/src/test/java/com/baeldung/timer/NewsletterTaskUnitManualTest.java index ffbe39c2bc..049fc3bf6d 100644 --- a/core-java-modules/core-java-time-measurements/src/test/java/com/baeldung/timer/NewsletterTaskUnitTest.java +++ b/core-java-modules/core-java-time-measurements/src/test/java/com/baeldung/timer/NewsletterTaskUnitManualTest.java @@ -5,7 +5,7 @@ import org.junit.jupiter.api.Test; import java.util.Timer; -class NewsletterTaskUnitTest { +class NewsletterTaskUnitManualTest { private final Timer timer = new Timer(); @AfterEach @@ -17,17 +17,13 @@ class NewsletterTaskUnitTest { void givenNewsletterTask_whenTimerScheduledEachSecondFixedDelay_thenNewsletterSentEachSecond() throws Exception { timer.schedule(new NewsletterTask(), 0, 1000); - for (int i = 0; i < 3; i++) { - Thread.sleep(1000); - } + Thread.sleep(20000); } @Test void givenNewsletterTask_whenTimerScheduledEachSecondFixedRate_thenNewsletterSentEachSecond() throws Exception { timer.scheduleAtFixedRate(new NewsletterTask(), 0, 1000); - for (int i = 0; i < 3; i++) { - Thread.sleep(1000); - } + Thread.sleep(20000); } } \ No newline at end of file