org.jboss.varia.scheduler
Class DBScheduleProvider
java.lang.Object
org.jboss.mx.util.JBossNotificationBroadcasterSupport (src)
org.jboss.system.ServiceMBeanSupport (src)
org.jboss.ha.jmx.HAServiceMBeanSupport (src)
org.jboss.ha.singleton.HASingletonSupport (src)
org.jboss.varia.scheduler.AbstractScheduleProvider (src)
org.jboss.varia.scheduler.DBScheduleProvider
- All Implemented Interfaces:
- HAServiceMBean (src) , HASingleton (src) , HASingletonMBean (src) , MBeanRegistration (src) , NotificationBroadcaster (src) , NotificationEmitter (src) , Service (src) , ServiceMBean (src)
- public class DBScheduleProvider
- extends AbstractScheduleProvider (src)
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
Fields inherited from interface org.jboss.system.ServiceMBean (src) |
CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, START_EVENT, STARTED, STARTING, states, STOP_EVENT, STOPPED, STOPPING, UNREGISTERED |
Method Summary |
java.lang.String |
getDataSourceName()
|
ObjectName (src) |
getObjectName(MBeanServer (src) pServer,
ObjectName (src) pName)
Sub-classes should override this method if they only need to set their
object name during MBean pre-registration. |
protected java.lang.String[] |
getSignature(java.lang.String pMethodSignature)
Converts a string of method arguments (separated by colons) into
an array of string |
java.lang.String |
getSQLStatement()
|
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. |
void |
setDataSourceName(java.lang.String pDataSourceName)
Sets the JNDI name of the Data Source. |
void |
setSQLStatement(java.lang.String pSQLStatement)
Sets the SQL Statement used to retrieve the data
from the Database |
void |
startProviding()
Add the Schedule to the Schedule Manager |
void |
stopProviding()
Stops the Provider from providing causing
the provider to remove the Schedule |
Methods inherited from class org.jboss.varia.scheduler.AbstractScheduleProvider (src) |
addSchedule, getScheduleManagerName, isHASingleton, removeSchedule, setHASingleton, setScheduleManagerName, startScheduleProviderService, startService, startSingleton, stopScheduleProviderService, stopService, stopSingleton |
Methods inherited from class org.jboss.ha.jmx.HAServiceMBeanSupport (src) |
_receiveRemoteNotification, callAsyncMethodOnPartition, callMethodOnPartition, 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 (src) |
create, createService, destroy, destroyService, getLog, getName, getNextNotificationSequenceNumber, getServer, getServiceName, getState, getStateString, jbossInternalCreate, jbossInternalDescription, jbossInternalDestroy, jbossInternalLifecycle, jbossInternalStart, jbossInternalStop, postDeregister, postRegister, preDeregister, preRegister, start, stop |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DBScheduleProvider
public DBScheduleProvider()
- Default (no-args) Constructor
getDataSourceName
public java.lang.String getDataSourceName()
- Returns:
- JNDI name of the Data Source used
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()
- Returns:
- SQL Statement used to access the DB
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 (src)
- Throws:
java.lang.Exception
stopProviding
public void stopProviding()
- Stops the Provider from providing causing
the provider to remove the Schedule
- Specified by:
stopProviding
in class AbstractScheduleProvider (src)
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.
- Parameters:
pStartDate
- the datedateFormat
- the dateFormat, the locale is
is used when null or blank
getObjectName
public ObjectName (src) getObjectName(MBeanServer (src) pServer,
ObjectName (src) pName)
throws MalformedObjectNameException (src)
- Description copied from class:
ServiceMBeanSupport (src)
- Sub-classes should override this method if they only need to set their
object name during MBean pre-registration.
- Overrides:
getObjectName
in class ServiceMBeanSupport (src)
- Throws:
MalformedObjectNameException (src)