Hi, I'm new to undertow world..
I've a wrapper that handles the exchange end logic.. Before calling the wrapper
undertow itself ends the exchange and calls the exchange complete listener. This issue is
happening randomly and not for all requests. I've enabled debugging it didn't
provide proper information. I'm not sure how to identify the action which closes the
exchange?
For Ex :
RequestDispatcher {
void dispatch() {
this.exchange.dispatch(executor, () -> {
httpAction.execute(exchangeWrapper);
});
}
}
ResponseSender { // This class is used everywhere but send method called only once
void send() {
if (!this.exchange.isResponseStarted()) {
throw error;
} else {
writeHeaders and
this.exchange.endExchange();
}
}
}
UndertowConfig {
void init() {
this.routingHandler = Handlers.routing();
this.server = Undertow.builder()
.setWorkerThreads(50)
.setServerOption(UndertowOptions.ENABLE_HTTP2, true)
.setServerOption(UndertowOptions.NO_REQUEST_TIMEOUT, 15000)
.setServerOption(UndertowOptions.REQUEST_PARSE_TIMEOUT, 150000)
.setServerOption(UndertowOptions.IDLE_TIMEOUT, 150000)
.addHttpListener(Integer.parseInt(port), "0.0.0.0",
routingHandler).build();
}
}
Please assist me on this