Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.varia.scheduler
Class DBScheduleProvider

    java.lang.Object
      org.jboss.mx.util.JBossNotificationBroadcasterSupport
          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:
  AbstractScheduleProviderMBean, DBScheduleProviderMBean, org.jboss.ha.jmx.HAServiceMBean, org.jboss.ha.singleton.HASingleton, org.jboss.ha.singleton.HASingletonMBean, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, org.jboss.system.Service, org.jboss.system.ServiceMBean

public class DBScheduleProvider
extends AbstractScheduleProvider
implements DBScheduleProviderMBean

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.5 $
Author:
  Andreas Schaefer

Field Summary

Fields inherited from class org.jboss.system.ServiceMBeanSupport
`log, server, SERVICE_CONTROLLER_SIG, serviceName`

Fields inherited from interface org.jboss.varia.scheduler.DBScheduleProviderMBean
`OBJECT_NAME`

Fields inherited from interface org.jboss.system.ServiceMBean
`CREATE_EVENT, CREATED, DESTROY_EVENT, DESTROYED, FAILED, REGISTERED, START_EVENT, STARTED, STARTING, states, STOP_EVENT, STOPPED, STOPPING, UNREGISTERED`

Constructor Summary
`DBScheduleProvider()` Default (no-args) Constructor

Method Summary
`String` | `getDataSourceName()`
`javax.management.ObjectName` | `getObjectName(javax.management.MBeanServer pServer, javax.management.ObjectName pName)`
`protected String[]` | `getSignature(String pMethodSignature)` Converts a string of method arguments (separated by colons) into an array of string
`String` | `getSQLStatement()`
`protected Date` | `getStartDate(String pStartDate, 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(String pDataSourceName)` Sets the JNDI name of the Data Source.
`void` | `setSQLStatement(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
`addSchedule, getScheduleManagerName, isHASingleton, removeSchedule, setHASingleton, setScheduleManagerName, startScheduleProviderService, startService, startSingleton, stopScheduleProviderService, stopService, stopSingleton`

Methods inherited from class org.jboss.ha.singleton.HASingletonSupport
`_stopOldMaster, isMasterNode, makeThisNodeMaster, partitionTopologyChanged`

Methods inherited from class org.jboss.ha.jmx.HAServiceMBeanSupport
`_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
`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 org.jboss.mx.util.JBossNotificationBroadcasterSupport
`addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.jboss.varia.scheduler.AbstractScheduleProviderMBean
`getScheduleManagerName, isHASingleton, setHASingleton, setScheduleManagerName`

Methods inherited from interface org.jboss.ha.singleton.HASingletonMBean
`isMasterNode`

Methods inherited from interface org.jboss.ha.jmx.HAServiceMBean
`callMethodOnPartition, getDistributedState, getPartitionName, sendNotification, setDistributedState, setPartitionName`

Methods inherited from interface org.jboss.system.ServiceMBean
`getName, getState, getStateString, jbossInternalLifecycle`

Methods inherited from interface org.jboss.system.Service
`create, destroy, start, stop`

Methods inherited from interface javax.management.NotificationBroadcaster
`addNotificationListener, getNotificationInfo, removeNotificationListener`

Constructor Detail

### DBScheduleProvider

    public DBScheduleProvider()

  Default (no-args) Constructor

Method Detail

### getDataSourceName

    public String getDataSourceName()

  Specified by:
    `getDataSourceName` in interface `DBScheduleProviderMBean`
  Returns:
    JNDI name of the Data Source used

### setDataSourceName

    public void setDataSourceName(String pDataSourceName)

  Sets the JNDI name of the Data Source. You have to ensure that the DataSource is available when this service is started.

  Specified by:
    `setDataSourceName` in interface `DBScheduleProviderMBean`

### getSQLStatement

    public String getSQLStatement()

  Specified by:
    `getSQLStatement` in interface `DBScheduleProviderMBean`
  Returns:
    SQL Statement used to access the DB

### setSQLStatement

    public void setSQLStatement(String pSQLStatement)

  Sets the SQL Statement used to retrieve the data from the Database

  Specified by:
    `setSQLStatement` in interface `DBScheduleProviderMBean`

### startProviding

    public void startProviding()
                        throws Exception

  Add the Schedule to the Schedule Manager

  Specified by:
    `startProviding` in interface `DBScheduleProviderMBean`
  Specified by:
    `startProviding` in class `AbstractScheduleProvider`
  Throws:
    `Exception`

### stopProviding

    public void stopProviding()

  Stops the Provider from providing causing the provider to remove the Schedule

  Specified by:
    `stopProviding` in interface `DBScheduleProviderMBean`
  Specified by:
    `stopProviding` in class `AbstractScheduleProvider`

### getSignature

    protected String[] getSignature(String pMethodSignature)

  Converts a string of method arguments (separated by colons) into an array of string

### getStartDate

    protected Date getStartDate(String pStartDate,
                                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 date
    `dateFormat` - the dateFormat, the locale is is used when null or blank

### getObjectName

    public javax.management.ObjectName getObjectName(javax.management.MBeanServer pServer,
                                                     javax.management.ObjectName pName)
                                              throws javax.management.MalformedObjectNameException

  Throws:
    `javax.management.MalformedObjectNameException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002 JBoss Group, LLC. All Rights Reserved.