Annotation Type PostDeploy


  • @Target(METHOD)
    @Retention(RUNTIME)
    public @interface PostDeploy

    Annotation that can be placed on a method of a ProcessApplication class.

    The method will be invoked after the process application has been successfully deployed, meaning that

    • If the process application defines one or more ProcessEngines, all process engines have been successfully started and can be looked up.
    • If the process application defines one or more ProcessArchvies (deployments), all deployments have completed successfully.

    LIMITATION: the annotation must be placed on a method of the same class carrying the @ProcessApplication annotation. Methods of superclasses are not detected.

    NOTE: A process application class must only define a single @PostDeploy Method.

    NOTE: if the @PostDeploy method throws an exception, the deployment of the process application will be rolled back, all process engine deployments will be removed and all process engines defined by this application will be stopped.

    Basic Usage example:

     @ProcessApplication("My Process Application")
     public class MyProcessApplication extends ServletProcessApplication {
      
      @PostDeploy
      public void startProcess(ProcessEngine processEngine) {
        processEngine.getRuntimeService()
          .startProcessInstanceByKey("invoiceProcess");
      }
      
     }
     

    A method annotated with @PostDeploy may additionally take the following set of parameters, in any oder:

    Author:
    Daniel Meyer
    See Also:
    PreUndeploy