开发者

Marshalling argument exception

开发者 https://www.devze.com 2023-01-19 23:15 出处:网络
The server starts fine, but the error occurs when I try to add any job from the Client.I get the following error

The server starts fine, but the error occurs when I try to add any job from the Client.I get the following error

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.sav开发者_如何学JAVAeAllBundleRelatedTables(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

Pls give me the solution..


What is going on here is that one of the object that you are trying to send over RMI is an instance of the class snaq.db.CacheConnection, or (more likely) contains a reference to one somewhere.

This ain't going to work. The CacheConnection class is not serializable, and there's a good chance that cannot be made serializable.

A possible cure for this is to mark the field (or fields) of type CacheConnection in the classes you are trying to send as transient.

0

精彩评论

暂无评论...
验证码 换一张
取 消