diff --git a/hawkbit-ddi/hawkbit-ddi-server/src/main/resources/application.properties b/hawkbit-ddi/hawkbit-ddi-server/src/main/resources/application.properties index 0aa89d47a..d4b73703d 100644 --- a/hawkbit-ddi/hawkbit-ddi-server/src/main/resources/application.properties +++ b/hawkbit-ddi/hawkbit-ddi-server/src/main/resources/application.properties @@ -63,6 +63,7 @@ spring.flyway.enabled=false ## No Schedulers - START hawkbit.autoassign.scheduler.enabled=false hawkbit.rollout.scheduler.enabled=false +hawkbit.lock=inMemory ## No Schedulers - END # Disable discovery client of spring-cloud-commons diff --git a/hawkbit-dmf/hawkbit-dmf-server/src/main/resources/application.properties b/hawkbit-dmf/hawkbit-dmf-server/src/main/resources/application.properties index 92c2fe77d..ea2f8b5ec 100644 --- a/hawkbit-dmf/hawkbit-dmf-server/src/main/resources/application.properties +++ b/hawkbit-dmf/hawkbit-dmf-server/src/main/resources/application.properties @@ -42,6 +42,7 @@ spring.flyway.enabled=false ## No Schedulers - START hawkbit.autoassign.scheduler.enabled=false hawkbit.rollout.scheduler.enabled=false +hawkbit.lock=inMemory ## No Schedulers - END # Disable discovery client of spring-cloud-commons diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/RepositoryApplicationConfiguration.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/RepositoryApplicationConfiguration.java index 7ee7b9cdc..cc5c386d8 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/RepositoryApplicationConfiguration.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/RepositoryApplicationConfiguration.java @@ -194,6 +194,7 @@ import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.integration.jdbc.lock.DefaultLockRepository; import org.springframework.integration.jdbc.lock.JdbcLockRegistry; import org.springframework.integration.jdbc.lock.LockRepository; +import org.springframework.integration.support.locks.DefaultLockRegistry; import org.springframework.integration.support.locks.LockRegistry; import org.springframework.lang.NonNull; import org.springframework.retry.annotation.EnableRetry; @@ -274,9 +275,9 @@ public class RepositoryApplicationConfiguration { } @Bean + @ConditionalOnProperty(name = "hawkbit.lock", havingValue = "distributed", matchIfMissing = true) @ConditionalOnMissingBean - LockRepository lockRepository( - final DataSource dataSource, final LockProperties lockProperties, final PlatformTransactionManager txManager) { + LockRepository lockRepository(final DataSource dataSource, final LockProperties lockProperties, final PlatformTransactionManager txManager) { final DefaultLockRepository repository = new DistributedLockRepository(dataSource, lockProperties, txManager); repository.setPrefix("SP_"); return repository; @@ -284,14 +285,15 @@ public class RepositoryApplicationConfiguration { @Bean @ConditionalOnMissingBean - public LockRegistry lockRegistry(final LockRepository lockRepository) { - return new JdbcLockRegistry(lockRepository); + public LockRegistry lockRegistry(final Optional lockRepository) { + return lockRepository.map(JdbcLockRegistry::new).orElseGet(DefaultLockRegistry::new); } @Bean @ConditionalOnMissingBean - PauseRolloutGroupAction pauseRolloutGroupAction(final RolloutManagement rolloutManagement, - final RolloutGroupRepository rolloutGroupRepository, final SystemSecurityContext systemSecurityContext) { + PauseRolloutGroupAction pauseRolloutGroupAction( + final RolloutManagement rolloutManagement, final RolloutGroupRepository rolloutGroupRepository, + final SystemSecurityContext systemSecurityContext) { return new PauseRolloutGroupAction(rolloutManagement, rolloutGroupRepository, systemSecurityContext); } @@ -300,8 +302,7 @@ public class RepositoryApplicationConfiguration { StartNextGroupRolloutGroupSuccessAction startNextRolloutGroupAction( final RolloutGroupRepository rolloutGroupRepository, final DeploymentManagement deploymentManagement, final SystemSecurityContext systemSecurityContext) { - return new StartNextGroupRolloutGroupSuccessAction(rolloutGroupRepository, deploymentManagement, - systemSecurityContext); + return new StartNextGroupRolloutGroupSuccessAction(rolloutGroupRepository, deploymentManagement, systemSecurityContext); } @Bean