У меня был сервлет, который работал на моей локальной машине с Windows, используя локальный хост.Нам удалось заполучить одного из наших коллег в Америке, который сейчас размещает его на своем компьютере с Linux, поэтому сейчас мы можем протестировать программу в запутанной реальной среде.
Однако я, похоже, получаюошибка, которую я не могу отладить записать сейчас, так как мой руководитель ушел на день, и у меня нет доступа.Мы оставили это при понимании, что я сделаю некоторое исследование.
Как раз перед тем, как он ушел, я сузил его до этих строк кода
file = File.createTempFile("temp", Long.toString(System.nanoTime()));
out.print("Managed to make temp file in trst_servlet");
FileWriter writer = new FileWriter(file);
ObjectOutputStream oos = xstream.createObjectOutputStream(writer, "ProcessedInformation");
oos.writeObject(returnedSearchData);
oos.flush();
oos.close();
out.print("object Persisted"); //PROGRAMME MAKES IT TO HERE
response.setContentLength((int)(file.length()));
FileInputStream in = new FileInputStream(file);
OutputStream ops = response.getOutputStream();
byte[]buf = new byte[1024];
int count = 0;
while((count = in.read(buf)) >= 0)
{
ops.write(buf, 0, count);
}
in.close();
ops.close();
}
catch(IOException ex)
//EXCEPTION CAUGHT HERE
Мне было интересно, есть ли у кого-нибудь идеи, если это проблема с размерами буфера в Linux?или, например, написание файлов большого размера, а затем попытка отправить их обратно по проводам.
По сути, этот сервлет на основе Java записывает xml в мою программу на c #.
Спасибо