I'm running a Java based system on CentOs and I sometimes see that clients of a service experience "Connection refused" errors for short periods. The interesting is that the server is, at the same time, serving requests. The error is intermittent.
Is it possible that the listener socket's backlog fills up for a short time and it causes new requests to be refused? I'm running out of clues and I wasn't able to reproduce this outside the continuous integration system so far.