Можно ли попросить Jetty / Guice подождать, пока все данные будут прочитаны из запроса, прежде чем вызывать сервлет? - PullRequest
0 голосов
/ 11 января 2012

У меня есть веб-сервис с управляемыми сервлетами Guice, работающими на Jetty 7, данные запроса передаются Джексону для анализа. Есть ли способ указать, что все данные запроса, т.е. входной поток будут иметь байты, равные request.getContentLength. Я могу сделать блокировку чтения в моем коде, но мне было интересно, есть ли более чистый способ.

Существует ли распространенный шаблон для асинхронного чтения такого типа?

1 Ответ

0 голосов
/ 21 декабря 2012

Вы можете написать входной фильтр, который читает и регистрирует входные данные, а затем передает их следующему фильтру вниз по линии. Пример такого типа вещей есть в [http://pragmaticintegration.blogspot.co.uk/2009/02/logging-http-requests-jersey.html][http://pragmaticintegration.blogspot.co.uk/2009/02/logging-http-requests-jersey.html]

...