Any luck with this?  I'm having similar problems.

Ram-A Kumar wrote:
> 
> Hi,
> 
> When we run xmlrpc, we can see a steady increase in the number of 
> CLOSE_WAIT sockets over time. These
> sockets are not closed automatically. Our client and server runs on the 
> same unix box.
> We use the xmlrpc in the following way.
> 
> import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
> import org.apache.xmlrpc.client.XmlRpcClient;
> import org.apache.xmlrpc.client.XmlRpcCommonsTransportFactory;
> import java.net.URL;
> 
> public class XmlRpc {
> 
> private XmlRpcClient client=null;
> 
> private XmlRpc() {
> try {
> 
> XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); 
> String PORT= System.getenv("MYSYS_PORT"); 
> if (PORT==null)
> {
> PORT="8000"; 
> } 
> StringBuffer ServerURL= new StringBuffer();
> ServerURL.append("http://127.0.0.1:";).append(PORT).append("/xmlrpc"); 
> config.setServerURL(new URL(ServerURL.toString()));
> config.setEnabledForExtensions(true);
> config.setConnectionTimeout(20 * 1000);
> config.setReplyTimeout(20 * 1000);
> 
> this.client = new XmlRpcClient();
> // use Commons HttpClient as transport
> client.setTransportFactory(new XmlRpcCommonsTransportFactory(client));
> // set configuration
> client.setConfig(config);
> } catch (Exception e) {
> Util.logger.error("xmlrpc",e);
> }
> }
> 
> public static XmlRpc XMLRPC=new XmlRpc();
> 
> public Object call(String m,String f,Object[] a) throws Exception {
> return Util.get_result(client.execute(m+"."+f, a));
> }
> 
> }
> 
> 
> The 'call' function gets called through XMLRPC object in the following 
> fashion in a different file
> public static void main(String[] args) throws Exception {
> String x=(String)XmlRpc.XMLRPC.call("XYZ","echo",new Object[]{"test"});
> System.out.println("x="+x);
> }
> 
> 
> 
> 
> A snippet of the 'netstat' is (the port numbers are not mentioned)
> 
> tcp 0 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> tcp 1 0 localhost: localhost: CLOSE_WAIT
> 
> 
> 
> 
> The situation does not improve even if we create a new client for each 
> connection as follows:
> 
> public Object call(String m,String f,Object[] a) throws Exception
> {
> XmlRpcClient client = new XmlRpcClient();
> // use Commons HttpClient as transport
> client.setTransportFactory(new XmlRpcCommonsTransportFactory(client));
> // set configuration
> client.setConfig(config);
> return Util.get_result(client.execute(m+"."+f, a));
> }
> 
> 
> Our questions are:   Should we also be creating the ?config? instance 
> within the ?call? method ?
> Are there any known problems using this library and this specific 
> mechanism to communicate to non XML rpc servers (ours is in Erlang).  And 
> do we need to do something special (since both client and server are 
> running on a local host).
> 
> Kind regards,
> Ram-A Kumar
> 
> 
> 
> ---
> This communication may contain confidential and/or privileged information.
> If you are not the intended recipient (or have received this communication
> in error) please notify the sender immediately and destroy this
> communication. Any unauthorized copying, disclosure or distribution of the
> material in this communication is strictly forbidden.
> 
> Deutsche Bank does not render legal or tax advice, and the information
> contained in this communication should not be regarded as such.
> 

-- 
View this message in context: 
http://old.nabble.com/CLOSE_WAITs-in-XMLRPC---tp28140508p28793592.html
Sent from the Apache Xml-RPC - Dev mailing list archive at Nabble.com.

Reply via email to