What's New

Liberty Buildpack Updates: Java 8, Java EE 7 updates, and more!

Since the last blog post on the Liberty buildpack update in March, we have released three additional buildpack updates. Here is a summary of the key new features and improvements made since the March update.

  • Java 8. It is now possible to test and run your applications in Bluemix with Java 8. IBM JRE 7.1 remains the default, but you can enable Java 8 simply by setting an environment variable via a manifest.yml file or using the cf command line client. For example, to use the latest IBM JRE 8 on your application, execute the following command and restage your application:

    $ cf set-env myApp JBP_CONFIG_IBMJDK "version: 1.8.+"
    

    Similarly, it is possible to enable and specify the version of OpenJDK. See Customizing the JRE for details.

  • Liberty profile. We have updated the version of the Liberty profile server based on the April beta. With this update, the jsp-2.3, el-3.0, and jdbc-4.1 Liberty features, previously available as beta features, are now available as production-ready features. Also, additional Java EE 7 features such as jsf-2.2, javaMail-1.5, webProfile-7.0, and javaee-7.0 are now available as beta features.
  • Feature overrides. When deploying a WAR or EAR file, the buildpack generates a Liberty configuration file with a default set of features enabled. In the latest buildpack, we introduced a way to override the set of features via an environment variable. For example, to enable websocket-1.1 and jdbc-4.1 features only, set the following environment variable in your manifest.yml file before pushing your application:

    env:
      JBP_CONFIG_LIBERTY 'app_archive: {features: [websocket-1.1, jdbc-4.1]}'

    See Stand-alone Applications for more information.

  • Context root. When deploying a WAR file, the buildpack now looks for the embedded WEB-INF/ibm-web-ext.xml file and the context-root property set in it. If the file exists and the property is set, the buildpack uses it as the application’s context root. Otherwise, the application will be available under the root context as before. Please note that with this change, some applications that were previously deployed under the root context might be deployed under a different context based on the settings in the ibm-web-ext.xml file.
  • Security fixes. In the second April release of the buildpack, we have updated the IBM JRE 7.1-2.11 with a security fix for the Bar Mitzvah vulnerability.
  • User-defined services. We have enhanced the automatic configuration feature to work with user-defined services.

In addition, we have updated the data collector and reduced the amount of logs generated for the Monitoring and Analytics Service. We have also updated the WebSphere eXtreme Scale Client to pick up the latest fixes and improvements.

Finally, we have changed how the application files are laid out in the droplet, in order to reduce complexity related to maintaining symbolic links. This should have no impact on applications as the droplet structure is considered an implementation detail of the buildpack and should not be relied upon.

The latest buildpack version is v1.17-20150501-1729.

Share this post:

Share on LinkedIn

Add Comment
4 Comments

Leave a Reply

Your email address will not be published.Required fields are marked *


icordoba

Hello,
may be you have help me with a problem deploying an app that was running OK before I switched to Java 8:
I keep on getting a message to accept the license even though I’ve included IBM_JVM_LICENSE: Z125-5589-05 in the manifest.yml file

I’ve checked BlueMix console and the value is there so cf push is pushing it correctly along with the app.

Any idea of what I may be missing?

thanks.

Reply

    RalphEarle

    @icordoba, the developerWorks Answers blog is a good place to get quick responses about IBM licensing questions. Try asking your question there and tagging it bluemix, liberty, and java.

    Reply

    Jarek Gawor

    I saw your question on the developerWorks forum about this and just replied to it. Please see my answer on the forum for details.

    Reply

marcel2

Hi Jarek,
it seems that Liberty on Bluemix does not support websockets by default.
I added a manifest.yml with the env vars as you described above:


applications:
– name: myplaygroundapp
memory: 512M
instances: 1
env:
JBP_CONFIG_LIBERTY ‘app_archive: {features: [websocket-1.1, jdbc-4.1]}’

When I upload my app using eclipse, I get the following log (websocket-1.1 and jdbc-4.1 are still missing):

—–> Warning: Liberty feature set is not specified. Using the default feature set: [“jsf-2.0”, “jsp-2.2”, “servlet-3.0”, “ejbLite-3.1”, “cdi-1.0”, “jpa-2.0”, “jdbc-4.0”, “jndi-1.0”, “managedBeans-1.0”, “jaxrs-1.1”]. For the best results, explicitly set the features via the JBP_CONFIG_LIBERTY environment variable or deploy the application as a server directory or packaged server with a custom server.xml file.

Thank you! Best,

Marcel

Reply
More What's New Stories

Hybrid XPages Applications on Bluemix

Last week the XPages service added support for creating hybrid XPages applications. This marks an important step for the runtime, since it enables support for a key use case for XPages in Bluemix. A hybrid application in this context is one that combines a front-end Bluemix cloud application, with data stored on an external server. For XPages, this means a Bluemix application using the XPages runtime combined with data NSF(s) hosted on an external private Domino server.

Bluemix Local in China

Today, we announce the general availability of Bluemix Local in China. This is the first time an on-premise cloud platform is available “as a service” for Chinese enterprise clients to consume in their own data center securely behind corporate firewall. With Bluemix Local, our clients can enjoy the power and flexibility of a proven cloud platform to drive their innovation agenda, yet relegate the 24×7 platform support to automation and support infrastructure IBM has built via the innovative “Relay” technology where validated updates and patches are delivered to the local environment via secure pipeline.

Node.js Runtime Security Fix

An OpenSSL security exposure [1] that affects the node.js runtime in Bluemix was fixed in an update to the IBM’s node.js version 0.10.28, which is embedded in Bluemix node.js buildpack v1-20140617-2114. It was also fixed in the open source version of node.js 0.10.29.