簡體   English   中英

從EJB返回枚舉

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM