State:未完成,具体应用后补充
@Argument
@Target({})
@Retention(RetentionPolicy.RUNTIME)
public @interface Argument {
String name(); //参数的名
String value() default ""; //参数的值
String type() default "java.lang.String"; //参数的类型
}
@EnableRabbit
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import({RabbitBootstrapConfiguration.class})
public @interface EnableRabbit {
}
@Target({})
@Retention(RetentionPolicy.RUNTIME)
public @interface Exchange {
String value();//Exchange的Name
String type() default "direct";//Exchange的Type:Direct,Topic,Fanout,Heders。type决定消息转发能力
String durable() default "false";//True/False。值为true的exchange在rabbit重启后自动创建
String autoDelete() default "false";//True/False。值为true,当所有的binding都取消
//或binding的队列全部被删除时,该exchange会被删除
String internal() default "false";//True/False。值为true,该exchange不可以被client直接使用
String ignoreDeclarationExceptions() default "false";
String delayed() default "false";
Argument[] arguments() default {};
}
@Target({})
@Retention(RetentionPolicy.RUNTIME)
public @interface Queue {
String value() default ""; //Name
String durable() default "";//值为 True/False。值为 true 的队列列在 rabbitMQ 重启后会被自自动创建.
String exclusive() default "";//值为 True/False。设置为 true 的话,该 queue 只允许
//被创建的connection使用,并且在该 connection 关闭后它会被自自动删除.
String autoDelete() default "";//值为 True/False。设置为 true 的话,
//除创建时的无无consumer情况外,其他无无consumer情况时会被自自动删除.
String ignoreDeclarationExceptions() default "false";
Argument[] arguments() default {};
}
@QueueBinding
@Target({})
@Retention(RetentionPolicy.RUNTIME)
public @interface QueueBinding {
Queue value();//
Exchange exchange();//
String key() default "";//
String ignoreDeclarationExceptions() default "false";
Argument[] arguments() default {};
}
@RabbitHandler
@RabbitListener
@RabbitListeners