The
client is on Linux, but the server is on Windows. I want to keep them
separate since our server also opens many sockets, and I don't want to confuse
the two.
I'm
not running under any container - our app embeds Axis and is not neccesarily run
inside any container (though it could be).
I'm
running a test which opens 100 concurrent threads, each communicating with a
server using Axis. At any given time, netstat shows approxiamtely 100
connections in the ESTABLISHED state, and some number of connections in
CLOSE_WAIT. The sockets in the CLOSE_WAIT state do eventually go away, but
it takes way too long.
If
Axis is not calling close() until the finalizer, does anyone know how to force
it to call close(). If the JVM is the root cause, I guess I'm out of
luck...
Thanks
for your help so far.
Mike
Ryan
-----Original Message-----I've seen sockets lingering in CLOSE_WAIT on Linux, but only when the *server* is on Linux. Your email indicates that your client is on linux? Where is the server? Also, what web container are you running your Axis under? Tomcat, Websphere?
From: Jason Cwik [mailto:[EMAIL PROTECTED]
Sent: Monday, December 12, 2005 12:25 PM
To: [email protected]
Subject: Re: Large numbers of sockets in CLOSE_WAIT on Linux
I ran 30,000 test calls in 5 minutes against my Linux Axis server, and there was a bunch of CLOSE_WAIT sockets, but they eventually disappeared, probably when the finalizer ran. It's possible that the web container or JVM doesn't actually close() the native socket until it's finalized.
On 12/12/05, Michael Ryan < [EMAIL PROTECTED]> wrote:We are seeing large numbers of sockets lingering in the CLOSE_WAIT state (waiting for the client to issue a close() call) while running our client application on Linux. The problem does not seem to occur on Windows or Solaris, or at least is not nearly as obvious on Solaris. When the process ends, the sockets are all closed, so it does not appear to be an operating system bug. It does appear that the sockets are eventually closed, but that leads me to believe that they are being left around for the garbage collector to deal with.Does anyone have any insight into this? I read several other peoples messages regarding this, so I am not the only one experiencing this. Is there a way to force the Axis client to call close()? Is this a JVM issue?Thanks for any help.Mike Ryan
