Resource Deployments
This section documents how to perform process engine deployments with a Quarkus application containing an embedded process engine. The documentation assumes some familiarity with Quarkus CDI support and the Camunda DeploymentBuilder API.
The CIB seven engine Quarkus Extension only supports programmatic deployments. A user can observe for the
CamundaEngineStartupEvent CDI event. The CamundaEngineStartupEvent signals that a process engine has been
successfully bootstrapped, and a deployment can be performed.
The following example shows how a single process engine deployment can be performed in a Quarkus application:
@ApplicationScoped
public class MyConfig {
@Inject
RepositoryService repositoryService;
public void createDeployment(@Observes CamundaEngineStartupEvent event) {
repositoryService.createDeployment()
.addClasspathResource("resources/bpmn/simpleProcess.bpmn")
.deploy();
}
}
However, a Quarkus application doesn’t have to be limited to a single process engine deployment. You can observe for
the CamundaEngineStartupEvent in multiple methods, and perform multiple deployments with a finer-grained control
over the deployed resources.
@ApplicationScoped
public class MyConfig {
@Inject
RepositoryService repositoryService;
public void createDeployment1(@Observes CamundaEngineStartupEvent event) {
repositoryService.createDeployment()
.name("deployment-1")
.addClasspathResource("resources/bpmn/one/simpleProcess1.bpmn")
.deploy();
}
public void createDeployment2(@Observes CamundaEngineStartupEvent event) {
repositoryService.createDeployment()
.name("deployment-2")
.addClasspathResource("resources/bpmn/two/simpleProcess2.bpmn")
.deploy();
}
}