State:未完成,具体应用后补充java
@Argument.net
@Target({}) @Retention(RetentionPolicy.RUNTIME) public @interface Argument { String name(); //参数的名 String value() default ""; //参数的值 String type() default "java.lang.String"; //参数的类型 }
@EnableRabbitcode
@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 {}; }
@Queueget
@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 {}; }
@QueueBindingit
@Target({}) @Retention(RetentionPolicy.RUNTIME) public @interface QueueBinding { Queue value();// Exchange exchange();// String key() default "";// String ignoreDeclarationExceptions() default "false"; Argument[] arguments() default {}; }
@RabbitHandlerio
@RabbitListenerclass
@RabbitListenerscli