NullPointerException при чтении из запроса inputtream - PullRequest
0 голосов
/ 26 ноября 2018

Мы пытаемся загрузить файл, используя Spark Routes, и имеем промежуточный слой API между клиентом и службой, которая читает содержимое файла.На уровне API мы в основном очищаем входной контент и передаем его другому сервису.

На уровне API, извлекая запрос в качестве входного потока (r.raw().getInputStream();), мы получаем исключение NullPointerException.

Мы устанавливаем атрибут multipartconfig , как показано нижев последнем сервисе, где мы читаем содержимое файла для дальнейшей обработки.

request.attribute("org.eclipse.jetty.multipartConfig", new MultipartConfigElement("/temp"));

Я маскирую часть трассировки как специфичную для нашего кода приложения и реализацию Route , в котороймы делаем r.raw().getInputStream();

в java.io.InputStream.read (InputStream.java:101)
в spark.utils.IOUtils.toByteArray (IOUtils.java:133)
at spark.embeddedserver.jetty.HttpRequestWrapper.cacheInputStream (HttpRequestWrapper.java:58)
в spark.embeddedserver.jetty.HttpRequestWrapper.getInputStream (HttpRequestWrapper.java:52) * 10 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *, * * * *
at spark.RouteImpl $ 1.handle (RouteImpl.java:61)
at spark.embeddedserver.jetty.JettyHandler.doHandle (JettyHandler.java:50)

Это происходит периодически.Сначала мы думали, что это могут быть конкретные устройства, которые используют наши клиенты, но, просмотрев информацию об агентах пользователя, мы обнаружили, что наши клиенты смогли успешно разместить запрос после сбоя на том же устройстве.

Также мы не можем воспроизвести проблему в наших средах тестирования.

Любая помощь в диагностике проблемы будет отличной.Спасибо.

...