Thank you thorben, your answer was very helpful.
I extend existing SpringProcessEngineConfiguration to add property deployChangedOnly and override method autoDeployResources.
Here is example of final configuration:
<bean id="processEngineConfiguration" class="com.my.ProcessEngineConfiguration">
<property name="processEngineName" value="default" />
<property name="dataSource" ref="processEngineDS" />
<property name="transactionManager" ref="blTransactionManager" />
<property name="history" value="full" />
<property name="databaseSchemaUpdate" value="noop" />
<property name="deploymentResources" value="classpath*:process/*.bpmn" />
<property name="deployChangedOnly" value="true" />
<property name="authorizationEnabled" value="true" />
<property name="jobExecutorActivate" value="true" />
<property name="jobExecutorDeploymentAware" value="false" />
<property name="idGenerator">
<bean class="org.camunda.bpm.engine.impl.persistence.StrongUuidGenerator" />
</property>
</bean>
<bean id="processEngine" class="org.camunda.bpm.engine.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean>
<bean id="repositoryService" factory-bean="processEngine" factory-method="getRepositoryService" />
<bean id="runtimeService" factory-bean="processEngine" factory-method="getRuntimeService" />
<bean id="taskService" factory-bean="processEngine" factory-method="getTaskService" />
<bean id="historyService" factory-bean="processEngine" factory-method="getHistoryService" />
<bean id="managementService" factory-bean="processEngine" factory-method="getManagementService" />
My SpringProcessEngineConfiguration class:
public class ProcessEngineConfiguration extends SpringProcessEngineConfiguration {
protected boolean deployChangedOnly;
protected void autoDeployResources(ProcessEngine processEngine) {
if (deploymentResources!=null && deploymentResources.length>0) {
RepositoryService repositoryService = processEngine.getRepositoryService();
DeploymentBuilder deploymentBuilder = repositoryService
.createDeployment()
.enableDuplicateFiltering(deployChangedOnly)
.name(deploymentName)
.tenantId(deploymentTenantId);
...
see method SpringProcessEngineConfiguration.autoDeployResources
...
}
public boolean isDeployChangedOnly() {
return deployChangedOnly;
}
public void setDeployChangedOnly(boolean deployChangedOnly) {
this.deployChangedOnly = deployChangedOnly;
}
}