diff --git a/pom.xml b/pom.xml
index 27341f1..57f7464 100644
--- a/pom.xml
+++ b/pom.xml
@@ -76,16 +76,6 @@
org.springframework.boot
spring-boot-starter-data-elasticsearch
-
- co.elastic.clients
- elasticsearch-java
- 8.11.0
-
-
-
- org.springframework.boot
- spring-boot-starter-data-elasticsearch
-
co.elastic.clients
elasticsearch-java
diff --git a/src/main/java/com/iemr/common/identity/IdentityApplication.java b/src/main/java/com/iemr/common/identity/IdentityApplication.java
index 2b6ac32..462c186 100644
--- a/src/main/java/com/iemr/common/identity/IdentityApplication.java
+++ b/src/main/java/com/iemr/common/identity/IdentityApplication.java
@@ -26,10 +26,12 @@
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
import com.iemr.common.identity.utils.IEMRApplBeans;
@SpringBootApplication
+@ComponentScan(basePackages = {"com.iemr.common.identity"})
public class IdentityApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
diff --git a/src/main/java/com/iemr/common/identity/config/ElasticsearchSyncConfig.java b/src/main/java/com/iemr/common/identity/config/ElasticsearchSyncConfig.java
index bb72f91..ce6f5da 100644
--- a/src/main/java/com/iemr/common/identity/config/ElasticsearchSyncConfig.java
+++ b/src/main/java/com/iemr/common/identity/config/ElasticsearchSyncConfig.java
@@ -25,11 +25,13 @@ public Executor elasticsearchSyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// Only 1-2 sync jobs should run at a time to avoid overwhelming DB/ES
- executor.setCorePoolSize(5);
- executor.setMaxPoolSize(10);
+ executor.setCorePoolSize(2);
+ executor.setMaxPoolSize(4);
executor.setQueueCapacity(100);
executor.setThreadNamePrefix("es-sync-");
executor.setKeepAliveSeconds(60);
+ executor.setWaitForTasksToCompleteOnShutdown(true);
+ executor.setAwaitTerminationSeconds(60);
// Handle rejected tasks
executor.setRejectedExecutionHandler((r, executor1) -> {
diff --git a/src/main/java/com/iemr/common/identity/controller/IdentityESController.java b/src/main/java/com/iemr/common/identity/controller/IdentityESController.java
index ca64beb..7a96f85 100644
--- a/src/main/java/com/iemr/common/identity/controller/IdentityESController.java
+++ b/src/main/java/com/iemr/common/identity/controller/IdentityESController.java
@@ -89,6 +89,8 @@ public ResponseEntity