Skip to content

Spring Boot Applications

kit edited this page Feb 8, 2019 · 3 revisions

The plugin enables you to compile Spring Boot applications down to native binaries using Excelsior JET. Compared to running your application on a conventional JVM, this has the following benefits:

  • More predictable latency for your Web application, as no code de-optimizations may occur suddenly at run time

  • Better startup time, which may be important if you need to launch a multitude of microservices upon updating your distributed application

  • Better initial performance that remains stable later on, which can be important for load balancing inside an application cluster

  • Security and IP protection, as reverse engineering of sensitive application code becomes much more expensive and the exposure of yet unknown to you security vulnerabilities is reduced

Contents

Supported Spring Boot Versions

Excelsior JET 15.3 supports Spring Boot versions from 1.4 and above.

Configuration

To enable native compliation of your Spring Boot application, you need to copy and paste the following configuration into the <plugins> section of your pom.xml file:

<plugin>
	<groupId>com.excelsiorjet</groupId>
	<artifactId>excelsior-jet-maven-plugin</artifactId>
	<version>1.3.2</version>
	<configuration>
          <appType>spring-boot</appType>
	</configuration>
</plugin>

Test Run

You can launch your Spring Boot application on the Excelsior JET JVM using a JIT compiler before pre-compiling it to native code using the jet:testrun Mojo the same way as with plain Java SE applications.

Use the jet:stop Mojo to ensure correct application termination at the end of a Test Run. Technically, you can terminate the application using Ctrl-C, but that would terminate the entire Maven build and would not constitute a correct termination.

Profiling

Profiling Spring Boot applications is supported via the jet:profile Mojo. However, the same notice as for the Test Run applies: use the jet:stop Mojo to ensure correct termination.