Compare commits

..

No commits in common. "main" and "remove-datasource" have entirely different histories.

2 changed files with 11 additions and 7 deletions

View File

@ -20,7 +20,6 @@ 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) || "
@ -35,6 +34,5 @@ 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.
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.
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.

View File

@ -6,13 +6,11 @@ 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;
@ -20,6 +18,14 @@ 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) || "
@ -30,7 +36,7 @@ public class LifecycleAspect {
public Object checkLifecycle(ProceedingJoinPoint joinPoint) throws Throwable {
String targetClassName = joinPoint.getTarget().getClass().getPackageName();
if (targetClassName == null || lifecycleProperties.getBasePackage() == null || !targetClassName.startsWith(lifecycleProperties.getBasePackage())) {
if (!targetClassName.startsWith(lifecycleProperties.getBasePackage())) {
return joinPoint.proceed();
}