得到此错误:Server :: Write Abort:java.io.WriteAbortedException:write aborted; java.io.NotSerializableException:QueryClass

时间:2012-04-07 03:00:52

标签: java

我有一台使用MultiThread与客户端通信的JAVA服务器。除了将客户端对象发送到服务器线程之外,服务器的所有内容都可以工作。我已经将问题缩小到以下几行代码。

错误是代码中此行的结果: queryClass =((QueryClass)inStream.readObject()); //在这里阅读数据 和QueryClass是一个序列化的类。

。得到上面的错误。 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");

}

1 个答案:

答案 0 :(得分:1)

QueryClass必须实施java.io.Serializable。确保其非原始的非String成员也可以。通常,您无需执行任何工作来实现该接口。好的文章是here