This question already has answers here:
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException
(2个答案)
2年前关闭。
我有一个使用MultiThread与客户端通信的JAVA服务器。除了将客户端对象发送到服务器线程时,服务器的所有工作正常。我将问题缩小到以下几行代码。
该错误是代码中此行的结果:
queryClass =((QueryClass)inStream.readObject()); //在这里读取数据
QueryClass是一个序列化的类。
.Am得到上面的错误。 QueryClass是另一个类,我将其进行了序列化:这是我的代码。
(2个答案)
2年前关闭。
我有一个使用MultiThread与客户端通信的JAVA服务器。除了将客户端对象发送到服务器线程时,服务器的所有工作正常。我将问题缩小到以下几行代码。
该错误是代码中此行的结果:
queryClass =((QueryClass)inStream.readObject()); //在这里读取数据
QueryClass是一个序列化的类。
.Am得到上面的错误。 QueryClass是另一个类,我将其进行了序列化:这是我的代码。
public void run(){
try{
ObjectOutputStream outStream=new ObjectOutputStream(clientSocket.getOutputStream());
ObjectInputStream inStream=new ObjectInputStream(clientSocket.getInputStream());
while(true){
sleep(1);
queryClass= ((QueryClass)inStream.readObject()); //Read data here
serverNotification.UpdateNotification("Performing .. operation for TaxOfficer");
}
}catch(Throwable thrown){
System.err.println("Exception Caught : "+thrown+" deleting thread");
}
最佳答案
QueryClass
必须实现java.io.Serializable
。确保其非原始,非String
成员也是如此。通常,您无需执行任何工作即可实现该接口。好的写作是here。
09-08 06:17