On Sat, 2017-03-18 at 14:58 +0000, Farzad Mahdikhani wrote: > I am using a CloseableHttpClient which uses a > PoolingHttpClientConnectionManager in a web application, I mean a > multi-threaded application with different users, in a state-less way > or request-response way. The server at the other hand, a load > balancer in front of 10 servers which I don’t have control over it, > sends a JSESSIONID in response. Now, the problem is that the > JSESSIONID sent by the server is kept by HttpClient and used at the > future requests. When this happens, the load balancer redirects every > request to the first server, i.e., the creator of the session id > which is not appropriate for me and I want other servers to be used > by the load balancer for other requests (balance the load among the > servers). > > I could ignore JSESSIONID sent in response by disabling cookies using > setCookieSpec(CookieSpecs.IGNORE_COOKIES) when creating RequestConfig > object but I don’t know the side effects of this. Actually I am > afraid of messing responses for the requests in different threads of > application when ignoring JSESSIONID. In other words, is it > guaranteed that when I execute for example > httpclient.execute(httpPost, responseHandler) in a thread, the > response is returned to that thread/user? >
Yes, it is. > I am using HttpClient 4.5.2 and as I mentioned above I don’t need > JSESSIONID sent by the server as I want a state-less request-response > behavior here. > You could consider creating a custom filter that automatically drops JSESSIONID cookie header or evicts JSESSIONID cookie from the cookie store. Oleg --------------------------------------------------------------------- To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org