Class AutoDeployer

java.lang.Object
org.glassfish.deployment.autodeploy.AutoDeployer

public class AutoDeployer extends Object
Handles the logic of deploying the module/app to the required destination.
The destination is specified on the constructor and can be modified by calling setTarget(). The specific directory scanner can be set using setDirectoryScanner, default is AutoDeployDirectoryScanner
Author:
vikas, tjquinn
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Logger
     
    protected static final int
     
    protected static final int
     
    protected static final int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    AutoDeployer(String target, String directoryPath, String virtualServer, boolean jspPrecompilationEnabled, boolean verifierEnabled, boolean renameOnSuccess, boolean forceDeploy, boolean enabled, org.glassfish.hk2.api.ServiceLocator habitat)
    Creates a new instance of AutoDeployer
    AutoDeployer(String target, String directoryPath, String virtualServer, boolean jspPrecompilationEnabled, boolean verifierEnabled, org.glassfish.hk2.api.ServiceLocator habitat)
     
    AutoDeployer(String target, String directoryPath, String virtualServer, org.glassfish.hk2.api.ServiceLocator habitat)
    Creates a new autodeployer.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    cancel(boolean value)
    set cancel flag, which will ensure that only if there is any current deployment is in process,
    it will be completed but the deployer will not do any more deployment.
    deploy(File deployablefile, File autodeployDir)
    Deploy any type of module.
    void
    If an archive is successfully autodeployed, file will not be renamed to archive_deployed
    void
    If an archive is successfully autodeployed will be renamed to archive_deployed
    boolean
    get cancel flag value
    void
    run()
    Run through the auto-deployment procedure.
    void
    run(boolean includeSubdir)
     
    void
    setDirectory(String directoryPath)
    Sets the directory to be scanned by the autodeployer.
    void
    set DirectoryScanner which will be used for filtering out deployeble component
    void
    setHabitat(org.glassfish.hk2.api.ServiceLocator habitat)
    Sets the habitat for use in creating DeployCommand and UndeployCommand instances.
    void
    setJspPreCompilation(boolean jspPreCompilation)
    Set whether this AutoDeployer should precompile JSPs or not.
    void
    setJspPrecompilationEnabled(boolean setting)
    Sets whether or not the precompileJSP option should be requested during autodeployments.
    void
    setTarget(String target)
    set target server where the autual deployment will be done
    void
    setVerifierEnabled(boolean verify)
    Sets whether descriptor verification should be requested during autodeployments.
    void
    setVerify(boolean verify)
    Set whether this AutoDeployer should verify or not.
    void
    undeployAll(File autoDeployDir, boolean includeSubdir)
    do undeployment for all deleted applications in autoDeployDir dir.
    void
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • AutoDeployer

      public AutoDeployer(String target, String directoryPath, String virtualServer, org.glassfish.hk2.api.ServiceLocator habitat) throws AutoDeploymentException
      Creates a new autodeployer.
      Parameters:
      target - deployment target for autodeployed applications
      directoryPath - directory to be scanned for changes
      virtualServer - the virtual server to which to deploy apps to
      habitat - hk2 habitat for injection support
      Throws:
      AutoDeploymentException
    • AutoDeployer

      public AutoDeployer(String target, String directoryPath, String virtualServer, boolean jspPrecompilationEnabled, boolean verifierEnabled, boolean renameOnSuccess, boolean forceDeploy, boolean enabled, org.glassfish.hk2.api.ServiceLocator habitat) throws AutoDeploymentException
      Creates a new instance of AutoDeployer
      Parameters:
      target - the deployment target for autodeployed applications
      directoryPath - the directory to scan
      virtualServer - the virtual server to deploy to
      jspPrecompilationEnabled - whether to precompile JSPs
      verifierEnabled - whether to verify applications during deployment
      renameOnSuccess - rename the file if deployment is successful
      forceDeploy - request that forced deployment occur if the app is already deployed
      enabled - whether apps should be enabled upon auto-deployment
      habitat - HK2 habitat for use in instantiating properly-init'd DeployCommand and UndeployCommand
      Throws:
      AutoDeploymentException
    • AutoDeployer

      public AutoDeployer(String target, String directoryPath, String virtualServer, boolean jspPrecompilationEnabled, boolean verifierEnabled, org.glassfish.hk2.api.ServiceLocator habitat) throws AutoDeploymentException
      Throws:
      AutoDeploymentException
  • Method Details

    • setHabitat

      public void setHabitat(org.glassfish.hk2.api.ServiceLocator habitat)
      Sets the habitat for use in creating DeployCommand and UndeployCommand instances.
      Parameters:
      habitat -
    • setJspPrecompilationEnabled

      public void setJspPrecompilationEnabled(boolean setting)
      Sets whether or not the precompileJSP option should be requested during autodeployments.
      Parameters:
      setting - true if JSPs should be precompiled during autodeployments
    • setDirectory

      public void setDirectory(String directoryPath) throws AutoDeploymentException
      Sets the directory to be scanned by the autodeployer.
      Parameters:
      directoryPath - the directory path to scan
      Throws:
      AutoDeploymentException
    • setVerifierEnabled

      public void setVerifierEnabled(boolean verify)
      Sets whether descriptor verification should be requested during autodeployments.
      Parameters:
      verify - true if verification should occur during autodeployments
    • setDirectoryScanner

      public void setDirectoryScanner(DirectoryScanner ds)
      set DirectoryScanner which will be used for filtering out deployeble component
      Parameters:
      ds - the new directory scanner to use
    • setTarget

      public void setTarget(String target)
      set target server where the autual deployment will be done
      Parameters:
      target -
    • disableRenameOnSuccess

      public void disableRenameOnSuccess()
      If an archive is successfully autodeployed, file will not be renamed to archive_deployed
    • enableRenameOnSuccess

      public void enableRenameOnSuccess()
      If an archive is successfully autodeployed will be renamed to archive_deployed
    • setVerify

      public void setVerify(boolean verify)
      Set whether this AutoDeployer should verify or not.
      Parameters:
      verify - whether to verify the app during deployment
    • setJspPreCompilation

      public void setJspPreCompilation(boolean jspPreCompilation)
      Set whether this AutoDeployer should precompile JSPs or not.
      Parameters:
      jspPreCompilation - precompilation setting
    • run

      public void run()
      Run through the auto-deployment procedure.

      Clients should invoke this method to execute the auto-deployer once with the current configurable settings.

    • run

      public void run(boolean includeSubdir)
    • waitUntilIdle

      public void waitUntilIdle() throws InterruptedException
      Throws:
      InterruptedException
    • undeployAll

      public void undeployAll(File autoDeployDir, boolean includeSubdir) throws AutoDeploymentException
      do undeployment for all deleted applications in autoDeployDir dir.
      Parameters:
      autoDeployDir - the directory to scan for deleted files
      Throws:
      AutoDeploymentException
    • cancel

      public void cancel(boolean value)
      set cancel flag, which will ensure that only if there is any current deployment is in process,
      it will be completed but the deployer will not do any more deployment.
      Parameters:
      value - the cancel setting
    • isCancelled

      public boolean isCancelled()
      get cancel flag value
      Returns:
    • deploy

      protected AutoDeployer.AutodeploymentStatus deploy(File deployablefile, File autodeployDir) throws AutoDeploymentException
      Deploy any type of module.
      Parameters:
      deployablefile - the file to be deployed
      autodeployDir - the directory where the file resides (holdover from earlier impl)
      Returns:
      status of the deployment attempt: DEPLOY_SUCCESS, DEPLOY_FAILURE, or DEPLOY_PENDING
      Throws:
      AutoDeploymentException - if any invoked method throws an exception