Hi,
I am using MINA 1.1.0. I am creating connections from a windows
system to a Linux box.
I open and close a lot of connections for the windows to the linux.
After a while i run out of sockets on the windows system and i get the
following exception when i do a getSession() on the ConnectFuture that
was returned form the connect function call.
ERROR XmppClient: org.apache.mina.common.RuntimeIOException: Failed to
get the session.
org.apache.mina.common.RuntimeIOException: Failed to get the session.
at
org.apache.mina.common.support.DefaultConnectFuture.getSession(DefaultConnectFuture.java:62)
at
za.co.mxit.xmpp.nio.XmppClient$XmppCf.operationComplete(XmppClient.java:1289)
at
org.apache.mina.common.support.DefaultIoFuture.notifyListeners(DefaultIoFuture.java:162)
at
org.apache.mina.common.support.DefaultIoFuture.setValue(DefaultIoFuture.java:121)
at
org.apache.mina.common.support.DefaultConnectFuture.setException(DefaultConnectFuture.java:82)
at
org.apache.mina.transport.socket.nio.SocketConnector.processSessions(SocketConnector.java:295)
at
org.apache.mina.transport.socket.nio.SocketConnector.access$900(SocketConnector.java:53)
at
org.apache.mina.transport.socket.nio.SocketConnector$Worker.run(SocketConnector.java:395)
at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:43)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.BindException: Address already in use: no further
information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at
sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:527)
at
org.apache.mina.transport.socket.nio.SocketConnector.processSessions(SocketConnector.java:289)
... 4 more
Now if i go look at the socket connections on the windows system there
are a lot of them in the following state, "Waiting for close", and on
the linux box the socket connections are in state, FIN_WAIT2
(Connection is closed, and the socket is waiting for a shutdown from
the remote end).
Is there a way to close the session faster or is this just a windows thing.
In the SocketConnector config i set the following,
cfgConnector.setConnectTimeout(4), is this cause my problem?
Thanks,
Jannie