Hi,
It happens when the OS can't handlle with many files. Each socket has it owns descriptor, and JBoss has other descriptor files.
I use fedora so with >> ulimit -n << i can see how many files my user is allowed to open. You can increase it with >> ulimit -n 4096 <<
*Remember this is how many files descriptors your user session can open.
You also should check /proc/sys/fs/file-max you can check how many file descriptors your OS can handle ( you can increase that too )
on /etc/security/limits.conf you can set the start descriptors for your use. Its the definitly configuration.
Make those changes and try a restart.
Good Lucky