Comment

Grails

Grails 4 represents a significant upgrade, with the framework now rebased on top of an updated minimum set of dependencies including:

Spring 5.1

Spring Boot 2.1

Java 8

Hibernate 5.4

Groovy 2.5

Gradle 5

In addition, Micronaut is now included as part of Grails as the parent ApplicationContext, allowing any Micronaut feature, whether it be the declarative HTTP client or the Kafka client, to be used within a Grails 4 application. In fact the Micronaut HTTP client is now considered the supported HTTP client for use within Grails applications.

Microservices

I have been working on a Micronaut project which involves multiple micro services for most of 2019. We are going to support a correlation id to help us understand logs generated by different services. MDC comes to the rescue.

Mapped diagnostic context (MDC) provides a simple key/value mechanism to capture small amounts of custom diagnostic data. Since it's built into the logging framework, it's really easy to add values from the MDC to each log line. MDC is supported by log4j, log4j2, and SL4J/logback.

Gradle

Since Gradle 5 we can easily use a bill of materials (BOM) in our build file to get recommended dependency versions. The dependency versions defined in the BOM are dependency constraints in Gradle. This means the dependencies we define in our build that are part of the BOM don't need a version, because the version is resolved via the dependency constraint that is defined in the BOM.