AsyncMqSend.java 899 Bytes
package com.topdraw.aspect;

import org.springframework.amqp.core.ExchangeTypes;

import java.lang.annotation.*;

/**
 * 在对应的方法上添加此注解,表示对应方法结束后
 * 进行异步发送消息到mq中
 *
 * @author XiangHan
 * @date 2021-10-30
 */
@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface AsyncMqSend {
    /** true:开启 false:关闭 */
    boolean open() default true;
    /** true:异步 false:同步 */
    boolean async() default true;
    /** 接口实现 */
    String serviceImpl() default "";
    /** 对应的方法 */
    String method() default "";
    /** 实体名 */
    String entityName() default "";
    /** 交换机 */
    String exchangeName() default "";
    /** 队列名 */
    String routeKeyName() default "";
    /**交换机类型 */
    String exchangeType() default ExchangeTypes.DIRECT;
}