Ошибка Checkstyle в Eclipse - не Могла инстанцировать Символа табуляции

Когда возможно, Вы не должны хранить все содержание файла, который будет подаваться в памяти. Вместо этого aquire InputStream для данных и копия данные к Сервлету OutputStream в частях. Например:

ServletOutputStream out = response.getOutputStream();
InputStream in = [ code to get source input stream ];
String mimeType = [ code to get mimetype of data to be served ];
byte[] bytes = new byte[FILEBUFFERSIZE];
int bytesRead;

response.setContentType(mimeType);

while ((bytesRead = in.read(bytes)) != -1) {
    out.write(bytes, 0, bytesRead);
}

// do the following in a finally block:
in.close();
out.close();

я действительно соглашаюсь с toby, необходимо вместо этого "указать на них на S3 url".

Что касается исключения OOM, действительно ли Вы уверены, что оно имеет отношение к обслуживанию данных изображения? Скажем, Ваша JVM имеет 256 МБ "дополнительной" памяти для использования для обслуживания данных изображения. Со справкой Google, "256 МБ / 200 КБ" = 1310. Для "дополнительной" памяти на 2 ГБ (в эти дни очень разумная сумма) могли поддерживаться более чем 10 000 одновременных клиентов. Несмотря на это, 1 300 одновременных клиентов довольно большое количество. Действительно ли это - тип загрузки, которую Вы испытали? В противном случае Вы, возможно, должны в другом месте искать причину исключения OOM.

Редактирование - Относительно:

В этом варианте использования изображения могут содержать уязвимые данные...

, Когда я прочитал документацию S3 несколько недель назад, я заметил, что можно генерировать истекающие время ключи, которые могут быть присоединены к URL S3. Так, Вы не должны были бы открывать файлы на S3 общественности. Мое понимание техники:

  1. Начальная страница HTML имеет ссылки на загрузку на Вашего Пользователя веб-приложения
  2. , нажимает на ссылку на загрузку
  3. , Ваше веб-приложение генерирует S3 URL, который включает ключ, который истекает в, позволяет, говорят, 5 минут.
  4. Отправляют перенаправление HTTP клиенту с URL от шага 3.
  5. , пользователь загружает файл с S3. Это работает, даже если загрузка занимает больше чем 5 минут - как только загрузка запускается, это может продолжиться посредством завершения.
11
задан Stefan Thyberg 31 July 2009 в 12:08
поделиться

1 ответ

Как упоминалось в этой ошибке , плагин Checkstyle версии 5.0.0.200906281855:

Примечания к выпуску Checkstyle 5 заявляют, что некоторые из используемых нами модулей и проверок не имеют обратной совместимости.
Например, модуль TabCharacter больше не встречается в v5 (был заменен на FileTabCharacter ), поэтому не может работать.
Проверка FileLength не требует синтаксического дерева, поэтому больше не находится в родительском TreeWalker .

Это означает, что ваша проблема могла быть связана с автоматическим обновлением плагина Checkstyle в вашем конфигурация затмения.

16
ответ дан 3 December 2019 в 07:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: