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.deployment.scanner
Class AbstractDeploymentScanner

    java.lang.Object
      org.jboss.mx.util.JBossNotificationBroadcasterSupport
          org.jboss.system.ServiceMBeanSupport
              org.jboss.deployment.scanner.AbstractDeploymentScanner

All Implemented Interfaces:
  DeploymentScanner, DeploymentScannerMBean, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, javax.management.NotificationEmitter, Service, ServiceMBean

Direct Known Subclasses:
  URLDeploymentScanner, URLDirectoryScanner

public abstract class AbstractDeploymentScanner
extends ServiceMBeanSupport
implements DeploymentScanner, DeploymentScannerMBean

An abstract support class for implementing a deployment scanner.

Provides the implementation of period-based scanning, as well as Deployer integration.

Sub-classes only need to implement `DeploymentScanner.scan()`.

Version:
  `$Revision: 1.15 $`
Author:
  Jason Dillon, Scott.Stark@jboss.org

Nested Class Summary
`class` | `AbstractDeploymentScanner.ScannerThread` Should use Timer/TimerTask instead? This has some issues with interaction with ScanEnabled attribute.

Field Summary
`protected Deployer` | `deployer` A proxy to the deployer we are using.
`protected MainDeployerMBean` | `mainDeployer`
`protected org.jboss.util.MuBoolean` | `scanEnabled` True if period based scanning is enabled.
`protected AbstractDeploymentScanner.ScannerThread` | `scannerThread` The scanner thread.
`protected org.jboss.util.MuLong` | `scanPeriod` The scan period in milliseconds

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

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
`AbstractDeploymentScanner()`

Method Summary
`protected void` | `createService()` Sub-classes should override this method to provide custum 'create' logic.
`protected void` | `destroyService()` Sub-classes should override this method to provide custum 'destroy' logic.
`javax.management.ObjectName` | `getDeployer()` Get the ObjectName of the `Deployer` which we are using.
`long` | `getScanPeriod()` Get the scan period for the scanner.
`boolean` | `isScanEnabled()` Check if period based scanning is enabled.
`abstract void` | `scan()` This is here to work around a bug in the IBM vm that causes an AbstractMethodError to be thrown when the ScannerThread calls scan.
`void` | `setDeployer(javax.management.ObjectName deployerName)` The ObjectName of the `Deployer` which we will use.
`void` | `setScanEnabled(boolean flag)` Disable or enable the period based deployment scanning.
`void` | `setScanPeriod(long period)` Period must be >= 0.
`protected void` | `startService()` Sub-classes should override this method to provide custum 'start' logic.
`protected void` | `stopService()` Sub-classes should override this method to provide custum 'stop' logic.

Methods inherited from class org.jboss.system.ServiceMBeanSupport
`create, destroy, getLog, getName, getNextNotificationSequenceNumber, getObjectName, 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, sendNotification`

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

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

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

Field Detail

### scanPeriod

    protected org.jboss.util.MuLong scanPeriod

  The scan period in milliseconds

### scanEnabled

    protected org.jboss.util.MuBoolean scanEnabled

  True if period based scanning is enabled.

### deployer

    protected Deployer deployer

  A proxy to the deployer we are using.

### mainDeployer

    protected MainDeployerMBean mainDeployer

### scannerThread

    protected AbstractDeploymentScanner.ScannerThread scannerThread

  The scanner thread.

Constructor Detail

### AbstractDeploymentScanner

    public AbstractDeploymentScanner()

Method Detail

### setDeployer

    public void setDeployer(javax.management.ObjectName deployerName)

  Description copied from interface: `DeploymentScanner`
  The ObjectName of the `Deployer` which we will use.

  Specified by:
    `setDeployer` in interface `DeploymentScanner`
  Parameters:
    `deployerName` - The object name of the deployer to use.

### getDeployer

    public javax.management.ObjectName getDeployer()

  Description copied from interface: `DeploymentScanner`
  Get the ObjectName of the `Deployer` which we are using.

  Specified by:
    `getDeployer` in interface `DeploymentScanner`
  Returns:
    The object name of the deployer we are using.

### setScanPeriod

    public void setScanPeriod(long period)

  Period must be >= 0.

  Specified by:
    `setScanPeriod` in interface `DeploymentScanner`
  Parameters:
    `period` - This is the time in milliseconds between scans.

### getScanPeriod

    public long getScanPeriod()

  Description copied from interface: `DeploymentScanner`
  Get the scan period for the scanner.

  Specified by:
    `getScanPeriod` in interface `DeploymentScanner`
  Returns:
    This is the time in milliseconds between scans.

### setScanEnabled

    public void setScanEnabled(boolean flag)

  Description copied from interface: `DeploymentScanner`
  Disable or enable the period based deployment scanning.

  Manual scanning can still be performed by calling `DeploymentScanner.scan()`.

  Specified by:
    `setScanEnabled` in interface `DeploymentScanner`
  Parameters:
    `flag` - True to enable or false to disable period based scanning.

### isScanEnabled

    public boolean isScanEnabled()

  Description copied from interface: `DeploymentScanner`
  Check if period based scanning is enabled.

  Specified by:
    `isScanEnabled` in interface `DeploymentScanner`
  Returns:
    True if enabled, false if disabled.

### scan

    public abstract void scan()
                       throws Exception

  This is here to work around a bug in the IBM vm that causes an AbstractMethodError to be thrown when the ScannerThread calls scan.

  Specified by:
    `scan` in interface `DeploymentScanner`
  Throws:
    `Exception`

### createService

    protected void createService()
                          throws Exception

  Description copied from class: `ServiceMBeanSupport`
  Sub-classes should override this method to provide custum 'create' logic.

  This method is empty, and is provided for convenience when concrete service classes do not need to perform anything specific for this state change.

  Overrides:
    `createService` in class `ServiceMBeanSupport`
  Throws:
    `Exception`

### startService

    protected void startService()
                         throws Exception

  Description copied from class: `ServiceMBeanSupport`
  Sub-classes should override this method to provide custum 'start' logic.

  This method is empty, and is provided for convenience when concrete service classes do not need to perform anything specific for this state change.

  Overrides:
    `startService` in class `ServiceMBeanSupport`
  Throws:
    `Exception`

### stopService

    protected void stopService()
                        throws Exception

  Description copied from class: `ServiceMBeanSupport`
  Sub-classes should override this method to provide custum 'stop' logic.

  This method is empty, and is provided for convenience when concrete service classes do not need to perform anything specific for this state change.

  Overrides:
    `stopService` in class `ServiceMBeanSupport`
  Throws:
    `Exception`

### destroyService

    protected void destroyService()
                           throws Exception

  Description copied from class: `ServiceMBeanSupport`
  Sub-classes should override this method to provide custum 'destroy' logic.

  This method is empty, and is provided for convenience when concrete service classes do not need to perform anything specific for this state change.

  Overrides:
    `destroyService` in class `ServiceMBeanSupport`
  Throws:
    `Exception`

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.