Arunanthisivam Vimalathithen wrote:
Hi,
I am having a problem in an application I am trying to port to
WebSphere community edition which basically uses Geronimo 1.0 (This
problem exists in the latest version of Geronimo (1.1.1) as well). The
client I am using looks up the service numerous times consecutively
and invokes the services. The problem happens when this has gone past
more than 630 times, the client simply fails to look up and produces
the following error:
_java.rmi.RemoteException_: Cannot access server: /127.0.0.1:_4201_
Exception: ; nested exception is: _ java.io.IOException_: Cannot
access server: /127.0.0.1:4201 _Exception_: _java.net.BindException_ :
Address already in use: connect
The same error can be produced by looking up and invoking a simple
hello world EJB in a loop of 700 times. This happens in the latest
release of Geronimo (sometimes the loop might need to be increased to
1000). Any work arounds to this?
Thanks and regards,
Vimalan
If you are on Windows you can encounter problems if a large number of
socket connections within a short period of time, causing Windows to
exhaust its pool of ephemeral ports (default is port range 1024-5000).
When each of these connections is closed, they will remain in TIME_WAIT
for a period of time (default of 240 seconds) before the ephemeral port
is available. Windows will not reuse a port until it has exhausted its
pool of ephemeral ports. If this problem occurs, you need to set the
[MaxUserPort] to a larger value and reduce the [TcpTimedWaitDelay] in
the registry settings. See the following for further details:
http://support.microsoft.com/kb/196271/EN-US/ and
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/randz/protocol/tcp_time-wait_delay.asp
Each InitialContext you create will cause a TCP connection to be started
to OpenEJB. See some notes about the processing going on whilst
creating an InitialContext in
http://issues.apache.org/jira/browse/GERONIMO-1085 .
AFAIK, each remote call will also start a connection. AFAIK, some other
app servers may leave connections open for a period of time and re-use
them, therefore reducing the chance of hitting this problem of
exhausting the pool in windows.
Regards,
John