We have Activiti configured using Spring in our project.
The bpmn resources have been defined as below:
private Resource[] processDefinitions() {
return new Resource[]{new ClassPathResource("testWorkflows/TestRegistrationProcess.bpmn20.xml")};
}
This is started in our services as below:
runtimeService.startProcessInstanceByKey(processDefinitionMap.get(t.getClass()));
which works out to
runtimeService.startProcessInstanceByKey("testWorkflows/TestRegistrationProcess.bpmn20.xml");
The processEngineConfiguration is below:
@Bean(name = "processEngineConfiguration")
public SpringProcessEngineConfiguration processEngineConfiguration() {
final SpringProcessEngineConfiguration config = new SpringProcessEngineConfiguration();
config.setDataSource(dataSource);
config.setDatabaseSchemaUpdate("NO_CHECK");
return config;
}
The repositoryService is as below:
@Bean(name = "repositoryService")
public RepositoryService repositoryService() {
final RepositoryService repositoryService = processEngine.getRepositoryService();
repositoryService.createDeployment().enableDuplicateFiltering();
return repositoryService;
}
The above works fine when starting the process.
The issue is when we deploy to our tomcat server. Even with the above configuration (and with no changes to the bpm xml) the process gets deployed multiple times with no changes to the version.
For example if we run on two different servers against oracle they both insert into the deployment tables although there has been no change in the xml.
Could someone please help let me know if we have missed anything?