У меня есть массив, который я создал из базы данных ResultSet.Я пытаюсь сериализировать его, чтобы я мог отправить его через поток сокетов.В настоящий момент я получаю сообщение об ошибке, сообщающее, что массив не сериализуем.Ниже приведен код, первая часть - это класс для создания объекта для массива:
class ProteinData
{
private int ProteinKey;
public ProteinData(Integer ProteinKey)
{
this.ProteinKey = ProteinKey;
}
public Integer getProteinKey() {
return this.ProteinKey;
}
public void setProteinKey(Integer ProteinKey) {
this.ProteinKey = ProteinKey;
}
}
Код для заполнения массива:
public List<ProteinData> readJavaObject(String query, Connection con) throws Exception
{
PreparedStatement stmt = con.prepareStatement(query);
query_results = stmt.executeQuery();
while (query_results.next())
{
ProteinData pro = new ProteinData();
pro.setProteinKey(query_results.getInt("ProteinKey"));
tableData.add(pro);
}
query_results.close();
stmt.close();
return tableData;
}
И кодЧтобы вызвать это:
List dataList = (List) this.readJavaObject(query, con);
ObjectOutputStream output_stream = new ObjectOutputStream(socket.getOutputStream());
output_stream.writeObject(dataList);
И код, получающий это:
List dataList = (List) input_stream.readObject();
Может кто-нибудь помочь мне организовать этот массив.Все, что я могу найти на форумах - это простые массивы (EG. Int []).
Я попытался добавить сериализуемый класс и номер UID, но получил сообщение об ошибке java.lang.ClassNotFoundException: socketserver.ProteinData
.Кто-нибудь сейчас почему?
Спасибо за любую помощь.