diff --git a/README.md b/README.md index d93b8db..f56fe70 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ The code will scan all requests from methods that are inside the specified packa ``` @Around("@annotation(org.springframework.amqp.rabbit.annotation.RabbitListener) || " + + "@annotation(com.knecon.fforesight.lifecyclecommons.LifecycleMonitor) || " + "@annotation(org.springframework.web.bind.annotation.GetMapping) || " + "@annotation(org.springframework.web.bind.annotation.PostMapping) || " + "@annotation(org.springframework.web.bind.annotation.PutMapping) || " @@ -34,5 +35,6 @@ So any method that has one of the annotations present there, if it's being execu executing it will decrement the ongoing tasks. If at any point a shutdown is initiated and the amount of ongoing tasks is not 0, the termination process will wait until all ongoing tasks are completed. It will also not allow new tasks to be started, throwing back an exception. -If you want to monitor and keep track of other methods you can add annotations in the `@Around` part. You can even create a custom annotation and add it here, then whenever you -annotate a method with that annotations it will keep track of its tasks in event of a shutdown. \ No newline at end of file +If you want to monitor and keep track of other methods you can add annotations in the `@Around` part. + +The `LifecycleMonitor` annotation is provided with the library, all methods that are annotated with this annotations will be monitored during a shutdown to make sure it finishes execution. \ No newline at end of file diff --git a/src/main/java/com/knecon/fforesight/lifecyclecommons/LifecycleAspect.java b/src/main/java/com/knecon/fforesight/lifecyclecommons/LifecycleAspect.java index 6dd5582..96f4f2e 100644 --- a/src/main/java/com/knecon/fforesight/lifecyclecommons/LifecycleAspect.java +++ b/src/main/java/com/knecon/fforesight/lifecyclecommons/LifecycleAspect.java @@ -6,11 +6,13 @@ import org.aspectj.lang.annotation.Aspect; import org.springframework.amqp.AmqpRejectAndDontRequeueException; import org.springframework.stereotype.Component; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @Aspect @Component @Slf4j +@RequiredArgsConstructor public class LifecycleAspect { private final LifecycleManager lifecycleManager; @@ -18,14 +20,6 @@ public class LifecycleAspect { private final LifecycleProperties lifecycleProperties; - public LifecycleAspect(LifecycleManager lifecycleManager, LifecycleProperties lifecycleProperties) { - - this.lifecycleManager = lifecycleManager; - this.lifecycleProperties = lifecycleProperties; - log.info("Initializing LifecycleAspect with basePackage: {}", lifecycleProperties.getBasePackage()); - } - - @Around("@annotation(org.springframework.amqp.rabbit.annotation.RabbitListener) || " + "@annotation(com.knecon.fforesight.lifecyclecommons.LifecycleMonitor) || " + "@annotation(org.springframework.web.bind.annotation.GetMapping) || "