We have an openfire 3.4.1 installation on a Linux x86_64 RedHat Enterprise system, with very little activity on it (nearly no users), and start / restart takes more than 4 minutes before the server is actually available. From debug.log after I do a /etc/init.d/openfire start:
2008.01.07 14:45:25 stopped {}
2008.01.07 14:45:25 stopped {}
2008.01.07 14:45:25 stopped {}
2008.01.07 14:45:25 stopped {}
2008.01.07 14:45:25 Unregistering component for domain: test
2008.01.07 14:45:25 Unregistering component for domain: test
2008.01.07 14:45:25 Component unregistered for domain: test
2008.01.07 14:45:25 Component unregistered for domain: test
2008.01.07 14:45:25 Unregistering component for domain: search
2008.01.07 14:45:25 Component unregistered for domain: search
2008.01.07 14:48:57 Flash cross domain is listening on null on port 5229
2008.01.07 14:49:07 Loading plugin admin
2008.01.07 14:49:08 Logging to {} via {}
2008.01.07 14:49:08 jetty-6
Note that there is a gap of more than 4 minutes before the ‘Flash cross domain is listening on null on port 5229’ line.
could you create some stack traces (kill -3 openfire-pid) during restart, especially when Openfire hangs for four minutes? They will be written to stdout.log or nohup.out and should contain the blocking threads.
Can you read from /dev/random without problems or does it block sometimes? This could delay the SSL initialization.
This is becoming more and more of a problem, as most our services go over the xmpp layer now so whenever we need to restart we get 4 minutes of downtime when it should only be a few seconds.