Recent Posts

GDPR compliant forget-me app with Spring Integration (Part 1): Requirements

In preparation for the enforcement of GDPR which becomes final on the 25th of May 2018, I'm creating a simple, open source forget-me app for springuni.com in compliance with Art. 17 GDPR (‘right to be forgotten’). In the first phrase I'd like to support a simple forget-me process driven by the Scatter-Gather messaging pattern using Spring Integration and RabbitMQ, althoug [...]

Continue reading»

Spring Boot 2.0 New Features: Infrastructure Changes

In my previous post, Spring Boot 2.0 New Features: The 3 Most Important Changes You Must Know About, I pointed out the one of the notable changes coming with Spring Boot 2 will be infrastructure updates. This post enumerates these updates so that you can see their impact once before you would upgrade. [...]

Continue reading»

Spring Boot 2.0 New Features: The 3 Most Important Changes You Must Know About

As a Java Developer, you know that a lot had happened last fall: Java 9 got released, Spring 5 went GA, Spring Boot saw another four milestone releases. As a Software Engineer using Java for more then 12 years and a focus area on Spring Platform, I have found two presentations highlighting the most important aspects of the upcoming Spring Boot 2 release. [...]

Continue reading»

This is how you can consume large SQS messages with JMS and Spring Boot

Spring Boot became ubiquitous in recent years and provided an opinionated way of integrating various pieces of technology. Working with JMS is no exception to that. Altought Amazon has got it own Java API for interacting with SQS, using it through JMS ensures that we'll be able to use the same piece of code with another messaging infrastructure. After taking a look at a basic [...]

Continue reading»

An introduction to HTTP/2 support in Java 9

The IETF streaming group approved the HTTP/2 protocol in 2015, sixteen years after HTTP/1.1 had been released. HTTP/2 comes with the promise of lowering latency and makes many of those workarounds obsolete which were necessary for HTTP/1.1 in order to be able to keep up with today's response time requirements. In this article, I introduce HTTP/2 briefly and how it renews the t [...]

Continue reading»

This is how you can setup a Maven project for Java 9

One of the most anticipated events of the Java world is going to be when version 9 gets released on the 21st of September*.  It'll be a game changer, no doubt about that, primarily due to its module system. It can put an end to the jar-hell we might have been facing for a long time. In this short tutorial, I'd like to show you how a new Java 9 enabled Maven project can be co [...]

Continue reading»

Building a user management microservice (Part 7): Putting it together

During writing the last six parts of this article series a lot has happened. From absolutely zero the building blocks of a user management application had been developed. In this last article, I'd like to show you how to assemble the pieces in order to get the app working. Some functionalities are still missing and I'm still working on the first release to make make it feature [...]

Continue reading»

Building a user management microservice (Part 6): Adding remember me authentication with persistent JWT tokens

Last time I added username and password based authentication with using Spring Security. Should you have missed the that, I notice here that JWT tokens were issued upon a successful login and validated for subsequent requests. Creating long-lived JWTs isn't practical, as they're self contained and there's no way to revoke them. If tokens are stolen all bets are off. For that re [...]

Continue reading»

Building a user management microservice (Part 5): Implementing authentication with JWT tokens and Spring Security

So far the business logic, data access layer and the front controllers had been build, however enforcing authentication was completely missing. As Spring Security became the de-facto standard when is comes to building authentication and authorization into a Java web application, I'll be using that. In this fifth part I show you how Spring Security can be used with JWT token [...]

Continue reading»

Building a user management microservice (Part 4): Implementing REST controllers

In the previous part the data access layer along with the repositories were implemented, before that the domain model without having to rely on any framework specific class or feature and now time has come to add REST controllers on the top of that. [...]

Continue reading»