Skip to content

Commit 820d0ea

Browse files
committed
Simple implementation of MyTrigger
1 parent 9136429 commit 820d0ea

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

concurrency/managedscheduledexecutor/src/main/java/org/javaee7/concurrency/managedscheduledexecutor/MyTrigger.java

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,23 +39,32 @@
3939
*/
4040
package org.javaee7.concurrency.managedscheduledexecutor;
4141

42-
import java.util.Date;
4342
import javax.enterprise.concurrent.LastExecution;
4443
import javax.enterprise.concurrent.Trigger;
44+
import java.util.Date;
4545

4646
/**
4747
* @author Arun Gupta
4848
*/
4949
public class MyTrigger implements Trigger {
5050

51+
private final Date firetime;
52+
53+
public MyTrigger(Date firetime) {
54+
this.firetime = firetime;
55+
}
56+
5157
@Override
52-
public Date getNextRunTime(LastExecution le, Date date) {
53-
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
58+
public Date getNextRunTime(LastExecution le, Date taskScheduledTime) {
59+
if (firetime.before(taskScheduledTime)) {
60+
return null;
61+
}
62+
return firetime;
5463
}
5564

5665
@Override
57-
public boolean skipRun(LastExecution le, Date date) {
58-
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
66+
public boolean skipRun(LastExecution le, Date scheduledRunTime) {
67+
return firetime.before(scheduledRunTime);
5968
}
6069

6170
}

concurrency/managedscheduledexecutor/src/main/java/org/javaee7/concurrency/managedscheduledexecutor/TestTriggerServlet.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,16 @@
3939
*/
4040
package org.javaee7.concurrency.managedscheduledexecutor;
4141

42-
import java.io.IOException;
43-
import java.io.PrintWriter;
4442
import javax.annotation.Resource;
4543
import javax.enterprise.concurrent.ManagedScheduledExecutorService;
4644
import javax.servlet.ServletException;
4745
import javax.servlet.annotation.WebServlet;
4846
import javax.servlet.http.HttpServlet;
4947
import javax.servlet.http.HttpServletRequest;
5048
import javax.servlet.http.HttpServletResponse;
49+
import java.io.IOException;
50+
import java.io.PrintWriter;
51+
import java.util.Date;
5152

5253
/**
5354
* @author Arun Gupta
@@ -81,7 +82,7 @@ protected void processRequest(HttpServletRequest request, HttpServletResponse re
8182
out.println("<body>");
8283
out.println("<h1>Schedule tasks with a trigger</h1>");
8384
for (int i=0; i<5; i++) {
84-
executor.schedule(new MyRunnableTask(i), new MyTrigger());
85+
executor.schedule(new MyRunnableTask(i), new MyTrigger(new Date(System.currentTimeMillis() + 30000)));
8586
}
8687
out.println("<br><br>Check server.log for output");
8788

0 commit comments

Comments
 (0)