java.lang.Object
javax.management.NotificationBroadcasterSupport
org.jboss.system.ServiceMBeanSupport
org.jboss.ha.jmx.HAServiceMBeanSupport
org.jboss.ha.singleton.HASingletonSupport
org.jboss.varia.scheduler.AbstractScheduleProvider
org.jboss.varia.scheduler.DBScheduleProvider
- All Implemented Interfaces:
- org.jboss.ha.jmx.HAServiceMBean, org.jboss.ha.singleton.HASingleton, org.jboss.ha.singleton.HASingletonMBean, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, org.jboss.system.Service, org.jboss.system.ServiceMBean
- public class DBScheduleProvider
- extends AbstractScheduleProvider
This Provider get its Scheduler from a Database and then adds
all the Schedules to the Schedule Manager.
The "SQL Statement" must deliver the following attributes:
Index Content Data Type
----------------------------------
1., Target, String
2., Method_Name, String
3., Method_Signature, String
4., Start_Date, String
5., Period, long
6., Repetitions, int
7., Date_Format, String
ATTENTION: The "Target" is Object Name of the target MBean as
String, the "Method_Signature" is a list of attributes separated
by colons which can contain:
- NOTIFICATION which will be replaced by the timers notification instance
(javax.management.Notification)
- DATE which will be replaced by the date of the notification call
(java.util.Date)
- REPETITIONS which will be replaced by the number of remaining repetitions
(long)
- SCHEDULER_NAME which will be replaced by the Object Name of the Scheduler
(javax.management.ObjectName)
- any full qualified Class name which the Scheduler will be set a "null" value
for it
The "Period" is an long value greater than 0.
The "Repetitions" can be set to "-1" which means unlimited repetitions.
The "Date_Format" can be null or blank to signify locale usage
- Version:
- $Revision: 1.3.2.1 $
| Fields inherited from interface org.jboss.system.ServiceMBean |
CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, STARTED, STARTING, states, STOPPED, STOPPING, UNREGISTERED |
| Methods inherited from class org.jboss.varia.scheduler.AbstractScheduleProvider |
addSchedule, getScheduleManagerName, isHASingleton, removeSchedule, setHASingleton, setScheduleManagerName, startScheduleProviderService, startService, startSingleton, stopScheduleProviderService, stopService, stopSingleton |
| Methods inherited from class org.jboss.ha.jmx.HAServiceMBeanSupport |
_receiveRemoteNotification, callAsyncMethodOnPartition, callMethodOnPartition, findHAPartitionWithName, getDistributedState, getPartition, getPartitionName, getServiceHAName, isDRMMasterReplica, registerDRMListener, registerRPCHandler, sendNotification, sendNotificationRemote, sendNotificationToLocalListeners, setDistributedState, setPartitionName, setupPartition, unregisterDRMListener, unregisterRPCHandler |
| Methods inherited from class org.jboss.system.ServiceMBeanSupport |
create, createService, destroy, destroyService, getLog, getName, getNextNotificationSequenceNumber, getServer, getServiceName, getState, getStateString, postDeregister, postRegister, preDeregister, preRegister, start, stop |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
mDataSourceName
private java.lang.String mDataSourceName
mSQLStatement
private java.lang.String mSQLStatement
mIDList
private java.util.ArrayList mIDList
- The ID of the Schedule used later to remove it later
DBScheduleProvider
public DBScheduleProvider()
- Default (no-args) Constructor
getDataSourceName
public java.lang.String getDataSourceName()
setDataSourceName
public void setDataSourceName(java.lang.String pDataSourceName)
- Sets the JNDI name of the Data Source. You have
to ensure that the DataSource is available when
this service is started.
getSQLStatement
public java.lang.String getSQLStatement()
setSQLStatement
public void setSQLStatement(java.lang.String pSQLStatement)
- Sets the SQL Statement used to retrieve the data
from the Database
startProviding
public void startProviding()
throws java.lang.Exception
- Add the Schedule to the Schedule Manager
- Specified by:
startProviding in class AbstractScheduleProvider
stopProviding
public void stopProviding()
- Stops the Provider from providing causing
the provider to remove the Schedule
- Specified by:
stopProviding in class AbstractScheduleProvider
getSignature
protected java.lang.String[] getSignature(java.lang.String pMethodSignature)
- Converts a string of method arguments (separated by colons) into
an array of string
getStartDate
protected java.util.Date getStartDate(java.lang.String pStartDate,
java.lang.String dateFormat)
- Converts the given Data string to a date
where not value means 1/1/1970, "NOW" means
now (plus a second), an long value means time
in milliseconds since 1/1/1970 and a String is
a Date string which is intepreted by a Simple
Data Formatter.
getObjectName
public javax.management.ObjectName getObjectName(javax.management.MBeanServer pServer,
javax.management.ObjectName pName)
throws javax.management.MalformedObjectNameException
- Description copied from class:
org.jboss.system.ServiceMBeanSupport
- Sub-classes should override this method if they only need to set their
object name during MBean pre-registration.