Interface DeploymentBuilder
- All Known Subinterfaces:
ProcessApplicationDeploymentBuilder
- All Known Implementing Classes:
DeploymentBuilderImpl
,ProcessApplicationDeploymentBuilderImpl
Builder for creating new deployments.
A builder instance can be obtained through RepositoryService.createDeployment()
.
Multiple resources can be added to one deployment before calling the deploy()
operation.
After deploying, no more changes can be made to the returned deployment and the builder instance can be disposed.
In order the resources to be processed as definitions, their names must have one of allowed suffixes (file extensions in case of file reference).
Resource name suffix | Will be treated as |
---|---|
.bpmn20.xml, .bpmn | BPMN process definition |
.cmmn11.xml, .cmmn10.xml, .cmmn | CMMN case definition |
.dmn11.xml, .dmn | DMN decision table |
Additionally resources with resource name suffixes .png, .jpg, .gif and .svg can be treated as diagram images. The deployment resource is considered to represent the specific model diagram by file name, e.g. bpmnDiagram1.png will be considered to be a diagram image for bpmnDiagram1.bpmn20.xml.
- Author:
- Tom Baeyens, Joram Barrez
-
Method Summary
Modifier and TypeMethodDescriptionSets the date on which the process definitions contained in this deployment will be activated.addClasspathResource
(String resource) addDeploymentResourceById
(String deploymentId, String resourceId) A given resource specified by id and deployment id will be added to the new deployment to re-deploy the given resource.addDeploymentResourceByName
(String deploymentId, String resourceName) A given resource specified by name and deployment id will be added to the new deployment to re-deploy the given resource.addDeploymentResources
(String deploymentId) All existing resources contained by the given deployment will be added to the new deployment to re-deploy them.addDeploymentResourcesById
(String deploymentId, List<String> resourceIds) All given resources specified by id and deployment id will be added to the new deployment to re-deploy the given resource.addDeploymentResourcesByName
(String deploymentId, List<String> resourceNames) All given resources specified by name and deployment id will be added to the new deployment to re-deploy the given resource.addInputStream
(String resourceName, InputStream inputStream) addModelInstance
(String resourceName, BpmnModelInstance modelInstance) Adds a BPMN model to the deployment.addModelInstance
(String resourceName, CmmnModelInstance modelInstance) Adds a CMMN model to the deployment.addModelInstance
(String resourceName, DmnModelInstance modelInstance) Adds a DMN model to the deployment.addZipInputStream
(ZipInputStream zipInputStream) deploy()
Deploys all provided sources to the process engine and returns the created deployment.Deploys all provided sources to the process engine and returns the created deployment with the deployed definitions.Deprecated.enableDuplicateFiltering
(boolean deployChangedOnly) Check the resources for duplicates in the set of previous deployments with same deployment source.Gives the deployment the given name.nameFromDeployment
(String deploymentId) Sets the deployment id to retrieve the deployment name from it.Sets the source of a deployment.Sets the tenant id of a deployment.
-
Method Details
-
addInputStream
-
addClasspathResource
-
addString
-
addModelInstance
Adds a BPMN model to the deployment.- Parameters:
resourceName
- resource name. See suffix requirements for resource names: .modelInstance
- model instance- Returns:
-
addModelInstance
Adds a DMN model to the deployment.- Parameters:
resourceName
- resource name. See suffix requirements for resource names: .modelInstance
- model instance- Returns:
-
addModelInstance
Adds a CMMN model to the deployment.- Parameters:
resourceName
- resource name. See suffix requirements for resource names: .modelInstance
- model instance- Returns:
-
addZipInputStream
-
addDeploymentResources
All existing resources contained by the given deployment will be added to the new deployment to re-deploy them.- Throws:
NotValidException
- if deployment id is null.
-
addDeploymentResourceById
A given resource specified by id and deployment id will be added to the new deployment to re-deploy the given resource.- Throws:
NotValidException
- if either deployment id or resource id is null.
-
addDeploymentResourcesById
All given resources specified by id and deployment id will be added to the new deployment to re-deploy the given resource.- Throws:
NotValidException
- if either deployment id or the list of resource ids is null.
-
addDeploymentResourceByName
A given resource specified by name and deployment id will be added to the new deployment to re-deploy the given resource.- Throws:
NotValidException
- if either deployment id or resource name is null.
-
addDeploymentResourcesByName
All given resources specified by name and deployment id will be added to the new deployment to re-deploy the given resource.- Throws:
NotValidException
- if either deployment id or the list of resource names is null.
-
name
Gives the deployment the given name.- Throws:
NotValidException
- ifnameFromDeployment(String)
has been called before.
-
nameFromDeployment
Sets the deployment id to retrieve the deployment name from it.- Throws:
NotValidException
- ifname(String)
has been called before.
-
enableDuplicateFiltering
Deprecated.If set, this deployment will be compared to any previous deployment. This means that every (non-generated) resource will be compared with the provided resources of this deployment. If any resource of this deployment is different to the existing resources, all resources are re-deployed.
Deprecated: use
enableDuplicateFiltering(boolean)
-
enableDuplicateFiltering
Check the resources for duplicates in the set of previous deployments with same deployment source. If no resources have changed in this deployment, its contained resources are not deployed at all. For further configuration, use the parameterdeployChangedOnly
.- Parameters:
deployChangedOnly
- determines whether only those resources should be deployed that have changed from the previous versions of the deployment. If false, all of the resources are re-deployed if any resource differs.
-
activateProcessDefinitionsOn
Sets the date on which the process definitions contained in this deployment will be activated. This means that all process definitions will be deployed as usual, but they will be suspended from the start until the given activation date. -
source
Sets the source of a deployment.
Furthermore if duplicate check of deployment resources is enabled (by calling
enableDuplicateFiltering(boolean)
) then only previous deployments with the same given source are considered to perform the duplicate check. -
deploy
Deployment deploy()Deploys all provided sources to the process engine and returns the created deployment.
The returned
Deployment
instance has no information about the definitions, which are deployed with that deployment. To access this information you can use thedeployWithResult()
method. This method will return an instance ofDeploymentWithDefinitions
, which contains the information about the successful deployed definitions.- Returns:
- the created deployment
- Throws:
NotFoundException
- thrown- if the deployment specified by
nameFromDeployment(String)
does not exist or - if at least one of given deployments provided by
addDeploymentResources(String)
does not exist.
- if the deployment specified by
NotValidException
- if there are duplicate resource names from different deployments to re-deploy.ParseException
- In case of a BPMN Parsing exception due to null historyTimeToLive. To disable this behaviour, configure the feature flagenforceHistoryTimeToLive
tofalse
.AuthorizationException
- thrown if the current user does not possess the following permissions:Permissions.CREATE
onResources.DEPLOYMENT
Permissions.READ
onResources.DEPLOYMENT
(if resources from previous deployments are redeployed)
-
deployWithResult
DeploymentWithDefinitions deployWithResult()Deploys all provided sources to the process engine and returns the created deployment with the deployed definitions.- Returns:
- the created deployment, contains the deployed definitions
- Throws:
NotFoundException
- thrown- if the deployment specified by
nameFromDeployment(String)
does not exist or - if at least one of given deployments provided by
addDeploymentResources(String)
does not exist.
- if the deployment specified by
NotValidException
- if there are duplicate resource names from different deployments to re-deploy.ParseException
- In case of a BPMN Parsing exception due to null historyTimeToLive. To disable this behaviour, configure the feature flagenforceHistoryTimeToLive
tofalse
.AuthorizationException
- thrown if the current user does not possess the following permissions:Permissions.CREATE
onResources.DEPLOYMENT
Permissions.READ
onResources.DEPLOYMENT
(if resources from previous deployments are redeployed)
-
getResourceNames
Collection<String> getResourceNames()- Returns:
- the names of the resources which were added to this builder.
-
tenantId
Sets the tenant id of a deployment.
-