From a0fd5f67a7eba744d963ba2b2ca26658b72c04b9 Mon Sep 17 00:00:00 2001 From: LSmyrnaios Date: Wed, 8 Mar 2023 13:57:29 +0200 Subject: [PATCH] Fix the "NoSuchBeanDefinitionException: No bean named 'transactionManager' available", when trying to run the scheduled task -during initialization- for assigning pending user roles. --- .../eu/dnetlib/repo/manager/Application.java | 26 ++++++++++--------- .../manager/components/ScheduledTasks.java | 20 ++++++++++++++ .../service/PendingUserRoleService.java | 2 -- 3 files changed, 34 insertions(+), 14 deletions(-) create mode 100644 src/main/java/eu/dnetlib/repo/manager/components/ScheduledTasks.java diff --git a/src/main/java/eu/dnetlib/repo/manager/Application.java b/src/main/java/eu/dnetlib/repo/manager/Application.java index 0eeb9c8..b934bfd 100644 --- a/src/main/java/eu/dnetlib/repo/manager/Application.java +++ b/src/main/java/eu/dnetlib/repo/manager/Application.java @@ -1,12 +1,14 @@ -package eu.dnetlib.repo.manager; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } -} +package eu.dnetlib.repo.manager; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.scheduling.annotation.EnableScheduling; + +@SpringBootApplication +@EnableScheduling +public class Application { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } +} diff --git a/src/main/java/eu/dnetlib/repo/manager/components/ScheduledTasks.java b/src/main/java/eu/dnetlib/repo/manager/components/ScheduledTasks.java new file mode 100644 index 0000000..c4688c1 --- /dev/null +++ b/src/main/java/eu/dnetlib/repo/manager/components/ScheduledTasks.java @@ -0,0 +1,20 @@ +package eu.dnetlib.repo.manager.components; + + +import eu.dnetlib.repo.manager.service.PendingUserRoleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +@Component +public class ScheduledTasks { + + @Autowired + PendingUserRoleService pendingUserRoleService; + + @Scheduled(fixedRate = 3_600_000) + public void assignPendingRoles() { + pendingUserRoleService.assignRoles(); + } + +} diff --git a/src/main/java/eu/dnetlib/repo/manager/service/PendingUserRoleService.java b/src/main/java/eu/dnetlib/repo/manager/service/PendingUserRoleService.java index 4b907c1..cf7a99a 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/PendingUserRoleService.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/PendingUserRoleService.java @@ -5,7 +5,6 @@ import eu.dnetlib.repo.manager.repository.PendingUserRoleRepository; import eu.dnetlib.repo.manager.service.aai.registry.AaiRegistryService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @Service @@ -21,7 +20,6 @@ public class PendingUserRoleService { this.aaiRegistryService = aaiRegistryService; } - @Scheduled(fixedRate = 3_600_000) public void assignRoles() { Iterable roles = pendingUserRoleRepository.findAll(); for (PendingUserRole role : roles) {