What's New

Performance improvements in Liberty buildpack v2.1

Share this post:

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 shell utilities 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 restage operation instead of restart to enable them. For example, to enable both utilities for your application execute:

    $ cf se myApp BLUEMIX_APP_MGMT_ENABLE devconsole+shell
    $ cf restage myApp

    Refer to the App Management documentation for further details.

  • 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:

    $ cf se myApp JBP_CONFIG_LIBERTY "app_archive: { implicit_cdi: true }"
    $ cf restage myApp

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.

More stories
April 30, 2019

Introducing IBM Analytics Engine v1.2 and Announcing the Deprecation of IBM Analytics Engine v1.0

We are excited to inform you about the new version of IBM Analytics Engine v1.2 that will be available starting May 15, 2019. Along with this release, Analytics Engine v1.0 will be retired.

Continue reading

April 23, 2019

Announcing the Deprecation of the Watson Machine Learning JSON Token Authentication Service

We’d like to inform you about the deprecation of the Watson Machine Learning JSON Token Authentication service. This method of authentication will be retired on May 30, 2019.

Continue reading

April 19, 2019

Introducing IBM Cloud Object Storage Firewall: Further Secure Your Data

IBM Cloud Object Storage (COS) is giving you more control over who can access your data. We have introduced a new capability allowing you to configure your buckets with trusted IP address(es) that will dictate access to the data in COS.

Continue reading