org.eclipse.jetty.deploy.providers
Class ScanningAppProvider

java.lang.Object
  extended by org.eclipse.jetty.util.component.AbstractLifeCycle
      extended by org.eclipse.jetty.deploy.providers.ScanningAppProvider
All Implemented Interfaces:
AppProvider, LifeCycle
Direct Known Subclasses:
ContextProvider, OSGiAppProvider, WebAppProvider

public abstract class ScanningAppProvider
extends AbstractLifeCycle
implements AppProvider

Abstract for AppProviders that monitor context files. The context file enables adminsitrators to customize the configuration of a WebAppContext or a ContextHandler without chaging files inside the packaged application.

When the context file is changed, the corresponding application is redeployed.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
 
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
 
Field Summary
protected  FilenameFilter _filenameFilter
           
 
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
_listeners, FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
 
Constructor Summary
protected ScanningAppProvider(FilenameFilter filter)
           
 
Method Summary
protected  App createApp(String filename)
          Called by the Scanner.DiscreteListener to create a new App object.
protected  void doStart()
           
protected  void doStop()
           
protected  Map<String,App> getDeployedApps()
           
 DeploymentManager getDeploymentManager()
          Get the deploymentManager.
 Resource getMonitoredDir()
           
 int getScanInterval()
           
 boolean isRecursive()
           
 void setDeploymentManager(DeploymentManager deploymentManager)
          Set the Deployment Manager
 void setMonitoredDir(Resource contextsDir)
           
 void setMonitoredDir(String dir)
           
protected  void setRecursive(boolean recursive)
           
 void setScanInterval(int scanInterval)
           
 
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.jetty.deploy.AppProvider
createContextHandler
 
Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
 

Field Detail

_filenameFilter

protected final FilenameFilter _filenameFilter
Constructor Detail

ScanningAppProvider

protected ScanningAppProvider(FilenameFilter filter)
Method Detail

getDeployedApps

protected Map<String,App> getDeployedApps()
Returns:
The index of currently deployed applications.

createApp

protected App createApp(String filename)
Called by the Scanner.DiscreteListener to create a new App object. Isolated in a method so that it is possible to override the default App object for specialized implementations of the AppProvider.

Parameters:
filename - The file that is the context.xml. It is resolved by Resource.newResource(String)
Returns:
The App object for this particular context definition file.

doStart

protected void doStart()
                throws Exception
Overrides:
doStart in class AbstractLifeCycle
Throws:
Exception

doStop

protected void doStop()
               throws Exception
Overrides:
doStop in class AbstractLifeCycle
Throws:
Exception

getDeploymentManager

public DeploymentManager getDeploymentManager()
Get the deploymentManager.

Returns:
the deploymentManager

getMonitoredDir

public Resource getMonitoredDir()

getScanInterval

public int getScanInterval()

isRecursive

public boolean isRecursive()

setDeploymentManager

public void setDeploymentManager(DeploymentManager deploymentManager)
Description copied from interface: AppProvider
Set the Deployment Manager

Specified by:
setDeploymentManager in interface AppProvider

setMonitoredDir

public void setMonitoredDir(Resource contextsDir)

setMonitoredDir

public void setMonitoredDir(String dir)
Parameters:
dir - Directory to scan for context descriptors or war files

setRecursive

protected void setRecursive(boolean recursive)

setScanInterval

public void setScanInterval(int scanInterval)


Copyright © 1995-2010 Mort Bay Consulting. All Rights Reserved.