ivanursul

Software engineer. A fan of CI/CD. Blogger.

JHipster context is not loading on DigitalOcean cloud server

Few weeks ago I started to work with JHipster - Java Framework for rapid development.I am not going to write a review of this framework - I hope, I will find time to do it later, but today I am going to write some useful information about pitfalls, that you can reach during your work with JHipster.

#####Jhipster project unable to start itself on digitalocean

Just FYI, Jhipster is built on top of Spring Boot Framework + Angular JS, so to start application, you need just to execute single command

mvn spring-boot:run

That’s a convenient way for deploying application - no separate application servers, only embedded, only hardcore.

That’s why Spring Boot stores some embedded tomcat server, which contains all properties.

So, the problem is that sometimes, when you deploy your application on Digital Ocean cloud server - you need to wait for a long time to finish deploying process.

In my case, the problem with long deploy is that Tomcat loves to use /dev/random function, instead of /dev/urandom.

To get a good example of how random and urandom works, just go to terminal and type

cat /dev/random

Then try to move your mouse, you will receive additional values.

Then type

cat /dev/urandom

And you will get your result much more faster.

In Jhipster/Spring Boot project you can solve this issue with adding custom parameter

-Djava.security.egd=file:/dev/./urandom

In spring-boot-maven-plugin

    <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
            <jvmArguments>-Djava.rmi.server.hostname=localhost -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 -Djava.security.egd=file:/dev/./urandom</jvmArguments>
            <arguments>
                <argument>--spring.profiles.active=dev</argument>
            </arguments>
        </configuration>
    </plugin>

I described this issue on official Jhipster page: https://github.com/jhipster/generator-jhipster/issues/1425#issuecomment-97861947