[jboss-cvs] JBossAS SVN: r88215 - branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/ejb/plugins.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue May 5 10:05:29 EDT 2009


Author: galder.zamarreno at jboss.com
Date: 2009-05-05 10:05:28 -0400 (Tue, 05 May 2009)
New Revision: 88215

Modified:
   branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/ejb/plugins/EntityInstanceCache.java
   branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/ejb/plugins/PerTxEntityInstanceCache.java
Log:
[JBPAPP-1875] Fixed issue where timer service access was attempted for EJBs not implementing TimedObject.

Modified: branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/ejb/plugins/EntityInstanceCache.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/ejb/plugins/EntityInstanceCache.java	2009-05-05 13:34:49 UTC (rev 88214)
+++ branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/ejb/plugins/EntityInstanceCache.java	2009-05-05 14:05:28 UTC (rev 88215)
@@ -24,6 +24,7 @@
 import java.rmi.RemoteException;
 import java.rmi.NoSuchObjectException;
 
+import javax.ejb.TimedObject;
 import javax.ejb.TimerService;
 
 import org.jboss.ejb.Container;
@@ -173,22 +174,26 @@
    
    protected void removeTimerServiceIfAllCancelledOrExpired(EnterpriseContext ctx)
    {
-      boolean trace = log.isTraceEnabled();
-      if (trace)
+      Class beanClass = m_container.getBeanClass();
+      if(TimedObject.class.isAssignableFrom(beanClass))
       {
-         log.trace("Check whether all timers are cancelled or expired for this entity: " + ctx);
-      }
-      
-      Object id = ctx.getId();
-      TimerService timerService = m_container.getTimerService(id);
-      if (timerService != null && timerService.getTimers().isEmpty())
-      {
-         // Assuming that active timers do not include cancelled or expired ones.
+         boolean trace = log.isTraceEnabled();
          if (trace)
          {
-            log.trace("No active timers available for " + m_container.getJmxName() + " and primary key " + id);
+            log.trace("Check whether all timers are cancelled or expired for this entity: " + ctx);
          }
-         m_container.removeTimerService(id);
+         
+         Object id = ctx.getId();
+         TimerService timerService = m_container.getTimerService(id);
+         if (timerService != null && timerService.getTimers().isEmpty())
+         {
+            // Assuming that active timers do not include cancelled or expired ones.
+            if (trace)
+            {
+               log.trace("No active timers available for " + m_container.getJmxName() + " and primary key " + id);
+            }
+            m_container.removeTimerService(id);
+         }         
       }
    }
 

Modified: branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/ejb/plugins/PerTxEntityInstanceCache.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/ejb/plugins/PerTxEntityInstanceCache.java	2009-05-05 13:34:49 UTC (rev 88214)
+++ branches/JBPAPP_4_2_0_GA_CP/server/src/main/org/jboss/ejb/plugins/PerTxEntityInstanceCache.java	2009-05-05 14:05:28 UTC (rev 88215)
@@ -35,6 +35,7 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.ejb.TimedObject;
 import javax.ejb.TimerService;
 
 /**
@@ -216,21 +217,27 @@
 
    protected void removeTimerServiceIfAllCancelledOrExpired(Object id)
    {
-      boolean trace = log.isTraceEnabled();
-      if (trace)
+      Class beanClass = container.getBeanClass();
+      if(TimedObject.class.isAssignableFrom(beanClass))
       {
-         log.trace("Check whether all timers are cancelled or expired for this entity: " + id);
-      }
-      TimerService timerService = container.getTimerService(id);
-      if (timerService != null && timerService.getTimers().isEmpty())
-      {
-         // Assuming that active timers do not include cancelled or expired ones.
+         boolean trace = log.isTraceEnabled();
          if (trace)
          {
-            log.trace("No active timers available for " + container.getJmxName() + " and primary key " + id);
+            log.trace("Check whether all timers are cancelled or expired for this entity: " + id);
          }
-         container.removeTimerService(id);
+
+         TimerService timerService = container.getTimerService(id);
+         if (timerService != null && timerService.getTimers().isEmpty())
+         {
+            // Assuming that active timers do not include cancelled or expired ones.
+            if (trace)
+            {
+               log.trace("No active timers available for " + container.getJmxName() + " and primary key " + id);
+            }
+            container.removeTimerService(id);
+         }
       }
+      
    }
 
    // Private




More information about the jboss-cvs-commits mailing list