Class 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
    • 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

      All Methods Instance Methods Concrete Methods 
      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.
      protected AutoDeployer.AutodeploymentStatus deploy​(File deployablefile, File autodeployDir)
      Deploy any type of module.
      void disableRenameOnSuccess()
      If an archive is successfully autodeployed, file will not be renamed to archive_deployed
      void enableRenameOnSuccess()
      If an archive is successfully autodeployed will be renamed to archive_deployed
      boolean isCancelled()
      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 setDirectoryScanner​(DirectoryScanner ds)
      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 waitUntilIdle()  
    • Constructor Detail

      • 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
    • Method Detail

      • 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
      • 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)
      • 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