What's New

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

Share this post:

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.

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

Financial transaction compliance made easy with Yantra

Yantra transformed into an award winning Fintech powerhouse. Yantra Financial Technologies was recognized as a “Company to Watch” as part of the 2016 FinTech Forward rankings released by American Banker and BAI.

Continue reading

Docker EE Comes to IBM Cloud

Today, IBM and Docker announced plans to deliver Docker for IBM Cloud a joint solution offering from IBM and Docker Inc. available as a beta in 4Q 2017.

Continue reading

IBM Cloud Activity Tracker – go live with new features

Starting today, IBM Cloud Activity Tracker is generally available with new service plans in the US South region. IBM Cloud Activity Tracker allows you to view, manage, and audit cloud activity events in the IBM Cloud. The service can be found under the Security and DevOps sections of the Bluemix catalog.

Continue reading