【问题标题】:Marshalling argument exception编组参数异常
【发布时间】:2013-03-19 23:00:41
【问题描述】:

服务器启动正常,但出现错误 当我尝试从客户端添加任何工作时。我得到了 以下错误

java.rmi.MarshalException: error marshalling arguments; nested exception
is: 

    java.io.NotSerializableException: snaq.db.CacheConnection
    at Production_Stub.addGRN(Production_Stub.java:1515)
    at ProductionServices.addGRN(ProductionServices.java:21)
    at PlanningServices.addGRN(PlanningServices.java:22)
    at Planning.addtoGrn(Planning.java:9949)
    at Planning.saveAllBundleRelatedTables(Planning.java:9582)
    at Planning.savebundlesheet(Planning.java:9251)
    at Planning_Skel.dispatch(Planning_Skel.java:6555)
    at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:342)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:207)
    at sun.rmi.transport.Transport$1.run(Transport.java:148)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
    at java.lang.Thread.run(Thread.java:534)
    Caused by: java.io.NotSerializableException: snaq.db.CacheConnection
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1059)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
    at Production_Stub.addGRN(Production_Stub.java:1513)
    ... 14 more

请给我解决方案..

【问题讨论】:

    标签: java core


    【解决方案1】:

    这里发生的情况是,您尝试通过 RMI 发送的对象之一是 snaq.db.CacheConnection 类的一个实例,或者(更有可能)包含对某个地方的引用。

    这行不通。 CacheConnection 类不可序列化,很有可能无法序列化。

    解决此问题的一种可能方法是在您尝试发送的类中将类型为 CacheConnection 的字段(或多个字段)标记为 transient

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-17
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 2015-09-15
      • 2021-05-08
      • 1970-01-01
      相关资源
      最近更新 更多