- 方式一
在常量个数少的时候,通常情况下使用这种方式。
public class MqConstants {
public static final String EXCHANGE_1 = "exchange1";
public static final String EXCHANGE_2 = "exchange2";
public static final String EXCHANGE_3 = "exchange3";
public static final String KEY_1 = "key1";
public static final String KEY_2 = "key1";
public static final String KEY_3 = "key1";
}
System.out.println(MqConstants.EXCHANGE_1);
- 方式二
在一的基础上,当常量个数变多的时,且为了分类,采用如下内部类方式。
public class MqConstants {
public static class Exchange{
public static final String EXCHANGE_1 = "exchange1";
public static final String EXCHANGE_2 = "exchange2";
public static final String EXCHANGE_3 = "exchange3";
}
public static class Key{
public static final String KEY_1 = "key1";
public static final String KEY_2 = "key1";
public static final String KEY_3 = "key1";
}
}
System.out.println(MqConstants.Exchange.EXCHANGE_1);
- 方式三
在二的基础上,为了简略写修饰符,即为了不写public static final和public static final,可以把class换成interface。
即采用如下方式
public interface MqConstants {
interface Exchange{
String EXCHANGE_1 = "exchange1";
String EXCHANGE_2 = "exchange2";
String EXCHANGE_3 = "exchange3";
}
interface Key{
String KEY_1 = "key1";
String KEY_2 = "key1";
String KEY_3 = "key1";
}
}
System.out.println(MqConstants.Exchange.EXCHANGE_1);
- 以RabbitMq涉及常量为示例
public interface MqConstants {
interface Exchange{
String COURSE_EXCHANGE = "course.topic";
String ORDER_EXCHANGE = "order.topic";
String LEARNING_EXCHANGE = "learning.topic";
String SMS_EXCHANGE = "sms.direct";
String ERROR_EXCHANGE = "error.topic";
String PAY_EXCHANGE = "pay.topic";
String TRADE_DELAY_EXCHANGE = "trade.delay.topic";
String LIKE_RECORD_EXCHANGE = "like.record.topic";
}
interface Queue {
String ERROR_QUEUE_TEMPLATE = "error.{}.queue";
}
interface Key{
String COURSE_NEW_KEY = "course.new";
String COURSE_UP_KEY = "course.up";
String COURSE_DOWN_KEY = "course.down";
String COURSE_EXPIRE_KEY = "course.expire";
String COURSE_DELETE_KEY = "course.delete";
String ORDER_PAY_KEY = "order.pay";
String ORDER_REFUND_KEY = "order.refund";
String WRITE_REPLY = "reply.new";
String SIGN_IN = "sign.in";
String LEARN_SECTION = "section.learned";
String WRITE_NOTE = "note.new";
String NOTE_GATHERED = "note.gathered";
String LIKED_TIMES_KEY_TEMPLATE = "{}.times.changed";
String QA_LIKED_TIMES_KEY = "QA.times.changed";
String NOTE_LIKED_TIMES_KEY = "NOTE.times.changed";
String SMS_MESSAGE = "sms.message";
String ERROR_KEY_PREFIX = "error.";
String DEFAULT_ERROR_KEY = "error.#";
String PAY_SUCCESS = "pay.success";
String REFUND_CHANGE = "refund.status.change";
String ORDER_DELAY_KEY = "delay.order.query";
}
}