Support for Java 8

Support for Java 8


OutSystems Platform 9 Bali brings you exclusive support for Java SE 8. This will allow you to integrate Java 7/8 code into your extension modules or continue using your Java 6 code, use libraries updated for Java 8, and that take advantage of new language features.

What’s New

Java 8 introduces many language changes, such as lambda expressions or default methods, which can now be used in extension code.

Applications now run on top of the latest version of the JDK 8 HotSpot taking advantage of all the improvements introduced by Oracle. One of the most exciting is the introduction of MetaSpace to store class metadata replacing Permanent Generation.

This new memory space now runs in native memory and comes with a new set of flexible configuration options. The OutSystems Platform takes advantage of these to provide a scalable resource allocation mechanism that will adapt to your system specifications. This means less fine tuning needed during Platform operation specially for development environments.

Impact on Generated Applications

Despite the Java runtime upgrade, the OutSystems Platform will take care of all the necessary changes to the generated applications to make them fully functional!

There is no need to open any of your applications, you’ll just have to republish them, following the instructions provided by the installation checklist.

System Requirements Changes

A couple of changes were introduced to the system requirements, more specifically, to the supported application servers.

Previously supported application servers were not capable of running on top of Java 8 and had to be replaced. The following is a list of the application servers that stopped being supported as of OutSystems Platform 9 Bali:

  • JBoss EAP 6.3;

  • JBoss Community 7.1;

  • WebLogic 11g.

To ensure customers have a solid upgrade path, we’ve added support for the following application servers:

  • JBoss EAP 6.4 (for customers upgrading a JBoss EAP 6.x installations);

  • Wildfly 8.2 (for customers upgrading a JBoss Community 7.1 installations).

Customers upgrading an Oracle WebLogic installation will not have a supported upgrade path on Bali GA date although, a revision patch enabling this scenario will be released shortly after.

Upgrade Path

Extensions Upgrade

Upgrading existing extensions should pose no issues due to Java retro-compatibility, although some scenarios might cause compilation errors, such as:

  • Usage of deprecated APIs;

  • Changes in Java internal packages;

  • Changes in system interfaces.

Make sure you check the ‘Side Effects and Breaking Changes’ document for OutSystems Platform 9 Bali, where we describe possible solutions for these issues.

Platform Upgrade

Platform upgrades should be made using a clean state machine following the installation checklist, supplied with the Platform binaries.

Custom configurations you have added to your application server should be migrated to the new installation. Migrating configurations from JBoss EAP 6.3 to JBoss EAP 6.4 should be straightforward. Although Wildfly 8.2 configurations are similar to JBoss Community 7.1 you should check the 'Wildfly 8 project documentation' to ensure your specific settings are migrated smoothly.

Upgrades with No Downtime

To perform a Platform upgrade with no downtime we advise you to follow the Balanced Platform Upgrade’ technote.

This is important because, after installing the Platform on a node, applications will stop working there once you run the Configuration Tool. By following this technote, you will be able to keep your applications running and ensure you won’t have any issues using them.

Breaking Changes

Breaking changes and side effects are listed in the Side Effects and Breaking Changes document of OutSystems Platform 9 Bali.

To try OutSystems Platform 9 Bali, head to the download section and install it!

If you have additional questions feel free to reply to this forum post!

Thank you,

Ricardo Neto