As our last blog for the year, here’s a quick tip to improve the exception handling in your Spring-MVC applications! Cross-controller error handling using ControllerAdvice In a Spring-MVC web application it’s common to use a class annotated with @(Rest)ControllerAdvice to handle uncaught exceptions via @ExceptionHandler methods. This way it’s easy to produce different HTTP responses […]
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 […]
Get the Inside Scoop on Trifork’s Podcasts!
We’re thrilled to announce our new series of blog posts based on our live Ask Me Anything (AMA) sessions! At Trifork, we often host renowned software experts as part of our collaborative initiative with GOTO Conferences. During these sessions, GOTO experts are invited to answer questions on topics related to programming and software. These subjects […]
Kotlin – just another programming language?
Recently, I attended the Kotlin programming language conference, aptly named KotlinConf, to learn about the latest developments in the language. Naturally, my first idea for this blog was to list the top takeaways of the talks I attended. However, I thought it could be more useful for those who aren’t familiar with Kotlin yet to […]
Parallel Short-Circuiting With Reactive Programming
Dealing with asynchronous and parallel validation There are scenarios in Reactive Programming when the outcome of a code block is depends on several separate independent expressions (jobs). If any of them goes wrong (or right depending on the problem), you can already decide about final result and you don’t need to wait for the outcome […]
Top take-aways from TEQNation
Last week, on May 15, I had the pleasure of attending the TEQNation conference. While I had been to this NLJUG event before, it felt like my first time again. Not only because of the amazing new location—the industrial chic De Fabrique—also because it’s my first time attending as a budding programmer. Although, given the […]
Spring Framework: Becoming the source of modern Java
A retrospect with Trifork’s CTO of Enterprise Application Development Joris Kuipers It may be surprising to realise that it’s been 16 years since the Spring Framework was first released. From its beginnings as an inversion of control container shared with a tight-knit community, Spring has evolved to a fully-fledged ecosystem of its own. No longer […]
Retry functionality in a reactive programming context
Reactive programming can be used to solve a lot of different use cases. Forinstance, reactive programming can be really helpful for cases where timing is an issue. An example of such a case is retry logic with delay or backoff functionality. Let’s have a look at some different implementations using Project Reactor (https://projectreactor.io) for Java. […]
Leaving a Java legacy behind
As with a house, software applications require maintenance too. Otherwise, you risk the digital equivalent of rot: bit-rot. Often, the maintenance is done like with a house: Superficially to make it look nice again with a new look-and-feel, a new colour scheme (a paint job) and a few new stock photos. But every once in a […]
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 […]