Извиняюсь за ответ на старый вопрос, но кто-то (например, я) может наткнуться на это в будущем.
Класс Jetty Buffer
реализует метод writeTo(OutputStream)
. Простым решением было бы сделать следующее:
PipedInputStream is = new PipedInputStream();
PipedOutputStream os = new PipedOutputStream(is);
Затем для каждого Buffer
сделайте:
void processBuffer(Buffer buf) {
buf.writeTo(os);
}
Таким образом, вы можете передавать ответы без необходимости их кэширования.
EDIT:
Конечно, убедитесь, что processBuffer()
и читатели PipedInputStream
работают в отдельных потоках, чтобы избежать потенциальной тупика.