I'm the administrator of a Windows 2000 Small Business Server which my company uses for way too many things. It has our email server, dns server, file server, and so on. And when we deployed a J2EE app running JBoss, it got nomitated for the task. Just the other day when I was working with our app, it quit responding. It took me a number of hours to figure out what the problem was, so I figured I'd archive the solution here.
So, the symptoms: JBoss just quit responding. That's basically what seemed to happen. The client would connect but then hang making the RMI connection to port 1099. I attached a debugger to the process and it would stop in a readBytes() method. I looked through a sniffer, there was a SYN->SYN/ACK->ACK sequence, but nothing further. I tried it out on my development box (a Redhat 9 machine) and it was just fine.
Initially I thought I had messed up the deployment somehow, so I cleaned up my code and deployed a new version to production. That didn't change anything. I tried bouncing the service, but nothing. I even tried posting to the JBoss forums, but they deleted my question! How rude. I never liked those forums anyway and the mailing list is useless now that they've merged the two.
Anyway, where I should have been looking was the server logs. Yeah, that seems intuitive, but JBoss appeared to be starting just fine so I never looked. And since we have JBoss starting as a service, the messages aren't so easy to see. Well, once I finally did watch I saw that JBoss wasn't even binding to port 1099. Something else was using it. So I figured it was a stale JBoss that didn't close out or something. I rebooted the server that night and tried the next day. Without JBoss even running 1099 was still in use!
Now I was really annoyed. I grabbed Pstools from Sysinternals and looked at what was listening on 1099. It was some goofy program named "inetinfo.exe". Wanna take a guess what that is? It's IIS. What a worthless pile of garbage.
So the conclusion is that IIS took over port 1099 for some reason. It's hogging about 20 ports in that range and I suppose I'll never know why. I moved JBoss onto port 21099 and I'm just praying that either a) IIS will be gracious enough not to ruin my life again or b) I can migrate to Apache. Neither of those seems altogether likely any time soon. :(