Skip to content

Commit d017237

Browse files
committed
Using CountDownLatch for more accurate test result calculation and adding some more tests
1 parent 022099b commit d017237

File tree

12 files changed

+77
-247
lines changed

12 files changed

+77
-247
lines changed

concurrency/managedexecutor/pom.xml

-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010

11-
<groupId>org.javaee7.concurrency</groupId>
1211
<artifactId>managedexecutor</artifactId>
13-
<version>1.0-SNAPSHOT</version>
1412
<packaging>war</packaging>
15-
<name>managedexecutor</name>
1613
</project>

concurrency/managedexecutor/src/main/java/org/javaee7/concurrency/managedexecutor/ManagedExecutorInEJBServlet.java

-130
This file was deleted.

concurrency/managedexecutor/src/main/java/org/javaee7/concurrency/managedexecutor/MyCallableTask.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@
4040
package org.javaee7.concurrency.managedexecutor;
4141

4242
import java.util.concurrent.Callable;
43-
import org.javaee7.concurrency.managedexecutor.Product;
44-
import org.javaee7.concurrency.managedexecutor.Product;
4543

4644
/**
4745
* @author Arun Gupta
@@ -56,6 +54,7 @@ public MyCallableTask(int id) {
5654

5755
@Override
5856
public Product call() {
57+
TestStatus.latch.countDown();
5958
return new Product(id);
6059
}
6160
}

concurrency/managedexecutor/src/main/java/org/javaee7/concurrency/managedexecutor/MyRunnableTask.java

+1-7
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,8 @@
4444
*/
4545
public class MyRunnableTask implements Runnable {
4646

47-
private int id;
48-
49-
public MyRunnableTask(int id) {
50-
this.id = id;
51-
}
52-
5347
@Override
5448
public void run() {
55-
TestStatus.invokedRunnable = true;
49+
TestStatus.latch.countDown();
5650
}
5751
}

concurrency/managedexecutor/src/main/java/org/javaee7/concurrency/managedexecutor/MyTaskWithListener.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@ public MyTaskWithListener(int id) {
6161

6262
@Override
6363
public void run() {
64-
TestStatus.invokedTaskWithListener = true;
65-
System.out.println("running");
64+
TestStatus.latch.countDown();
6665
}
6766

6867
@Override

concurrency/managedexecutor/src/main/java/org/javaee7/concurrency/managedexecutor/MyTaskWithTransaction.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
*/
4040
package org.javaee7.concurrency.managedexecutor;
4141

42+
import java.util.Objects;
43+
import javax.inject.Inject;
4244
import javax.transaction.Transactional;
4345

4446
/**
@@ -47,6 +49,7 @@
4749
public class MyTaskWithTransaction implements Runnable {
4850

4951
private int id;
52+
@Inject MyTransactionScopedBean bean;
5053

5154
public MyTaskWithTransaction() {
5255
}
@@ -63,11 +66,11 @@ public void setId(int id) {
6366
this.id = id;
6467
}
6568

66-
// @Resource UserTransaction tx;
6769
@Override
6870
@Transactional
6971
public void run() {
70-
TestStatus.invokedTaskWithTransaction = true;
72+
TestStatus.latch.countDown();
73+
TestStatus.foundTransactionScopedBean = Objects.hashCode(bean) != 0;
7174
}
7275

7376
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package org.javaee7.concurrency.managedexecutor;
2+
3+
/**
4+
* @author Arun Gupta
5+
*/
6+
@javax.transaction.TransactionScoped
7+
public class MyTransactionScopedBean {
8+
}

concurrency/managedexecutor/src/main/java/org/javaee7/concurrency/managedexecutor/TestBean.java

+13-2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
*/
4040
package org.javaee7.concurrency.managedexecutor;
4141

42+
import java.util.concurrent.CountDownLatch;
43+
import java.util.concurrent.TimeUnit;
4244
import javax.annotation.Resource;
4345
import javax.ejb.Stateless;
4446
import javax.enterprise.concurrent.ManagedExecutorService;
@@ -51,7 +53,16 @@ public class TestBean {
5153
@Resource(name = "DefaultManagedExecutorService")
5254
ManagedExecutorService executor;
5355

54-
public void run() {
55-
executor.submit(new MyRunnableTask(1));
56+
public boolean doSomething() throws InterruptedException {
57+
TestStatus.latch = new CountDownLatch(1);
58+
executor.submit(new Runnable() {
59+
60+
@Override
61+
public void run() {
62+
TestStatus.latch.countDown();
63+
}
64+
});
65+
TestStatus.latch.await(2000, TimeUnit.MILLISECONDS);
66+
return true;
5667
}
5768
}
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package org.javaee7.concurrency.managedexecutor;
22

3+
import java.util.concurrent.CountDownLatch;
4+
35
/**
46
* @author Arun Gupta
57
*/
68
public class TestStatus {
7-
public static boolean invokedRunnable;
8-
public static boolean invokedTaskWithListener;
9-
public static boolean invokedTaskWithTransaction;
9+
public static CountDownLatch latch;
10+
public static boolean foundTransactionScopedBean;
1011
}

concurrency/managedexecutor/src/main/webapp/index.jsp

-64
This file was deleted.

0 commit comments

Comments
 (0)