In a recent blog post, the Spring Security team announced that they’ll be deprecating the configuration setup where you subclass the WebSecurityConfigurerAdapter. Instead, you simply define beans that allow you to set up the SecurityFilterChain by calling methods on the HttpSecurity object, and configure the WebSecurity object using a configurer. These options have been available […]
The case of the lost id field
Chapter 1: a new case Morning arrived like a Windows Update you couldn’t postpone anymore, forcing you to accept a harsh new reality you didn’t ask for. As I biked by the Amstel river I wondered what the day would bring: I was visiting a client that was porting their old Spring-based monolith over to […]
What’s in a name?
Those that have followed this blog for some time, know that Trifork Amsterdam, and especially its precursors, are not unfamiliar with challenges when it comes to naming.Now that we have been in the larger Trifork family for some time, it does look like our corporate naming challenges have settled down quite a bit. That does […]
Distributed Tracing in an Axon Application
The Giftcard-demo demonstrates Axon Commands, Events and Queries either together or in a distributed fashion. Now with the tracing extension, these messages and context information can be visualised to get insight into the application behaviour. Requirements to run the demo You will need git, docker and maven. We will checkout out the code, build the […]
Centralized metrics with Stackdriver Prometheus Exporter
Google does not currently charge for monitoring data when it comes to GCP metrics. Therefore, if you want to monitor operations of Google Cloud Platform (GCP) services, such as: Compute Engine, Cloud SQL, Cloud Dataflow and Cloud Pub/Sub, using Google’s Cloud Monitoring service – Stackdriver – is a perfect choice…
Dockerising your legacy integration tests
As most of you will know, every now and then you can expect the question ‘Can you help fix something on this ancient project?’ According to the Universal Software Ageing table, that means anything from last month to much, much older. I got such a question recently, being in-between projects, and this project fell squarely into […]
Spring Data Native Queries and Projections in Kotlin
This blog describes the solution to mapping native queries to objects. This is useful because sometimes you want to use a feature of the underlying database implementation (such as PostgreSQL) that is not part of the JPQL standard. By the end of this blog you should be able to confidently use native queries and use […]
Refactoring from Elasticsearch version 1 with Java Transport client to version 6 with High Level REST client
Every long running project accrues technical debt. It may be that the requirements today have evolved in a different direction from what was foreseen when the project was designed, or it may be that difficult infrastructure tasks have been put off in favor of new functionality. From time to time, you need to refactor your […]
How to send your Spring Batch Job log messages to a separate file
In one of my current projects we’re developing a web application which also has a couple of dozen batch jobs that perform all sort of tasks at particular times. These jobs produce quite a bit of logging output when they’re run, which is important to see what has happened during a job exactly. What we […]
Collecting data from a private LoRaWAN sensor network into Elastic
Introduction to LoRaWAN and ELK Why LoRaWAN, and what makes it different from other types of low power consumption, high range wireless protocols like ZigBee, Z-Wave, etc … ? LoRa is a wireless modulation for long-range, low-power, low-data-rate applications developed by Semtech. The main features of this technology are the big amount of devices that […]