Custom JAR Deployment

Custom JARs contain custom classes of types Service Task, Listeners, and/or Validators.

This can be used by the Activiti engine at run-time as a part of custom JAR deployment feature for workflows.

Current Implementation

Custom JARs are loaded in memory using the following approaches:

  • When Workflow Adapter is restarted.
  • When you post a request to deploy JAR dynamically for a tenant the module is validated with the points mentioned under Assumptions and deployed if it is found to be valid. For more information, see Deploy JAR Dynamically for Tenant.

Assumptions

The following assumptions are made while deploying a JAR:

  • Name is not the same as a previously deployed JAR.
  • Module is not the same as a previously deployed JAR.

Behavior

Please note the following behavior:

  • If a JAR is deployed containing class(es) having fully qualified class name as an existing class loaded in memory, the changes will be reflected after a time interval (usually, about five minutes), and the latest class is used.
  • If a JAR is deployed and then it is updated in S3, the changes in behavior of the classes will be reflected after a time interval (usually, about five minutes).
  • If a JAR is deployed and it is updated in S3 with new classes added to it, the new classes will be in effect after a time interval (usually, about five minutes).