Hi,
I am using a ProxyHandler with a ProxyClient from a custom handler.
...
ProxyClient lbpc = getProxyClient();
ProxyHandler proxyhandler = new ProxyHandler(lbpc, requestTimeout,
ResponseCodeHandler.HANDLE_404);
...
It handles the timeout correctly however I can see some error after my
handler, the timeout logged properly.
16:43:28,566 INFO [stdout] (default I/O-4) LWI COMPLETED 200 status 200
16:43:28,597 ERROR [io.undertow.proxy] (default I/O-4) UT005027: Timing out
request to /lwi/cnr/getMsisdn
16:43:28,658 ERROR [org.xnio.listener] (default I/O-4) XNIO001007: A
channel event listener threw an exception: java.lang.IllegalStateException:
UT000139: Exchange already complete
at
io.undertow.server.HttpServerExchange.addExchangeCompleteListener(HttpServerExchange.java:916)
at
io.undertow.server.handlers.proxy.ProxyConnectionPool.connectionReady(ProxyConnectionPool.java:315)
at
io.undertow.server.handlers.proxy.ProxyConnectionPool.access$900(ProxyConnectionPool.java:58)
at
io.undertow.server.handlers.proxy.ProxyConnectionPool$1.completed(ProxyConnectionPool.java:278)
at
io.undertow.server.handlers.proxy.ProxyConnectionPool$1.completed(ProxyConnectionPool.java:265)
at
io.undertow.client.http.HttpClientProvider.handleConnected(HttpClientProvider.java:156)
at
io.undertow.client.http.HttpClientProvider.access$000(HttpClientProvider.java:51)
at
io.undertow.client.http.HttpClientProvider$2.handleEvent(HttpClientProvider.java:127)
at
io.undertow.client.http.HttpClientProvider$2.handleEvent(HttpClientProvider.java:124)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at
org.xnio.nio.WorkerThread$ConnectHandle.handleReady(WorkerThread.java:326)
at org.xnio.nio.WorkerThread.run(WorkerThread.java:567)
Is it the normal behavior and nothing to do with it?
Is there a way to catch the timeout error and give some custom response?
Regards, Zsolt