diff --git a/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/application/MSORequestDBApplication.java b/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/application/MSORequestDBApplication.java
index 3a14b2f..0272bab 100644
--- a/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/application/MSORequestDBApplication.java
+++ b/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/application/MSORequestDBApplication.java
@@ -22,7 +22,6 @@
 
 package org.onap.so.adapters.requestsdb.application;
 
-import java.time.Duration;
 import javax.sql.DataSource;
 import org.onap.logging.filter.base.Constants;
 import org.onap.logging.filter.base.ONAPComponents;
@@ -34,8 +33,7 @@
 import org.springframework.scheduling.annotation.EnableScheduling;
 import net.javacrumbs.shedlock.core.LockProvider;
 import net.javacrumbs.shedlock.provider.jdbctemplate.JdbcTemplateLockProvider;
-import net.javacrumbs.shedlock.spring.ScheduledLockConfiguration;
-import net.javacrumbs.shedlock.spring.ScheduledLockConfigurationBuilder;
+import net.javacrumbs.shedlock.spring.annotation.EnableSchedulerLock;
 
 /**
  * @since Version 1.0
@@ -43,6 +41,7 @@
  */
 @SpringBootApplication(scanBasePackages = {"org.onap.so", "org.onap.logging.filter"})
 @EnableScheduling
+@EnableSchedulerLock(defaultLockAtMostFor = "120s")
 @EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)
 public class MSORequestDBApplication {
 
@@ -66,10 +65,5 @@
         return new JdbcTemplateLockProvider(dataSource);
     }
 
-    @Bean
-    public ScheduledLockConfiguration taskScheduler(LockProvider lockProvider) {
-        return ScheduledLockConfigurationBuilder.withLockProvider(lockProvider).withPoolSize(10)
-                .withDefaultLockAtMostFor(Duration.ofMinutes(10)).build();
-    }
 
 }
diff --git a/pom.xml b/pom.xml
index 76e5acd..c1b778f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -843,12 +843,12 @@
       <dependency>
         <groupId>net.javacrumbs.shedlock</groupId>
         <artifactId>shedlock-spring</artifactId>
-        <version>0.18.2</version>
+        <version>4.0.0</version>
       </dependency>
       <dependency>
         <groupId>net.javacrumbs.shedlock</groupId>
         <artifactId>shedlock-provider-jdbc-template</artifactId>
-        <version>0.18.2</version>
+        <version>4.0.0</version>
       </dependency>
       <dependency>
         <groupId>org.flywaydb</groupId>
