Spring Webflux BlockingTerator.hasNext () Блокировка навсегдаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring Webflux BlockingTerator.hasNext () Блокировка навсегда

Сообщение Anonymous »

Я пытаюсь отследить ошибку в моем приложении с Spring Webflux, висящим под нагрузкой. Я отлаживал это в течение многих часов, поэтому мне действительно нужна помощь, даже только по направлению для расследования. < /P>
Проблема: < /p>
myFlux = client.get()
.uri(uriBuilder.get())
.header(...)
...
.exchangeToFlux(clientResponse -> {
// returns .bodyToFlux(ServerSentEvent) or Flux.error(new Ex) depending on status code
})
.doOnError(t -> log.error(t))
.onErrorMap(Error.class, e -> { // *1, below
log.error(e);
return new RuntimeException("Wrapped Error in RuntimeException", e)
})
;

// later ...

Iterator iterator = myFlux.toIterable().iterator(); // Returns a BlockingIterable

while(iterator.hasNext()) { // hangs here
ServerSentEvent line = iterator.next();
...
}
< /code>
В основном, мой итератор (который обертывает поток) с радостью возвращает все строки из моего ответа HTTP в течение примерно 3 часов под испытанием нагрузки, затем в какой -то момент итератор. То, что поток ожидает большего количества линий от WebClient, но еще нет. К сожалению, это никогда не разблокируется, а рабочая поток-Kaput. -М.О. МОЖЕСТЬ, но безрезультатно. Реактор/реактор-ядер/проблемы/3036
и симптом звучит как мой, поэтому я попробовал //*1 выше, чтобы поймать любые ошибки виртуальной машины при java.lang.error, что поток может Скрыть, что может привести к тому, что он станет коррумпированным: «Реактор не пытается оправиться от виртуально -эпохи, из которого не является подклассником. Когда возникает такая _error_s, нет никакого значения, в каком состоянии есть JVM и не все ли компоненты или нет. из приложения сможет восстановиться. Исправлено, чтобы выяснить ошибку, упомянутую в соответствующем билете (https://github.com/reactor/reactor-core/issues/3111), все равно должно быть там, чтобы регистрировать ошибку.
Поэтому я пытаюсь решить, получу ли я смертельную ошибку JVM при java.lang.error, и если да, то почему она не выходит нигде в журналах, или есть иная причина / проспект для расследования .

Подробнее здесь: https://stackoverflow.com/questions/794 ... ng-forever
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»