[jboss-cvs] JBossAS SVN: r83680 - in projects/ejb3/trunk/core: src/main/java/org/jboss/ejb3 and 7 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jan 30 08:27:55 EST 2009
Author: wolfc
Date: 2009-01-30 08:27:55 -0500 (Fri, 30 Jan 2009)
New Revision: 83680
Added:
projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/timerservice/
projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/timerservice/MockTimerServiceFactory.java
projects/ejb3/trunk/core/src/test/resources/mocktimerservice-beans.xml
Removed:
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/timerservice/
projects/ejb3/trunk/core/src/main/resources/ejb3-timer-service.xml
Modified:
projects/ejb3/trunk/core/pom.xml
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/MessagingContainer.java
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/service/ServiceContainer.java
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateless/StatelessContainer.java
projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/AbstractEJB3TestCase.java
Log:
EJBTHREE-1697: integrate with timerservice-spi
Modified: projects/ejb3/trunk/core/pom.xml
===================================================================
--- projects/ejb3/trunk/core/pom.xml 2009-01-30 13:18:13 UTC (rev 83679)
+++ projects/ejb3/trunk/core/pom.xml 2009-01-30 13:27:55 UTC (rev 83680)
@@ -7,7 +7,7 @@
<parent>
<groupId>org.jboss.ejb3</groupId>
<artifactId>jboss-ejb3-build</artifactId>
- <version>1.0.0</version>
+ <version>1.0.1</version>
<relativePath>../build/pom.xml</relativePath>
</parent>
@@ -17,7 +17,7 @@
<!-- Artifact Information -->
<artifactId>jboss-ejb3-core</artifactId>
<packaging>jar</packaging>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.1.0-SNAPSHOT</version>
<name>JBoss EJB 3.0 Core</name>
<url>http://labs.jboss.com/jbossejb3</url>
<description>JBoss EJB 3.0 Core</description>
@@ -369,6 +369,12 @@
<dependency>
<groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-timerservice-spi</artifactId>
+ <version>0.1.0-alpha-1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.ejb3</groupId>
<artifactId>jboss-ejb3-ext-api</artifactId>
<version>1.0.0</version>
</dependency>
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/MessagingContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/MessagingContainer.java 2009-01-30 13:18:13 UTC (rev 83679)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/MessagingContainer.java 2009-01-30 13:27:55 UTC (rev 83680)
@@ -39,6 +39,7 @@
import org.jboss.aop.Domain;
import org.jboss.aop.MethodInfo;
+import org.jboss.beans.metadata.api.annotations.Inject;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.ejb3.BeanContext;
import org.jboss.ejb3.EJBContainer;
@@ -49,8 +50,8 @@
import org.jboss.ejb3.jms.JMSDestinationFactory;
import org.jboss.ejb3.mdb.inflow.JBossMessageEndpointFactory;
import org.jboss.ejb3.proxy.factory.ProxyFactoryHelper;
-import org.jboss.ejb3.timerservice.TimedObjectInvoker;
-import org.jboss.ejb3.timerservice.TimerServiceFactory;
+import org.jboss.ejb3.timerservice.spi.TimedObjectInvoker;
+import org.jboss.ejb3.timerservice.spi.TimerServiceFactory;
import org.jboss.jms.jndi.JMSProviderAdapter;
import org.jboss.logging.Logger;
import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
@@ -71,6 +72,8 @@
protected JBossMessageEndpointFactory messageEndpointFactory;
private MessagingDelegateWrapper mbean = new MessagingDelegateWrapper(this);
+ private TimerServiceFactory timerServiceFactory;
+
/**
* Default destination type. Used when no message-driven-destination is given
* in ejb-jar, and a lookup of destinationJNDI from jboss.xml is not
@@ -168,11 +171,11 @@
innerStart();
- timerService = TimerServiceFactory.getInstance().createTimerService(this, this);
+ timerService = timerServiceFactory.createTimerService(this);
startProxies();
- TimerServiceFactory.getInstance().restoreTimerService(timerService);
+ timerServiceFactory.restoreTimerService(timerService);
}
protected void innerStart() throws Exception
@@ -299,7 +302,7 @@
{
if (timerService != null)
{
- TimerServiceFactory.getInstance().removeTimerService(timerService);
+ timerServiceFactory.suspendTimerService(timerService);
timerService = null;
}
@@ -620,4 +623,18 @@
else
return 60000;
}
+
+ /* (non-Javadoc)
+ * @see org.jboss.ejb3.timerservice.spi.TimedObjectInvoker#getTimedObjectId()
+ */
+ public String getTimedObjectId()
+ {
+ return getDeploymentQualifiedName();
+ }
+
+ @Inject
+ public void setTimerServiceFactory(TimerServiceFactory factory)
+ {
+ this.timerServiceFactory = factory;
+ }
}
\ No newline at end of file
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/service/ServiceContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/service/ServiceContainer.java 2009-01-30 13:18:13 UTC (rev 83679)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/service/ServiceContainer.java 2009-01-30 13:27:55 UTC (rev 83680)
@@ -53,6 +53,7 @@
import org.jboss.aop.util.MethodHashing;
import org.jboss.aop.util.PayloadKey;
import org.jboss.aspects.asynch.FutureHolder;
+import org.jboss.beans.metadata.api.annotations.Inject;
import org.jboss.ejb.AllowedOperationsAssociation;
import org.jboss.ejb.AllowedOperationsFlags;
import org.jboss.ejb3.BeanContext;
@@ -73,8 +74,8 @@
import org.jboss.ejb3.proxy.objectstore.ObjectStoreBindings;
import org.jboss.ejb3.session.SessionContainer;
import org.jboss.ejb3.stateful.StatefulContainerInvocation;
-import org.jboss.ejb3.timerservice.TimedObjectInvoker;
-import org.jboss.ejb3.timerservice.TimerServiceFactory;
+import org.jboss.ejb3.timerservice.spi.TimedObjectInvoker;
+import org.jboss.ejb3.timerservice.spi.TimerServiceFactory;
import org.jboss.injection.Injector;
import org.jboss.logging.Logger;
import org.jboss.metadata.ejb.jboss.JBossServiceBeanMetaData;
@@ -105,6 +106,8 @@
private Method timeoutMethod;
+ private TimerServiceFactory timerServiceFactory;
+
@SuppressWarnings("unused")
private static final Logger log = Logger.getLogger(ServiceContainer.class);
@@ -303,11 +306,11 @@
initBeanContext();
// make sure the timer service is there before injection takes place
- timerService = TimerServiceFactory.getInstance().createTimerService(this, this);
+ timerService = timerServiceFactory.createTimerService(this);
injectDependencies(beanContext);
- TimerServiceFactory.getInstance().restoreTimerService(timerService);
+ timerServiceFactory.restoreTimerService(timerService);
invokeOptionalMethod(METHOD_NAME_LIFECYCLE_CALLBACK_START);
}
catch (Exception e)
@@ -333,7 +336,7 @@
if (timerService != null)
{
- TimerServiceFactory.getInstance().removeTimerService(timerService);
+ timerServiceFactory.suspendTimerService(timerService);
timerService = null;
}
@@ -690,6 +693,14 @@
throw new NotImplementedException(this + " is no longer using unsupported (legacy) proxy impl from ejb3-core");
}
+ /* (non-Javadoc)
+ * @see org.jboss.ejb3.timerservice.spi.TimedObjectInvoker#getTimedObjectId()
+ */
+ public String getTimedObjectId()
+ {
+ return getDeploymentQualifiedName();
+ }
+
private void registerManagementInterface()
{
try
@@ -838,4 +849,10 @@
{
throw new RuntimeException("Don't do this");
}
+
+ @Inject
+ public void setTimerServiceFactory(TimerServiceFactory factory)
+ {
+ this.timerServiceFactory = factory;
+ }
}
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateless/StatelessContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateless/StatelessContainer.java 2009-01-30 13:18:13 UTC (rev 83679)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateless/StatelessContainer.java 2009-01-30 13:27:55 UTC (rev 83680)
@@ -46,6 +46,7 @@
import org.jboss.aop.joinpoint.InvocationResponse;
import org.jboss.aop.joinpoint.MethodInvocation;
import org.jboss.aspects.asynch.FutureHolder;
+import org.jboss.beans.metadata.api.annotations.Inject;
import org.jboss.ejb.AllowedOperationsAssociation;
import org.jboss.ejb.AllowedOperationsFlags;
import org.jboss.ejb3.BeanContext;
@@ -77,8 +78,8 @@
import org.jboss.ejb3.proxy.remoting.SessionSpecRemotingMetadata;
import org.jboss.ejb3.session.SessionContainer;
import org.jboss.ejb3.session.SessionSpecContainer;
-import org.jboss.ejb3.timerservice.TimedObjectInvoker;
-import org.jboss.ejb3.timerservice.TimerServiceFactory;
+import org.jboss.ejb3.timerservice.spi.TimedObjectInvoker;
+import org.jboss.ejb3.timerservice.spi.TimerServiceFactory;
import org.jboss.ejb3.util.CollectionHelper;
import org.jboss.injection.WebServiceContextProxy;
import org.jboss.injection.lang.reflect.BeanProperty;
@@ -110,6 +111,8 @@
private Method timeout;
private StatelessDelegateWrapper mbean = new StatelessDelegateWrapper(this);
+ private TimerServiceFactory timerServiceFactory;
+
public StatelessContainer(ClassLoader cl, String beanClassName, String ejbName, Domain domain,
Hashtable ctxProperties, Ejb3Deployment deployment, JBossSessionBeanMetaData beanMetaData) throws ClassNotFoundException
{
@@ -246,9 +249,9 @@
{
super.lockedStart();
- timerService = TimerServiceFactory.getInstance().createTimerService(this, this);
+ timerService = timerServiceFactory.createTimerService(this);
- TimerServiceFactory.getInstance().restoreTimerService(timerService);
+ timerServiceFactory.restoreTimerService(timerService);
}
catch (Exception e)
{
@@ -269,7 +272,7 @@
{
if (timerService != null)
{
- TimerServiceFactory.getInstance().removeTimerService(timerService);
+ timerServiceFactory.suspendTimerService(timerService);
timerService = null;
}
@@ -744,6 +747,20 @@
: ObjectStoreBindings.OBJECTSTORE_BEAN_NAME_JNDI_REGISTRAR_SLSB;
}
+ /* (non-Javadoc)
+ * @see org.jboss.ejb3.timerservice.spi.TimedObjectInvoker#getTimedObjectId()
+ */
+ public String getTimedObjectId()
+ {
+ return getDeploymentQualifiedName();
+ }
+
+ @Inject
+ public void setTimerServiceFactory(TimerServiceFactory factory)
+ {
+ this.timerServiceFactory = factory;
+ }
+
static class WSCallbackImpl implements BeanContextLifecycleCallback
{
private ExtensibleWebServiceContext jaxwsContext;
Deleted: projects/ejb3/trunk/core/src/main/resources/ejb3-timer-service.xml
===================================================================
--- projects/ejb3/trunk/core/src/main/resources/ejb3-timer-service.xml 2009-01-30 13:18:13 UTC (rev 83679)
+++ projects/ejb3/trunk/core/src/main/resources/ejb3-timer-service.xml 2009-01-30 13:27:55 UTC (rev 83680)
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<server>
- <!-- TODO: the ejb deployer must depend on this -->
-
- <!-- ================================================ -->
- <!-- Defines the Quartz configuration for -->
- <!-- the EJB3 Timer Service -->
- <!-- ================================================ -->
- <mbean code="org.jboss.ejb3.timerservice.quartz.jmx.EJB3TimerService" name="jboss.ejb:service=EJB3TimerService">
- <depends>jboss:service=Naming</depends>
- <depends>jboss:service=TransactionManager</depends>
- <depends optional-attribute-name="DataSource">jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
-
- <attribute name="Properties">
- org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreCMT
- org.quartz.jobStore.nonManagedTXDataSource=myDS
- org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.HSQLDBDelegate
- org.quartz.jobStore.tablePrefix=QRTZ_
- org.quartz.jobStore.dataSource=myDS
-
- # To get it to work with hypersonic
- # FIXME: this doesn't lock the row
- org.quartz.jobStore.selectWithLockSQL=SELECT * FROM QRTZ_LOCKS WHERE lock_name = ?
-
- # from quartz.properties
- org.quartz.scheduler.instanceName=JBossEJB3QuartzScheduler
- org.quartz.scheduler.rmi.export=false
- org.quartz.scheduler.rmi.proxy=false
- org.quartz.scheduler.wrapJobExecutionInUserTransaction=false
-
- org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
- org.quartz.threadPool.threadCount=10
- org.quartz.threadPool.threadPriority=5
- org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
-
- org.quartz.jobStore.misfireThreshold=60000
- </attribute>
- <attribute name="SqlProperties">
- CREATE_DB_ON_STARTUP = TRUE
-
- CREATE_TABLE_JOB_DETAILS = CREATE TABLE QRTZ_JOB_DETAILS(JOB_NAME VARCHAR(80) NOT NULL, JOB_GROUP VARCHAR(80) NOT NULL, \
- DESCRIPTION VARCHAR(120) NULL, JOB_CLASS_NAME VARCHAR(128) NOT NULL, IS_DURABLE VARCHAR(1) NOT NULL, \
- IS_VOLATILE VARCHAR(1) NOT NULL, IS_STATEFUL VARCHAR(1) NOT NULL, REQUESTS_RECOVERY VARCHAR(1) NOT NULL, \
- JOB_DATA BINARY NULL, PRIMARY KEY (JOB_NAME,JOB_GROUP))
- CREATE_TABLE_JOB_LISTENERS = CREATE TABLE QRTZ_JOB_LISTENERS(JOB_NAME VARCHAR(80) NOT NULL, JOB_GROUP VARCHAR(80) NOT NULL, \
- JOB_LISTENER VARCHAR(80) NOT NULL, PRIMARY KEY (JOB_NAME,JOB_GROUP,JOB_LISTENER), FOREIGN KEY (JOB_NAME,JOB_GROUP) \
- REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP))
- CREATE_TABLE_TRIGGERS = CREATE TABLE QRTZ_TRIGGERS(TRIGGER_NAME VARCHAR(80) NOT NULL, TRIGGER_GROUP VARCHAR(80) NOT NULL, \
- JOB_NAME VARCHAR(80) NOT NULL, JOB_GROUP VARCHAR(80) NOT NULL, IS_VOLATILE VARCHAR(1) NOT NULL, DESCRIPTION VARCHAR(120) NULL, \
- NEXT_FIRE_TIME NUMERIC(13) NULL, PREV_FIRE_TIME NUMERIC(13) NULL, TRIGGER_STATE VARCHAR(16) NOT NULL, \
- TRIGGER_TYPE VARCHAR(8) NOT NULL, START_TIME NUMERIC(13) NOT NULL, END_TIME NUMERIC(13) NULL, CALENDAR_NAME VARCHAR(80) NULL, \
- MISFIRE_INSTR NUMERIC(2) NULL, JOB_DATA BINARY NULL, PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (JOB_NAME,JOB_GROUP) \
- REFERENCES QRTZ_JOB_DETAILS(JOB_NAME,JOB_GROUP))
- CREATE_TABLE_SIMPLE_TRIGGERS = CREATE TABLE QRTZ_SIMPLE_TRIGGERS(TRIGGER_NAME VARCHAR(80) NOT NULL, \
- TRIGGER_GROUP VARCHAR(80) NOT NULL, REPEAT_COUNT NUMERIC(7) NOT NULL, REPEAT_INTERVAL NUMERIC(12) NOT NULL, \
- TIMES_TRIGGERED NUMERIC(7) NOT NULL, PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) \
- REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
- CREATE_TABLE_CRON_TRIGGERS = CREATE TABLE QRTZ_CRON_TRIGGERS(TRIGGER_NAME VARCHAR(80) NOT NULL, \
- TRIGGER_GROUP VARCHAR(80) NOT NULL, CRON_EXPRESSION VARCHAR(80) NOT NULL, TIME_ZONE_ID VARCHAR(80), \
- PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) \
- REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
- CREATE_TABLE_BLOB_TRIGGERS = CREATE TABLE QRTZ_BLOB_TRIGGERS(TRIGGER_NAME VARCHAR(80) NOT NULL, \
- TRIGGER_GROUP VARCHAR(80) NOT NULL, BLOB_DATA BINARY NULL, PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP), \
- FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
- CREATE_TABLE_TRIGGER_LISTENERS = CREATE TABLE QRTZ_TRIGGER_LISTENERS(TRIGGER_NAME VARCHAR(80) NOT NULL, \
- TRIGGER_GROUP VARCHAR(80) NOT NULL, TRIGGER_LISTENER VARCHAR(80) NOT NULL, \
- PRIMARY KEY (TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_LISTENER), FOREIGN KEY (TRIGGER_NAME,TRIGGER_GROUP) \
- REFERENCES QRTZ_TRIGGERS(TRIGGER_NAME,TRIGGER_GROUP))
- CREATE_TABLE_CALENDARS = CREATE TABLE QRTZ_CALENDARS(CALENDAR_NAME VARCHAR(80) NOT NULL, CALENDAR BINARY NOT NULL, \
- PRIMARY KEY (CALENDAR_NAME))
- CREATE_TABLE_PAUSED_TRIGGER_GRPS = CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS(TRIGGER_GROUP VARCHAR(80) NOT NULL, \
- PRIMARY KEY (TRIGGER_GROUP))
- CREATE_TABLE_FIRED_TRIGGERS = CREATE TABLE QRTZ_FIRED_TRIGGERS(ENTRY_ID VARCHAR(95) NOT NULL, TRIGGER_NAME VARCHAR(80) NOT NULL, \
- TRIGGER_GROUP VARCHAR(80) NOT NULL, IS_VOLATILE VARCHAR(1) NOT NULL, INSTANCE_NAME VARCHAR(80) NOT NULL, \
- FIRED_TIME NUMERIC(13) NOT NULL, STATE VARCHAR(16) NOT NULL, JOB_NAME VARCHAR(80) NULL, JOB_GROUP VARCHAR(80) NULL, \
- IS_STATEFUL VARCHAR(1) NULL, REQUESTS_RECOVERY VARCHAR(1) NULL, PRIMARY KEY (ENTRY_ID))
- CREATE_TABLE_SCHEDULER_STATE = CREATE TABLE QRTZ_SCHEDULER_STATE(INSTANCE_NAME VARCHAR(80) NOT NULL, \
- LAST_CHECKIN_TIME NUMERIC(13) NOT NULL, CHECKIN_INTERVAL NUMERIC(13) NOT NULL, RECOVERER VARCHAR(80) NULL, \
- PRIMARY KEY (INSTANCE_NAME))
- CREATE_TABLE_LOCKS = CREATE TABLE QRTZ_LOCKS(LOCK_NAME VARCHAR(40) NOT NULL, PRIMARY KEY (LOCK_NAME))
- INSERT_TRIGGER_ACCESS = INSERT INTO QRTZ_LOCKS values('TRIGGER_ACCESS')
- INSERT_JOB_ACCESS = INSERT INTO QRTZ_LOCKS values('JOB_ACCESS')
- INSERT_CALENDAR_ACCESS = INSERT INTO QRTZ_LOCKS values('CALENDAR_ACCESS')
- INSERT_STATE_ACCESS = INSERT INTO QRTZ_LOCKS values('STATE_ACCESS')
- INSERT_MISFIRE_ACCESS = INSERT INTO QRTZ_LOCKS values('MISFIRE_ACCESS')
- </attribute>
- </mbean>
-</server>
Modified: projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/AbstractEJB3TestCase.java
===================================================================
--- projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/AbstractEJB3TestCase.java 2009-01-30 13:18:13 UTC (rev 83679)
+++ projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/AbstractEJB3TestCase.java 2009-01-30 13:27:55 UTC (rev 83680)
@@ -135,6 +135,7 @@
deploy("namingserver-beans.xml");
deploy("transactionmanager-beans.xml");
+ deploy("mocktimerservice-beans.xml");
deploy("servicecontainer-beans.xml");
deploy("statefulcontainer-beans.xml");
deploy("statelesscontainer-beans.xml");
Added: projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/timerservice/MockTimerServiceFactory.java
===================================================================
--- projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/timerservice/MockTimerServiceFactory.java (rev 0)
+++ projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/timerservice/MockTimerServiceFactory.java 2009-01-30 13:27:55 UTC (rev 83680)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.core.test.common.timerservice;
+
+import javax.ejb.TimerService;
+
+import org.jboss.ejb3.timerservice.spi.TimedObjectInvoker;
+import org.jboss.ejb3.timerservice.spi.TimerServiceFactory;
+import org.jboss.logging.Logger;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class MockTimerServiceFactory implements TimerServiceFactory
+{
+ private static Logger log = Logger.getLogger(MockTimerServiceFactory.class);
+
+ public TimerService createTimerService(TimedObjectInvoker invoker)
+ {
+ log.warn("Running without a TimerService");
+ return null;
+ }
+
+ public void restoreTimerService(TimerService timerService)
+ {
+ }
+
+ public void suspendTimerService(TimerService timerService)
+ {
+ }
+
+}
Added: projects/ejb3/trunk/core/src/test/resources/mocktimerservice-beans.xml
===================================================================
--- projects/ejb3/trunk/core/src/test/resources/mocktimerservice-beans.xml (rev 0)
+++ projects/ejb3/trunk/core/src/test/resources/mocktimerservice-beans.xml 2009-01-30 13:27:55 UTC (rev 83680)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <bean name="MockTimerServiceFactory" class="org.jboss.ejb3.core.test.common.timerservice.MockTimerServiceFactory"/>
+</deployment>
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list