Class DeploymentOperation
- java.lang.Object
-
- org.camunda.bpm.container.impl.spi.DeploymentOperation
-
public class DeploymentOperation extends java.lang.Object
A DeploymentOperation allows bundling multiple deployment steps into a composite operation that succeeds or fails atomically.
The DeploymentOperation is composed of a list of individual steps (
DeploymentOperationStep
). Each step may or may not install new services into the container. If one of the steps fails, the operation makes sure that- all successfully completed steps are notified by calling their
DeploymentOperationStep.cancelOperationStep(DeploymentOperation)
method. - all services installed in the context of the operation are removed from the container.
- Author:
- Daniel Meyer
- all successfully completed steps are notified by calling their
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DeploymentOperation.DeploymentOperationBuilder
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,java.lang.Object>
attachments
a list of attachments allows to pass state from one operation to anotherprotected DeploymentOperationStep
currentStep
protected java.util.List<java.lang.String>
installedServices
the list of services installed by this operation.protected boolean
isRollbackOnFailure
protected java.lang.String
name
the name of this composite operationprotected PlatformServiceContainer
serviceContainer
the service containerprotected java.util.List<DeploymentOperationStep>
steps
the list of steps that make up this composite operationprotected java.util.List<DeploymentOperationStep>
successfulSteps
a list of steps that completed successfully
-
Constructor Summary
Constructors Constructor Description DeploymentOperation(java.lang.String name, PlatformServiceContainer container, java.util.List<DeploymentOperationStep> steps)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAttachment(java.lang.String name, java.lang.Object value)
void
addStep(DeploymentOperationStep step)
Add a new atomic step to the composite operation.void
execute()
<S> S
getAttachment(java.lang.String name)
java.util.List<java.lang.String>
getInstalledServices()
PlatformServiceContainer
getServiceContainer()
protected void
rollbackOperation()
void
serviceAdded(java.lang.String serviceName)
-
-
-
Field Detail
-
name
protected final java.lang.String name
the name of this composite operation
-
serviceContainer
protected final PlatformServiceContainer serviceContainer
the service container
-
steps
protected final java.util.List<DeploymentOperationStep> steps
the list of steps that make up this composite operation
-
successfulSteps
protected final java.util.List<DeploymentOperationStep> successfulSteps
a list of steps that completed successfully
-
installedServices
protected java.util.List<java.lang.String> installedServices
the list of services installed by this operation. TherollbackOperation()
must make sure all these services are removed if the operation fails.
-
attachments
protected java.util.Map<java.lang.String,java.lang.Object> attachments
a list of attachments allows to pass state from one operation to another
-
isRollbackOnFailure
protected boolean isRollbackOnFailure
-
currentStep
protected DeploymentOperationStep currentStep
-
-
Constructor Detail
-
DeploymentOperation
public DeploymentOperation(java.lang.String name, PlatformServiceContainer container, java.util.List<DeploymentOperationStep> steps)
-
-
Method Detail
-
getAttachment
public <S> S getAttachment(java.lang.String name)
-
addAttachment
public void addAttachment(java.lang.String name, java.lang.Object value)
-
addStep
public void addStep(DeploymentOperationStep step)
Add a new atomic step to the composite operation. If the operation is currently executing a step, the step is added after the current step.
-
serviceAdded
public void serviceAdded(java.lang.String serviceName)
-
getServiceContainer
public PlatformServiceContainer getServiceContainer()
-
execute
public void execute()
-
rollbackOperation
protected void rollbackOperation()
-
getInstalledServices
public java.util.List<java.lang.String> getInstalledServices()
-
-