Small refactor + update README.md

This commit is contained in:
Andrei Isvoran 2024-07-10 17:50:14 +03:00
parent 4733e53789
commit 8b1e76b526
2 changed files with 6 additions and 10 deletions

View File

@ -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.
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.

View File

@ -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) || "