Появилась задача создания документооборота, содержащего вложения размером до 700мб. Покопался по интернету, в итоге не нашел никакой информации об ограничении объема загружаемых файлов в Vaadin. При тестировании выяснилось, что файлы большого объема всё же не загружаются. При этом не выбрасывает никаких Exception’ов, сообщений и прочего. Попробовал протрассировать процесс аплоада и остановился на AbstractCommunicationManager. Вырезка кода самого цикла загрузки из этого класса:
final byte buffer[]=new byte[MAX_UPLOAD_BUFFER_SIZE]
;
int bytesReadToBuffer=0;
while((bytesReadToBuffer=in.read(buffer))>0) {
out.write(buffer,0,bytesReadToBuffer);
totalBytes+=bytesReadToBuffer;
if(listenProgress) {
// update progress if listener set and contentLength
// received
synchronized(application){
StreamingProgressEventImpl progressEvent=new StreamingProgressEventImpl(filename,type,contentLength,totalBytes);
streamVariable.onProgress(progressEvent);
}
}
if(streamVariable.isInterrupted()){
throw new UploadInterruptedException();
}
}
// upload successful
out.close();
На выходе из цикла поставил точку останова, а также на всех кэтчах. В итоге на разных моментах загрузки процесс прекращался, на выход из цикла и кэтчи я не попадал. Файл естественно во вложении отсутствовал.
Кто-то говорил что у ваадина компонент загрузки файлов глючный, но подтверждения этой информации я не нашел. Может кто сталкивался с подобной проблемой, подскажите решение