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:ProcessApplicationInfo
: theProcessApplicationInfo
object for this process application is injectedProcessEngine
the default process engine is injectedList<ProcessEngine>
all process engines to which this process application has performed deployments are injected.
- Author:
- Daniel Meyer
- See Also:
PreUndeploy
- If the process application defines one or more