You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2014/07/18 15:59:55 UTC
svn commit: r1611656 -
/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/test/java/org/apache/openejb/core/singleton/AsyncPostContructTest.java
Author: andygumbrecht
Date: Fri Jul 18 13:59:54 2014
New Revision: 1611656
URL: http://svn.apache.org/r1611656
Log:
Atomic variables.
Modified:
tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/test/java/org/apache/openejb/core/singleton/AsyncPostContructTest.java
Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/test/java/org/apache/openejb/core/singleton/AsyncPostContructTest.java
URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/test/java/org/apache/openejb/core/singleton/AsyncPostContructTest.java?rev=1611656&r1=1611655&r2=1611656&view=diff
==============================================================================
--- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/test/java/org/apache/openejb/core/singleton/AsyncPostContructTest.java (original)
+++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/test/java/org/apache/openejb/core/singleton/AsyncPostContructTest.java Fri Jul 18 13:59:54 2014
@@ -34,6 +34,8 @@ import javax.ejb.SessionContext;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import java.util.concurrent.Future;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.atomic.AtomicReference;
import static org.testng.Assert.assertSame;
import static org.testng.Assert.assertTrue;
@@ -71,27 +73,27 @@ public class AsyncPostContructTest {
private SessionContext sc;
private Future<Boolean> future;
- private long startEnd;
- private long asyncStart;
- private Object startInstance;
- private Object asyncInstance;
+ private final AtomicLong startEnd = new AtomicLong();
+ private final AtomicLong asyncStart = new AtomicLong();
+ private final AtomicReference<Object> startInstance = new AtomicReference<Object>();
+ private final AtomicReference<Object> asyncInstance = new AtomicReference<Object>();
@PostConstruct
public void start() {
- startInstance = this;
+ startInstance.set(this);
future = sc.getBusinessObject(BuildMeAsync.class).async();
try {
Thread.sleep(100);
} catch (final InterruptedException e) {
// no-op
}
- startEnd = System.nanoTime();
+ startEnd.set(System.nanoTime());
}
@Asynchronous
public Future<Boolean> async() {
- asyncStart = System.nanoTime();
- asyncInstance = this;
+ asyncStart.set(System.nanoTime());
+ asyncInstance.set(this);
return new AsyncResult<Boolean>(true);
}
@@ -104,19 +106,19 @@ public class AsyncPostContructTest {
}
public long getStartEnd() {
- return startEnd;
+ return startEnd.get();
}
public long getAsyncStart() {
- return asyncStart;
+ return asyncStart.get();
}
public Object getStartInstance() {
- return startInstance;
+ return startInstance.get();
}
public Object getAsyncInstance() {
- return asyncInstance;
+ return asyncInstance.get();
}
}
}