You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/02/07 22:32:52 UTC
svn commit: r1241640 - in /openejb/trunk/openejb/container/openejb-core/src:
main/java/org/apache/openejb/junit/ApplicationComposer.java
test/java/org/apache/openejb/core/stateful/StatefulStatefulTimeoutTest.java
Author: rmannibucau
Date: Tue Feb 7 21:32:51 2012
New Revision: 1241640
URL: http://svn.apache.org/viewvc?rev=1241640&view=rev
Log:
adding a test to work on stateful timeout
Added:
openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulStatefulTimeoutTest.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java?rev=1241640&r1=1241639&r2=1241640&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/junit/ApplicationComposer.java Tue Feb 7 21:32:51 2012
@@ -66,6 +66,7 @@ import static org.apache.openejb.config.
*/
public class ApplicationComposer extends BlockJUnit4ClassRunner {
+ public static final String OPENEJB_APPLICATION_COMPOSER_CONTEXT = "openejb.application.composer.context";
private final TestClass testClass;
public ApplicationComposer(Class<?> klass) throws InitializationError {
@@ -315,6 +316,8 @@ public class ApplicationComposer extends
System.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, InitContextFactory.class.getName());
+ System.getProperties().put(OPENEJB_APPLICATION_COMPOSER_CONTEXT, appContext.getGlobalJndiContext());
+
final ThreadContext previous = ThreadContext.enter(new ThreadContext(context, null, Operation.BUSINESS));
try {
next.evaluate();
Added: openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulStatefulTimeoutTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulStatefulTimeoutTest.java?rev=1241640&view=auto
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulStatefulTimeoutTest.java (added)
+++ openejb/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulStatefulTimeoutTest.java Tue Feb 7 21:32:51 2012
@@ -0,0 +1,53 @@
+package org.apache.openejb.core.stateful;
+
+import org.apache.openejb.jee.EnterpriseBean;
+import org.apache.openejb.jee.StatefulBean;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.apache.openejb.junit.Module;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.ejb.Stateful;
+import javax.ejb.StatefulTimeout;
+import javax.naming.Context;
+import java.util.concurrent.TimeUnit;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+@RunWith(ApplicationComposer.class)
+public class StatefulStatefulTimeoutTest {
+ private Context context;
+
+ @Before
+ public void initContext() {
+ context = (Context) System.getProperties().get(ApplicationComposer.OPENEJB_APPLICATION_COMPOSER_CONTEXT);
+ }
+
+ @Stateful
+ @StatefulTimeout(value = 4, unit = TimeUnit.SECONDS)
+ public static class TimedOutStateful {
+ public void foo() {}
+ }
+
+ @Module
+ public EnterpriseBean stateful() {
+ return new StatefulBean("TimedOutStateful", TimedOutStateful.class);
+ }
+
+ @Test @Ignore
+ public void checkBeanIsCleaned() throws Exception {
+ assertNotNull(context);
+ TimedOutStateful stateful = (TimedOutStateful) context.lookup("global/StatefulStatefulTimeoutTest/stateful/TimedOutStateful");
+ stateful.foo();
+ Thread.sleep(8000);
+ try {
+ stateful.foo();
+ fail();
+ } catch (Exception e) {
+ System.out.println("got " + e.getClass());
+ }
+ }
+}