Concurrency control in REST API with Spring Framework
In modern software systems, it is not uncommon to have hundreds or thousands of users independently and concurrently interacting with our resources. We generally want to avoid situations when changes made by one client are overridden by another one without even knowing. In order to prevent our data integrity from being violated we often use […]
Spring I/O 2018 recap
Last week I had a chance to attend Spring I/O 2018. It was my first time at Spring I/O conference ever, and it was an honor to share the stage with so many fantastic speakers. The number of participants was doubled comparing to the last year. 1000 people from 46 countries gathered in the wonderful […]
Microservices – what you give and what you get
If you read my article about semantic diffusion in microservices you might recognize the title. This article is kind of a continuation, and its aim is to emphasize that having microservices and benefitting from them is possible only when we put enough effort to handle both organizational and distributed computing issues we are about to […]
Semantic diffusion of microservices
It has been a couple of years already that we can hear microservices buzzword being mentioned in the IT world. “We have microservices doing this“, “Oh, let’s write a microservice doing that“. If you are completely new to this term you might event think that these guys are smart, experienced, and they are up to […]
Dynamic configuration management in microservice architecture with Spring Cloud
In the scary world of monolithic applications we succeeded in working out numerous design patterns and good practices. When we move towards distributed systems, we should apply them carefully, bearing in mind that in microservice infrastructure we need to deploy, scale, and reconfigure our systems much quicker. In this article I will focus on configuration […]
Convenience Factory Methods for Collections in Java 9
Java 9 doesn’t bring as dramatic changes to the way of coding as its predecessor did but surely we will have some fancy features, one of which I would like to present to you in this article. When I started coding in Groovy about 5 years ago, I was amazed by the collections support there. […]
Following OOP principles – hermetization
Have you ever looked at the code that you had written couple of months ago and asked yourself: “who could leave such a mess here?” Have you ever been so lazy that you didn’t think of what accessors/mutators you need, simply hitting “Generate getters and setters” for your entity in IDE? Or maybe you have […]
Transaction synchronization and Spring application events – understanding @TransactionalEventListener
The aim of this article is to explain how @TransactionalEventListener works, how it differs from a simple @EventListener, and finally – what are the threats that we should take into account before using it. Giving a real-life example, I will mainly focus on transaction synchronization issues not paying too much attention neither to consistency nor application […]
Example of multiple login pages with Spring Security and Spring Boot
I just finished preparing a Spring Security configuration for a Zuul proxy in my company when a new requirement in this area came in from the business. We needed to have different login pages for different URLs being accessed within the same application. I’m not a front-end guy, so my first thought was to enhance […]
Defining bean dependencies with Java Config in Spring Framework
I found it hard to choose a topic to describe in my first blog post. I wanted it not to be too trivial and too complicated neither. It turned out that there are many basic concepts in Spring Framework that can be confusing. Java-based configuration is one of them. I hear my colleagues asking from […]