Jetty 7 Продолжения: Как * не * переслать запрос? - PullRequest
0 голосов
/ 20 марта 2010

Я использую продолжения Jetty 7 для реализации некоторой асинхронной обработки.Я пытаюсь запустить продолжение (через .suspend ()), а затем передать продолжение другому объекту, который будет составлять ответ, который работает нормально.Но Jetty продолжает пересылать ответ (с isInitial = false) сервлету, и я не хочу или не нуждаюсь в этом, потому что ответ обрабатывается каким-то другим объектом.чтобы найти способ явно , а не , повторно отправить запрос по тайм-ауту или по истечении срока, потому что я использую управляемую событиями серию обратных вызовов для фактического получения ответа.

1 Ответ

2 голосов
/ 14 ноября 2010

См. Документацию вокруг continuation.isInitial() - от http://wiki.eclipse.org/Jetty/Feature/Continuations:

Возобновление запроса

Как только асинхронное событие произошло, продолжение может быть возобновился:

void myAsyncCallback(Object results)
{
    continuation.setAttribute("results",results);
    continuation.resume();
}

Когда возобновление продолжается, запрос пересылается сервлету контейнер, как будто запрос был получен снова. тем не мение во время повторной отправки continuation.isInitial() метод возвращает false и любые атрибуты установлены асинхронным обработчиком имеется.

...