Written by Phil Hardwick
Everytime I read about Maven’s release process it makes me groan. There must be a better way than this. Something less manual, with less…
There’s a lesser known way of specifying which method in a Spring controller should be executed based on the query parameters sent to it…
Bootstrap is a well-known framework for quickly building websites and apps. The way to customise it is well documented - override the SASS…
In my last post I introduced how to create a custom security rule in Mirconaut which allows you to secure an endpoint by requiring a…
Micronaut comes with a few useful security rules such as ip filtering, url pattern matching and an annotation inspecting rule. However…
What is GitOps Before saying why GitOps is so useful, I should explain what it is. At its most basic, GitOps is defining all the…
How do I test this? This is a common question I ask myself when writing a new feature. Sometimes it’s not so easy and you need to truly…
This post will show how to easily observe exceptions in a Spring Boot application, using Honeycomb and Aspect Oriented Programming…
In Mettle , Pact was used to break up deployments and releases so that big bang releases were avoided. Previously testing had been done…
So you’ve got your service worker, your manifest.json and your app works offline, but how do you get your users to install the app? This…
The reasons for choosing an architecture can be so varied. We take into account customer needs, stakeholder requirements, legislation and…
Publishing API documentation across a whole system of microservices can be difficult. The services are small and split up, they may be…
At Mettle, our system is event driven. Services communicate and collaborate by sending events. But when information is sent asynchronously…
As software engineer it feels so important to write code or microservices in a consistent way. This helps maintainability and…
Here’s an example of integration testing Micronaut Kafka Streams applications - https://github.com/PhilHardwick/micronaut-avro-streams…
When unit testing if you get this error: It means you may have some leftover state from a previous run of your tests - particularly if you…
credit: Manu Cornet Second chances are a wonderful thing. In software a clean slate offers the opportunity to do things better, to improve…
Here are all the ways you can configure Micronaut Kafka , both regular applications and streams, to use particular serialisers and…
Update - 18th June 2020 As of Confluent version 5.4.0 it’s best to use Confluent’s built in mocking system. Simply define your schema…
When testing Kafka in Micronaut you can use embedded Kafka or use Testcontainers . Configuration To use embedded Kafka set these…
When configuring the test of a Spring Boot application, you may be used to using an application properties file e.g. in with the same…
Paging the results of REST API calls is a good opportunity to show recursion and how it differs from just using loops. Recursion requires…
Feign clients make it easy to write restful client based on the Spring annotations you already know. It also includes integrations with…
When learning a new language it’s always interesting to see how it changes your perspective. It can show you how little you know, show you…
Race conditions are annoyingly difficult to deal with. When it works sometimes but not all the time, and timing of events needs to be…
It was both worrying and very interesting - Kafka went down and wouldn’t restart. I experienced not being able to restart kafka because of…
When using microservices, each service is standalone. It can use whichever technology, language, version that it needs to, in order to…
When using the Spring Pact provider library provided by DiUS, verifying pacts that your Spring applications provide is super easy. The…
When you are testing code which uses a database in Spring tests there are a few options: use an embedded database like h2 which emulates…