【问题标题】:Java RMI Unmarshall ExceptionJava RMI 解组异常
【发布时间】:2016-02-17 17:36:55
【问题描述】:

我正在调用这个远程方法:

RespuestaError<Co>  cox(String a, String b, String c, int d) throws RemoteException;

我收到了这个错误

java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: jtwitter.base.RespuestaError

这是说 RespuestaError 不可序列化,但它是:

public class RespuestaError<T extends Serializable> implements Serializable {

    private static final long serialVersionUID = 8483079015565009698L;

    private T returned;
    private Error error;

    public RespuestaError(T returned, Error error)
    {
      //...
    }

     //...
}

Error 是一个枚举。 在这种特殊情况下,T 是:

public class Co implements Serializable {

    private static final long serialVersionUID = 2759254657635643074L;

    private String  a;
    private int     b;
    private Us  c;

    public Co(String a, int b, Us c)
    {
        //...
    }

    //...
}

Us 类是:

public class Us implements Serializable {

    private static final long serialVersionUID = -6725570673833522155L;

    private int a;
    private String b; 
    private String c;
    private String d;
    private String e;
    private int    f;

    public Us(int a, String b, String c, String d, String e, int f)
    {
        //...
    }

    //...
}

Everithing extends Serializable 我没有看到错误。

【问题讨论】:

  • 我相信以太 private T returnedprivate Error error 也应该是 implements Serializable
  • 我碰巧刚刚完成了一个 RMI 程序,我刚刚尝试了与您所做的非常相似的操作,我没有看到任何错误。也许您确保所有文件都重新编译,并确保您导入 java.io.Serializable ?
  • @Gordon Liang 恐怕你是对的。不需要公共的无参数构造函数。我误解了文档是我的错误。谢谢。
  • @Little Sanit 欢迎您。我一开始也怀疑过。但事实证明并非如此。有一个更明确的规范:docs.oracle.com/javase/7/docs/platform/serialization/spec/…
  • 你没有运行你认为你正在运行的代码。清理、构建、部署、重新测试。

标签: java serialization rmi


【解决方案1】:

代码中没有错误。问题是我没有运行我认为正在运行的代码。清理和重新编译所有文件可以解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 2012-10-13
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    相关资源
    最近更新 更多