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