-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMigrateService.java
More file actions
28 lines (23 loc) · 1.08 KB
/
MigrateService.java
File metadata and controls
28 lines (23 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.example.demo.migrate;
import org.camunda.bpm.engine.RuntimeService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import lombok.extern.slf4j.Slf4j;
@Service
@Slf4j
@Transactional
public class MigrateService {
private final RuntimeService runtimeService;
public MigrateService(final RuntimeService runtimeService) {
this.runtimeService = runtimeService;
}
public void migrate(final String sourceDefinitionId, final String targetDefinitionId) {
log.info("migration is to be done from {} to {}", sourceDefinitionId, targetDefinitionId);
final var migrationPlan = runtimeService.createMigrationPlan(sourceDefinitionId, targetDefinitionId).mapEqualActivities().build();
final var processQuery = runtimeService.createProcessInstanceQuery().processDefinitionId(sourceDefinitionId);
runtimeService.newMigration(migrationPlan)
.processInstanceQuery(processQuery)
.executeAsync();
log.info("moving process done from {} to {}", sourceDefinitionId, targetDefinitionId);
}
}