The Eclipse MicroProfile is a specification for a set of APIs appropriate to building MicroServices. The project has existed for over a year now and is something that Payara is highly committed to. Readers who like to keep up-to-date with news from the Java community will probably already be aware of how the project has progressed in leaps and bounds lately. It's been a long road from version 1.0 to version 1.1 of the specification but, in that time, a lot has developed and there are multiple APIs currently being worked on.
Eclipse MicroProfile 1.1
The new MicroProfile adds just one new specification - the 1.0 release of the Config API. The Config API was conceived in MicroProfile to standardise runtime configuration of applications since it's very common for applications to need different settings for different environments; URLs for dependent services, for example, are likely to change between test and production.
The Config API addresses these problems by using 3 default ConfigSources: a properties file packaged with the application, environment variables and system properties. Further custom sources can be configured in addition to these like, for example, a ConfigHub server which can allow configuration to be managed independently of the application lifecycle. We will fully cover the details of how to use the API in a later blog.
Ending Support for JDK 7 in Community Builds
What this new MicroProfile release also brings with it is a requirement for JDK 8. It was decided at a very early stage within MicroProfile that the specification would be focused on the future and rapid innovation. Since JDK 7 was already over 12 months past its end-of-life when the MicroProfile project first came into being, it was natural to focus only on JDK 8. Until now, the only APIs included in the MicroProfile specification also happened to support JDK 7, so this was never an issue.
Now that JDK 8 has become a requirement to support the Config API, our intention is to support Config across all Payara Server editions. This means that all future community releases of Payara Server and Payara Micro will require JDK 8.
For support customers, we will still provide JDK7-compatible builds of Payara Server and Payara Micro which do not include Config, and therefore can be used with JDK 7 if necessary. Payara Support offers a full 10-year lifecycle, meaning that builds of Payara 4.x which run on JDK 7 will be available until 2024 for customers who buy extended support.
In future releases, we are looking forward to supporting many more new MicroProfile APIs, including Fault Tolerance, HealthChecks and JWT role-based access control; the official MicroProfile website has a comprehensive list of active projects. If you are a user of Payara Server or Payara Micro who still requires JDK 7, our support services will continue to provide builds of Payara Server and Payara Micro which do not include these MicroProfile APIs and therefore can be made available with support for JDK 7.