Hello,
First of all, sorry for my english.
I have a strange issue in my apps and I really don't know how to fix it.
I have a app that called a Webservice (Websphere 6.2).The client code is
generated by Axis 1.4.1 (Java SE 6).
when I start the apps, I have a response time under 50 ms and all is fine.
After sometime ( generally 2/3hours ) the response time increase to 350/400 ms
and the only workaround I found is to stop/start the client app.
the first version of my code was basically :
xxxStub ws = new xxxStub("EPR");ws.getMethod();
So I recreate everything each time and I have a response time between 30 to
100ms.And after 2/3 hours I got 250/300.
So I try to use a MultiThreadedHttpConnectionManager. I Create a singleton to
call the Webservice and in my constructor I put this :
private static final int connectionPerHost = 10; private static
final int DEFAULT_MAX_TOTAL_CONNECTIONS = 50; private static final int
timeoutIdleconnection = 20000;
.... Constructor(){ .... conf =
new PropertiesConfiguration(Constante.CONFIG_NAME); epr =
conf.getString(Constante.EPR_ADDRESS_EMISSION); ws = new
xxxStub(epr);
ws._getServiceClient().getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT,
Constants.VALUE_TRUE); MultiThreadedHttpConnectionManager
connectionManager = new MultiThreadedHttpConnectionManager();
connectionManager.getParams().setMaxTotalConnections(DEFAULT_MAX_TOTAL_CONNECTIONS);
connectionManager.getParams().setDefaultMaxConnectionsPerHost(connectionPerHost);
connectionManager.closeIdleConnections(timeoutIdleconnection);
HttpClient httpClient = new HttpClient(connectionManager);
ws._getServiceClient().getOptions().setProperty(HTTPConstants.CACHED_HTTP_CLIENT,
httpClient);
and after each call, I made a ws._getServiceClient().cleanupTransport().I have
better response time (15-40 ms) but I always have after 2/3hours a inscrease to
300 ms....
So, I have 3 questions : 1- Is my implementation of
MultiThreadedHttpConnectionManager correct?2- Is my problem due to client or
Server settings?3- Any ideas of how to fix this?
Regards,