com.alibaba.easyretry.extension.spring.aop.RetryInterceptor Maven / Gradle / Ivy
package com.alibaba.easyretry.extension.spring.aop;
import com.alibaba.easyretry.common.RetryConfiguration;
import com.alibaba.easyretry.common.RetryIdentify;
import com.alibaba.easyretry.core.PersistenceRetryer;
import com.alibaba.easyretry.core.PersistenceRetryerBuilder;
import lombok.Setter;
import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.context.ApplicationContext;
@Aspect
public class RetryInterceptor {
@Setter
private RetryConfiguration retryConfiguration;
@Setter
private ApplicationContext applicationContext;
@Around("@annotation(retryable)")
public Object around(ProceedingJoinPoint invocation, EasyRetryable retryable) throws Throwable {
if (RetryIdentify.isOnRetry()) {
return invocation.proceed();
}
MethodSignature signature = (MethodSignature) invocation.getSignature();
PersistenceRetryerBuilder © 2015 - 2025 Weber Informatics LLC | Privacy Policy