ADVERTISEMENT

What exactly does "-Djava.security.egd=file:/dev/./urandom" do when containerizing a Spring Boot application

The purpose of that security property is to speed up tomcat startup. By default the library used to generate random number in JVM on Unix systems relies on /dev/random. On docker containers there isn't enough entropy to support /dev/random. See Not enough entropy to support /dev/random in docker containers running in boot2docker. The random number generator is used for session ID generation. Changing it to /dev/urandom will make the startup process faster.

Similar question Slow startup on Tomcat 7.0.57 because of SecureRandom