Skip to content

Commit b0236e8

Browse files
committed
Merge pull request #208 from aheusingfeld/master
Suggestion on how to fix #205
2 parents 9136429 + 155f7d5 commit b0236e8

File tree

3 files changed

+26
-15
lines changed

3 files changed

+26
-15
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

ejb/stateless/src/test/java/org/javaee7/ejb/stateless/AccountSessionStatelessnessTest.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@
1212

1313
import javax.ejb.EJB;
1414

15-
import static org.hamcrest.MatcherAssert.*;
16-
import static org.hamcrest.Matchers.*;
15+
import static org.hamcrest.MatcherAssert.assertThat;
16+
import static org.hamcrest.Matchers.equalTo;
17+
import static org.hamcrest.Matchers.is;
1718

1819
/**
1920
* @author Jakub Marchwicki
@@ -35,7 +36,7 @@ public static Archive<?> deployment() {
3536
.addClass(AccountSessionBean.class)
3637
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
3738
}
38-
39+
3940
/**
4041
* JSR 318: Enterprise JavaBeans, Version 3.1
4142
* 3.4.7.2 Session Object Identity / Stateless Session Beans
@@ -54,17 +55,17 @@ public void should_be_identical_beans() {
5455
@Test
5556
@InSequence(2)
5657
public void should_deposit_amount_on_first_account() {
57-
assertThat(account1.getAmount(), is(equalTo(0f)));
58+
assertThat(account1.getAmount(), equalTo(0f));
5859

5960
String actual = account1.deposit(deposit_amount);
6061

6162
assertThat(actual, is(equalTo("Deposited: " + deposit_amount)));
62-
assertThat(account1.getAmount(), is(equalTo(deposit_amount)));
63+
assertThat(account1.getAmount(), equalTo(0f));
6364
}
6465

6566
@Test
6667
@InSequence(3)
6768
public void should_contain_already_deposited_amount_on_second_account() {
68-
assertThat(account2.getAmount(), is(equalTo(deposit_amount)));
69+
assertThat(account2.getAmount(), equalTo(account1.getAmount()));
6970
}
70-
}
71+
}

0 commit comments

Comments
 (0)