Petals-SE-Flowable 1.1.0+

compared with
Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (4)

View Page History
h1. Using the mode "service"

h2. About deployment/undeployment

h3. Deployment

A service unit embeds process definition(s). So when deploying a service unit, its process definition(s) are automatically deployed, and the associated consumer services are registered.

A process definition can be undeployed only when no more process instance is in progress and when nor more historic process instance exists. That's why process definition are not undeployed when undeploying a service unit. You can undeploy a process instance using the administrative JMX operation '{{undeployProcessDefinition}}'.

Next, if you redeploy the service unit, the embedded process definition(s) will not be redeployed because the process definition is already deployed for the given version. In this way, we can push some changes outside process definition as service consumer parameters (timeout, ...). If some changes are needed into process definition(s), it is needed to increment the association version.
With a Petals ESB topology based on at least two nodes, you can deploy the Petals SE Flowable on several nodes to have high availability on your service providers associated to your process definitions. As service tasks are executed by any SE Flowable through the Flowable job async executor, you must deployed all your service units on all your Petals SE Flowable having the Flowable job async executor enabled.

h3. Undeployment

A version of a process definition can be undeployed only if no more associated process instance exists, in progress or ended. If process instances exist, they must be purged before process definition undeployment.

Several administrative JMX operations can help you:
|| Administrative JMX operation || Description ||
| {{listPurgeableProcessInstances}} | List all purgeable process instances of the given process definition. A purgeable process instance is a process instance that is terminated. The list of identifiers of purgeable process instances is returned. |
| {{purgeProcessInstance}} | Purge a process instance deleting all its data. This operation returns all flow instance identifiers associated to the process instance that can be used to purge MONIT traces in a next step. |
| {{undeployProcessDefinition}} | Undeploy a process definition. |

h2. Creating a service-unit for a process definition