Recent Articles

Lazy Evaluation of Gradle Properties

Writing Gradle build tasks is often easy and straight forward, but as soon as you start to write more generic tasks for multiple modules or projects it can get a little tricky.

Read more

Assumptions and Conditional Test Execution with JUnit 4 and 5

Sometimes, a test should only be run under certain conditions. One such case are integration tests which depend on a certain external system.

Read more

Robust Java Object Mapping With Minimal Testing Overhead Using reMap

Object mapping is a necessary and often unloved evil in software development projects. To communicate between layers of your application, you have to create and test mappers between a multitude of types, which can be a very cumbersome task, depending on the mapper library that is used.

Read more

Event Messaging for Microservices with Spring Boot and RabbitMQ

In a microservice environment or any other distributed system you may come upon the requirement to exchange events between services. This article shows how to implement a messaging solution with RabbitMQ.

Read more

A Guide to Formatting Code Snippets in Javadoc

Sometimes you want to add code snippets to our Javadoc comments, especially when developing an API of some kind. But how do you mark the code snippet so that it will be rendered correctly in the final Javadoc HTML, especially when special characters like '<', '>' and '@' are involved?

Read more

Consumer-Driven Contracts with Pact, Feign and Spring Data REST

When thinking about integration testing in a distributed system, you quickly come across the concept of consumer-driven contracts. This blog post gives a short introduction into this concept and a concrete implementation example using the technologies Pact, Spring Boot, Feign and Spring Data REST.

Read more