On Mon, Jul 18, 2011 at 10:18 PM, Himakar Chennapragada <[email protected]>wrote:
> > Hi Afkham, > Thanks for your response. > > With your approach is it possible to use/set socket timeout to be different > for different service invocations? Can it be removed out of the > getConfigurationContext and put/set it right before the actual call to the > web service? > This is a global setting, and is not actually related to the timeout. This configuration changes the Apache commons HTTP client parameters for managing the outgoing connections managed in a connection pool. > > Best Regards, > -Himakar > ---------------------------------------------------- > Himakar Chennapragada > IMS e-Business, SOA Development > IBM Silicon Valley Lab, San Jose, CA > Phone: 408-463-4758, Tie Line: 543-4758 > Email: [email protected] > ---------------------------------------------------- > > > > From: Afkham Azeez <[email protected]> To: [email protected] Date: > 07/17/2011 > 08:42 PM Subject: Re: Axis2 timeout issue > ------------------------------ > > > > When creating the client configuration context. Create it as follows. > > private ConfigurationContext getClientConfigurationContext() throws > AxisFault { > String clientRepositoryLocation = > serverConfig.getFirstProperty(CLIENT_REPOSITORY_LOCATION); > String clientAxis2XmlLocationn = > serverConfig.getFirstProperty(CLIENT_AXIS2_XML_LOCATION); > ConfigurationContext clientConfigContext = > > ConfigurationContextFactory.createConfigurationContextFromFileSystem( > clientRepositoryLocation, clientAxis2XmlLocationn); > MultiThreadedHttpConnectionManager httpConnectionManager = new > MultiThreadedHttpConnectionManager(); > HttpConnectionManagerParams params = new > HttpConnectionManagerParams(); > > // Set the default max connections per host > int defaultMaxConnPerHost = 500; > Parameter defaultMaxConnPerHostParam = > > clientConfigContext.getAxisConfiguration().getParameter("defaultMaxConnPerHost"); > if(defaultMaxConnPerHostParam != null){ > defaultMaxConnPerHost = > Integer.parseInt((String)defaultMaxConnPerHostParam.getValue()); > } > params.setDefaultMaxConnectionsPerHost(defaultMaxConnPerHost); > > // Set the max total connections > int maxTotalConnections = 15000; > Parameter maxTotalConnectionsParam = > > clientConfigContext.getAxisConfiguration().getParameter("maxTotalConnections"); > if(maxTotalConnectionsParam != null){ > maxTotalConnections = > Integer.parseInt((String)maxTotalConnectionsParam.getValue()); > } > params.setMaxTotalConnections(maxTotalConnections); > > params.setSoTimeout(600000); > params.setConnectionTimeout(600000); > > httpConnectionManager.setParams(params); > > clientConfigContext.setProperty(HTTPConstants.MULTITHREAD_HTTP_CONNECTION_MANAGER, > httpConnectionManager); > registerHouseKeepingTask(clientConfigContext); > clientConfigContext.setProperty(ServerConstants.WORK_DIR, > serverWorkDir); > return clientConfigContext; > } > > On Fri, Jul 15, 2011 at 12:13 PM, Himakar Chennapragada <* > [email protected]* <[email protected]>> wrote: > > changing the subject to better describe the content/issue. > > Best Regards, > -Himakar > ---------------------------------------------------- > Himakar Chennapragada > IMS e-Business, SOA Development > IBM Silicon Valley Lab, San Jose, CA > Phone: *408-463-4758* <408-463-4758>, Tie Line: 543-4758 > Email: *[email protected]* <[email protected]> > ---------------------------------------------------- > > ----- Forwarded by Himakar Chennapragada/Silicon Valley/IBM on 07/14/2011 > 11:41 PM ----- From: Himakar Chennapragada/Silicon Valley/IBM To: * > [email protected]* <[email protected]> Date: 07/14/2011 > 11:40 PM Subject: Axis2 question > > ------------------------------ > > > Hi, > We have an Axis2 timeout issue that we are trying to resolve and need your > urgent help. Any input/comments are highly appreciated. Thanks! > > > ---------------------------------------------------------------------------------------------------------------------------------------- > Here is some background information and questions: > > We have multiple threads calling out to *same or different *web services. > We use a new ServiceClient for *each invocation* to an external web > service (same or different service) with the REUSE_HTTP_CLIENT option; each > invocation has its own set of "Options" as well. We do that partly because > the threads doing the invocations can invoke many different web services > (not just one) and I am sure there is room for improvement in that area (see > my second question below). > > We use *Axis2 v1.4.1*. > > Here are my questions: > 1. We had a timeout issue where the timeout is not being honored properly > and I put in a patch (see patch details below) and it still does not > work/honored for larger workloads; for very small workloads it is fine tho. > I put in a patch to set timeout for each invocation but it still didn't > help. I could see that the new timeout values are being set properly (after > I applied the patch) in the "options" but no luck. Any idea why the > timeouts are not still honored even after applying the patch? (my guess is > due to the way we use a new ServiceClient with the HTTP REUSE option but I > could be wrong). > > Patch details: > The patch is applied to > org.apache.axis2.transport.http.AbstractHTTPSender.class * > **http://web.archiveorange.com/archive/v/R4VLPPfrNvyJ4cJFywD8*<http://web.archiveorange.com/archive/v/R4VLPPfrNvyJ4cJFywD8> > * > ** > https://issues.apache.org/jira/browse/AXIS2-3160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel > *<https://issues.apache.org/jira/browse/AXIS2-3160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel> > > 2. Also wondering if it is a good idea to use only one ServiceClient for > different services? > > Best Regards, > -Himakar > ---------------------------------------------------- > Himakar Chennapragada > IMS e-Business, SOA Development > IBM Silicon Valley Lab, San Jose, CA > Phone: *408-463-4758* <408-463-4758>, Tie Line: 543-4758 > Email: *[email protected]* <[email protected]> > ---------------------------------------------------- > > > > > > > > > > -- * > Afkham Azeez* > Director of Architecture; WSO2, Inc.; *http://wso2.com* <http://wso2.com/> > , * > Member; Apache Software Foundation; > **http://www.apache.org/*<http://www.apache.org/> > > *email: **[email protected]* <[email protected]>* cell: +94 77 3320919 > blog: **http://blog.afkham.org* <http://blog.afkham.org/>* > twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> > * > linked-in: > **http://lk.linkedin.com/in/afkhamazeez*<http://lk.linkedin.com/in/afkhamazeez> > > Lean . Enterprise . Middleware > > > > -- *Afkham Azeez* Director of Architecture; WSO2, Inc.; http://wso2.com, *Member; Apache Software Foundation; **http://www.apache.org/*<http://www.apache.org/> * * *email: **[email protected]* <[email protected]>* cell: +94 77 3320919 blog: **http://blog.afkham.org* <http://blog.afkham.org>* twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> * linked-in: **http://lk.linkedin.com/in/afkhamazeez* * * *Lean . Enterprise . Middleware* * *
