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 2017/06/15 07:20:15 UTC

tomee git commit: TOMEE-2065 @Stateful can fail timerservice.getAllTimers()

Repository: tomee
Updated Branches:
  refs/heads/master 7708df488 -> 3684660ea


TOMEE-2065 @Stateful can fail timerservice.getAllTimers()


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/3684660e
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/3684660e
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/3684660e

Branch: refs/heads/master
Commit: 3684660ea75a8d211e3b27009fb10e94b4b89479
Parents: 7708df4
Author: rmannibucau <rm...@apache.org>
Authored: Thu Jun 15 09:20:09 2017 +0200
Committer: rmannibucau <rm...@apache.org>
Committed: Thu Jun 15 09:20:09 2017 +0200

----------------------------------------------------------------------
 .../main/java/org/apache/openejb/core/timer/Timers.java   |  3 +++
 .../org/apache/openejb/core/timer/GetAllTimersTest.java   | 10 ++++++++++
 2 files changed, 13 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/3684660e/container/openejb-core/src/main/java/org/apache/openejb/core/timer/Timers.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/Timers.java b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/Timers.java
index 273d109..a5f51cd 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/Timers.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/Timers.java
@@ -71,6 +71,9 @@ public final class Timers {
     public static TimerService getTimerService(final Object pk, final BeanContext beanContext, final boolean nullIfNotRelevant) throws IllegalStateException {
         final EjbTimerService timerService = beanContext.getEjbTimerService();
         if (timerService == null) {
+            if (nullIfNotRelevant) {
+                return null;
+            }
             throw new IllegalStateException("This ejb does not support timers " + beanContext.getDeploymentID());
         } else if (beanContext.getEjbTimeout() == null) {
 

http://git-wip-us.apache.org/repos/asf/tomee/blob/3684660e/container/openejb-core/src/test/java/org/apache/openejb/core/timer/GetAllTimersTest.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/core/timer/GetAllTimersTest.java b/container/openejb-core/src/test/java/org/apache/openejb/core/timer/GetAllTimersTest.java
index 985d09c..ae92370 100644
--- a/container/openejb-core/src/test/java/org/apache/openejb/core/timer/GetAllTimersTest.java
+++ b/container/openejb-core/src/test/java/org/apache/openejb/core/timer/GetAllTimersTest.java
@@ -18,6 +18,7 @@ package org.apache.openejb.core.timer;
 
 import org.apache.openejb.jee.EjbJar;
 import org.apache.openejb.jee.SingletonBean;
+import org.apache.openejb.jee.StatefulBean;
 import org.apache.openejb.junit.ApplicationComposer;
 import org.apache.openejb.testing.Module;
 import org.junit.Test;
@@ -28,6 +29,7 @@ import javax.annotation.Resource;
 import javax.ejb.EJB;
 import javax.ejb.Singleton;
 import javax.ejb.Startup;
+import javax.ejb.Stateful;
 import javax.ejb.Timeout;
 import javax.ejb.Timer;
 import javax.ejb.TimerConfig;
@@ -50,6 +52,7 @@ public class GetAllTimersTest {
     @Module
     public EjbJar jar() {
         return new EjbJar()
+            .enterpriseBean(new StatefulBean(NoTimer.class).localBean())
             .enterpriseBean(new SingletonBean(Query.class).localBean())
             .enterpriseBean(new SingletonBean(Bean1.class).localBean())
             .enterpriseBean(new SingletonBean(Bean2.class).localBean());
@@ -86,6 +89,13 @@ public class GetAllTimersTest {
         assertEquals(Bean2.class.getSimpleName(), it.next().getInfo());
     }
 
+    @Stateful
+    public static class NoTimer {
+        public void justHereToEnsureWeDontFailIfABeanHasNoTimer() {
+            // no-op
+        }
+    }
+
     @Startup
     public static class TimerBean {
         @Resource