[英]Returning an Enum from an EJB
我正在尋找使用Enum來從EJB返回代碼和消息的方法。 當前僅返回整數Code。 因為我們有多個客戶端應用程序,所以當EJB通用類出現時,客戶端不會總是更新,反之亦然。 如果客戶端的枚舉類型不同步,會發生什么?
如果我在客戶端有一個舊的Enum定義,而在EJB方面有一個新的定義,反之亦然,是否可以工作?
例如,客戶端:
public enum Color {
WHITE(21, "White"), BLACK(22, "Black");
private int code;
private int message;
private Color(int c, String message) {
code = c;
message = m;
}
public int getCode() {
return code;
}
public String getMessage(){
return message;
}
EJB端:
public enum Color {
WHITE(21, "White"), BLACK(22, "Black"), RED(23, "Red");
private int code;
private int message;
private Color(int c, String message) {
code = c;
message = m;
}
public int getCode() {
return code;
}
public String getMessage(){
return message;
}
我的EJB方法是:
public Color getBestColor();
並返回:
Color.WHITE
如果客戶端枚舉定義具有您發送的值,它將正常工作(例如WHITE)。 如果客戶端沒有該值,則您將在客戶端獲得IllegalArgumentException(例如RED)。 (有關枚舉序列化的詳細信息,請參見此處 )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.