通过注解及AOP实现xxl-job入参解析
一 注解类
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface Job {
/**
* @return job枚举
*/
JobEnum jobEnum();
/**
* @return 是否存在job参数
*/
boolean isJobParam() default true;
/**
* @return job参数在方法参数中的序号,默认为第一个参数(isJobParam == true时生效)
*/
int jobParamIndex() default 0;
}
二 AOP实现参数解析
/**
* Job 注解切面实现
* 添加job日志,以及封装xxljob参数
*/
@Aspect
@Component
public class JobAspect {
private static final Logger LOGGER = LoggerFactory.getLogger(JobAspect.class);
private static final String JOB_LOGGER_ANNOTATION = "com.test.support.job.Job";
private static final String XXL_JOB_PACKAGE = "com.test.job";
/**
* 定义JobLogger切面
*/
@Pointcut("@annotation(" + JOB_LOGGER_ANNOTATION + ")")
public void taskAspect() {
// do

1万+




被折叠的 条评论
为什么被折叠?



