[Jboss-cvs] JBossAS SVN: r56183 - trunk/ejb3/src/main/org/jboss/ejb3/timerservice

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Aug 23 11:55:51 EDT 2006


Author: wolfc
Date: 2006-08-23 11:55:48 -0400 (Wed, 23 Aug 2006)
New Revision: 56183

Added:
   trunk/ejb3/src/main/org/jboss/ejb3/timerservice/TimerServiceFactory.java
   trunk/ejb3/src/main/org/jboss/ejb3/timerservice/package.html
Log:
EJBTHREE-619: timer service factory configurable

Added: trunk/ejb3/src/main/org/jboss/ejb3/timerservice/TimerServiceFactory.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/timerservice/TimerServiceFactory.java	2006-08-23 15:54:49 UTC (rev 56182)
+++ trunk/ejb3/src/main/org/jboss/ejb3/timerservice/TimerServiceFactory.java	2006-08-23 15:55:48 UTC (rev 56183)
@@ -0,0 +1,80 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ejb3.timerservice;
+
+import javax.ejb.EJBException;
+import javax.ejb.TimerService;
+import javax.management.ObjectName;
+
+/**
+ * Comment
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public abstract class TimerServiceFactory
+{
+   private static TimerServiceFactory instance;
+   
+   private synchronized static TimerServiceFactory createInstance()
+   {
+      if(instance != null)
+         return instance;
+      
+      String factoryClass = "org.jboss.ejb3.timerservice.jboss.JBossTimerServiceFactory";
+      factoryClass = System.getProperty("org.jboss.ejb3.timerservice.factory", factoryClass);
+      
+      try
+      {
+         Class cls = Class.forName(factoryClass);
+         instance = (TimerServiceFactory) cls.newInstance();
+         
+         return instance;
+      }
+      catch(ClassNotFoundException e)
+      {
+         throw new EJBException(e);
+      }
+      catch(InstantiationException e)
+      {
+         throw new EJBException(e);
+      }
+      catch(IllegalAccessException e)
+      {
+         throw new EJBException(e);
+      }
+   }
+   
+   public abstract TimerService createTimerService(ObjectName objectName, TimedObjectInvoker invoker);
+   
+   public static TimerServiceFactory getInstance()
+   {
+      if(instance == null)
+      {
+         createInstance();
+      }
+      
+      return instance;
+   }
+   
+   public abstract void removeTimerService(TimerService timerService);
+}

Added: trunk/ejb3/src/main/org/jboss/ejb3/timerservice/package.html
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/timerservice/package.html	2006-08-23 15:54:49 UTC (rev 56182)
+++ trunk/ejb3/src/main/org/jboss/ejb3/timerservice/package.html	2006-08-23 15:55:48 UTC (rev 56183)
@@ -0,0 +1 @@
+This package forms the bridge between EJB3 and a timer service.
\ No newline at end of file




More information about the jboss-cvs-commits mailing list