Performance improvements in Liberty buildpack v2.1
Today, we have released a new version of the Liberty buildpack. The v2.1 buildpack provides a couple of important performance improvements:
App Management utilities: In June, we introduced an enhanced app management support: a collection of utilities that provide development and debug functionality to Liberty applications running in Bluemix. Two of those utilities – devconsole and shell – provide a nice web-based interface. The web interfaces pull in a large of set of dependencies that consume a lot of disk space and can take a while to install and start. In the new buildpack, we have optimized the devconsole and shellutilities to reduce the disk, install and start time overhead. With these optimizations, we also have reduced the droplet size and decreased the overall time it takes to deploy a Liberty application to Bluemix!
In order to maximize these improvements, the shell and devconsole utilities now require a restageoperation instead of restart to enable them. For example, to enable both utilities for your application execute:
CDI 1.2 annotation scanning: By default, when deploying a WAR or EAR file to Bluemix, the buildpack will automatically enable Java EE 7 Web Profile Liberty features for the application. One of those features is cdi-1.2 feature. The Contexts and Dependency Injection 1.1/1.2 specification introduced the concept of implicit bean archives – archives that are without the beans.xml file and contain CDI annotated classes. With the cdi-1.2 feature enabled, such archives must be scanned for annotations. In case of large applications with a number of library files, the annotation scanning can take a long time to complete and significantly increase the application start up time. For this reason, the annotation scanning of the implicit archives is disabled by default for WAR and EAR files. If needed, the implicit bean archive scanning can be enabled for an application using the JBP_CONFIG_LIBERTY environment variable. For example:
In addition to the performance improvements, the buildpack contains an updated version of Liberty profile based on the October beta. With this update, the bells-1.0, rtcomm-1.0, rtcommGateway-1.0, samlWeb-2.0, and sipServlet-1.1 Liberty features, previously available as beta features, are now available as production-ready features. The buildpack also has an updated IBM JRE 8 SR1 FP11.
If your application is deployed with the liberty-for-java-v1 buildpack, please make sure to move to the new v2 buildpack as the v1 buildpack will be deleted soon.