Skip to main content

Posts

How Does New Oracle JVM Licensing Encourage Agility

What happened? #

Oracle has changed release and licensing policy for JDK:

  • The JDK still remains completely free for use. The thing that is changing is the availability of updates to specific versions of the JDK.
  • The only free for use in production JDK binary available from Oracle (as of JDK 11) will be the OpenJDK binaries. These will only have public security patch and bug fix updates for six months, until the release of the next version.
  • There is no free LTS release of the JDK from Oracle (for use in production).
  • Users can continue to use any binary of the JDK (the Oracle version or OpenJDK one) indefinitely. They will not, however, continue to get updates to these JDKs once public updates end.
  • Commercial users who want to continue to get security patches and bug fixes for JDK 8 or subsequent LTS releases after public updates have ended will have three options:
    1. Purchase a commercial support contract from Oracle.
    2. Use a different binary distribution of the OpenJDK, which has security patches and bug fixes backported to it.
    3. Create their own binary distribution from the OpenJDK source code and backport updates themselves.

How does it encourage agility? #

  • Most of the companies are not willing to purchase commercial support from Oracle.
  • At the same time, they need to get latest security updates.

So, what companies have to do –- is to upgrade JDK on production environments more frequently: at least every 6 months.

Customizing REST API Error Response in Spring Boot / Spring-Security-OAuth2

Defining error format is important part of REST API design.

Spring-Boot and Spring Security provide pretty nice error handling for RESTful APIs out of the box. Although it has to be documented, especially when contract-first approach to API design is used.

It is good idea to follow some common format for error responses. But OAuth2 specification and Spring Boot format may not satisfy those requirements.

Monitoring your application locally with NewReclic

The New Relic Digital Intelligence Platform provides actionable insights to drive digital business results. You can monitor your application and infrastructure performance so you can quickly resolve issues and improve digital customer experiences.

Following instruction should help you to connect your application to NewRelic platform and customize application events sent to the platform.

Logging Policy

There are different points of view on how logging levels should be used in code. I will share mine.

My assumption is: “There should be no errors in logs when everything is fine.”