4
Enumを使って、EJBからのコードとメッセージの両方を返すことを考えています。現在、整数値のコードのみが返されます。 私たちは複数のクライアントアプリケーションを持っており、クライアントはEJB共通クラスが存在していても常に更新されるとは限りません。クライアント側の列挙型が同期しないとどうなりますか?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
大変ありがとうございます。パーフェクトな答え(確認するためのリンク付き)は、私がしたいことがうまくいくことを意味します:) – timothyja
enumのシリアル化はJRMPではうまくいくかもしれませんが、RMI-IIOPは違います。 SunとIBMのRMI-IIOP enumシリアル化の実装にはバグがあります.RMI-IIOPを使用している場合は、慎重にテストすることをお勧めします。 –