Trustin,
Sometimes this test passes and sometimes it gives me the following error:
-------------------------------------------------------------------------------
Battery: org.apache.mina.transport.socket.nio.DatagramBindTest
-------------------------------------------------------------------------------
Tests run: 3, Failures: 0, Errors: 1, Time elapsed: 0.186 sec
testManyTimes(org.apache.mina.transport.socket.nio.DatagramBindTest)
Time elapsed: 0.178 sec <<< ERROR!
[ stdout ] ---------------------------------------------------------------
[ stderr ] ---------------------------------------------------------------
[ stacktrace ] -----------------------------------------------------------
java.lang.Error: java.net.SocketException: Too many open files
at
sun.nio.ch.DatagramSocketAdaptor.create(DatagramSocketAdaptor.java:53)
at
sun.nio.ch.DatagramChannelImpl.socket(DatagramChannelImpl.java:100)
at
org.apache.mina.transport.socket.nio.support.DatagramAcceptorDelegate.registerNew(DatagramAcceptorDelegate.java:499)
at
org.apache.mina.transport.socket.nio.support.DatagramAcceptorDelegate.access$1000(DatagramAcceptorDelegate.java:49)
at
org.apache.mina.transport.socket.nio.support.DatagramAcceptorDelegate$Worker.run(DatagramAcceptorDelegate.java:260)
Caused by: java.net.SocketException: Too many open files
at java.net.PlainDatagramSocketImpl.datagramSocketCreate(Native
Method)
at
java.net.PlainDatagramSocketImpl.create(PlainDatagramSocketImpl.java:73)
at java.net.DatagramSocket.createImpl(DatagramSocket.java:317)
at java.net.DatagramSocket.<init>(DatagramSocket.java:208)
at
sun.nio.ch.DatagramSocketAdaptor.<init>(DatagramSocketAdaptor.java:45)
at
sun.nio.ch.DatagramSocketAdaptor.create(DatagramSocketAdaptor.java:51)
... 4 more
Any ideas? Oh btw I made one change to the abstract test to remove SSL
dependency which seemed unnecessary however I could be mistaken and will
revert if need be. I basically remove the dep on the Echo server
example and just added it as an inner class for this base test case.
There was one line in the echo handler that is different:
// We're going to use SSL negotiation notification.
session.setAttribute( SSLFilter.USE_NOTIFICATION );
This is the missing line in the inner class EchoProtocolHandler within
AbstractBindTest.
Alex