I analyzed our app performance and found issues with the way we package Spring boot app (and we just do gradle bootRepackage
).
The problem that Sun WS implementation thinks it is cheap to read content from classpath (they don't do any caching!) and app spend a lot of time in search for and read of resources in zip of zip archives. Example of issue is spring-boot-starter-ws performance when run as jar
How I can package Spring Boot app without using jars in jar? How to make flat jar or how to tell to unpack fat jar as it is done with WAR files inside containers?
UPDATE There is an option requiresUnpack
but it requires to provide list of dependencies... https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-gradle-plugin.html
UPDATE 2 I started evaluating of https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html#executable-jar-alternatives