The Sun/Oracle-based JVM is attempting to generate a pseudo-random
number to be used as a seed for an SSL server socket. To generate the
pseudo-random number, the JVM is reading from the /dev/random device to obtain some random information for the seed. The problem is that reads from the /dev/random device
will block if the system does not have a good source of random events.
So, the Geronimo server startup is blocked waiting for enough random
information to be returned from /dev/random. This article may be help understand the basic issue -- http://en.wikipedia.org/wiki//dev/random#Linux
I'm no security expert. And I don't know the potential implications, but the simplest way that I've found to avoid the problem is to use the /dev/urandomdevice, instead of /dev/random. Do this by specifying the following java property '-Djava.security.egd=file:/dev/./urandom'. But keep in mind that often setting up the mentioned property does not make any difference.
It's a bug in Java. A bug was submitted in 2004 but updated and resolved in 2012.
Java picks up /dev/random even though /dev/urandom is passed in command line. The workaround around is to trick java to use /dev/urandom, by using /dev/./urandom. Basically it's the same device, (.) dot means current directory Look also at the class SecureRandom
More cardinal measure is to change /dev/random for /dev/urandom globally in the system:
Thanks for any other informative web site. Where else may just I get that kind of information written in such an ideal way? I have a mission that I am just now operating on, and I have been on the look out for such information. cakeffbebfeekddg