Blog Layout

Securing Symmetric Encryption Algorithms in Java

In our connected world, securing digital data has become an utmost priority. With the wide spread of Java applications in various sectors, from banking to healthcare, we must emphasize the importance of encryption. Encryption is converting readable data or plaintext into unreadable data or ciphertext, ensuring that even if encrypted data is intercepted, it remains inaccessible to unauthorized individuals. The …

Read More »

When Should we Move to Microservices?

Sometime ago I wrote about modular Monoliths and the value of modern Monolithic architecture. One of the more interesting discussions that came out of that post (and video) is the inverse discussion: when is it right to still pick Microservices? Like any design choice, the answer is subjective and depends on many things. But there are still general rules of …

Read More »

Durable Subscription with JMS and Spring Boot

When using the publish-subscribe domain with JMS, we often want to use durable subscriptions. But how can this be done with Spring Boot? What is JMS? The Java Message Service (JMS) API is a standard for creating, sending, receiving, and reading messages. It enables distributed communication that is loosely coupled, reliable, and asynchronous. JMS supports two message delivery modes: Point-to-Point …

Read More »

Revolutionising Java Collections: The Advent of Sequenced Collections in Java 21

Java has been a staple in the software development world for decades, renowned for its robustness and vast ecosystem. However, some seasoned Java developers have encountered limitations within its collections framework, particularly when dealing with ordered elements. Enter JEP 431. JEP 431, part of the Java Enhancement Proposal system, represents a significant advancement in Java’s ongoing evolution. The Java Enhancement …

Read More »

Foojay Podcast #38: Java in the Cloud

Java was born in 1995, when the internet as we know it today didn’t exist yet. Cloud servers, Docker, Kubernetes, distributed systems, scaling up and down… these things are now part of our daily job, but Java wasn’t originally designed for it. In this episode, we want to learn if the recent evolutions in OpenJDK, and ongoing related projects, will …

Read More »

Five Apache Projects You Probably Haven’t Heard Of (Yet)

In early 2021, I started to work on the Apache APISIX project. I have to admit that at the time I had never heard about it before. As a result, in this article, I’d like to introduce some Apache projects that are less well-known than HTTPD or Kafka. Apache APISIX APISIX is an API Gateway. It builds upon OpenResty, a …

Read More »

Book Review: Modern Frontends with htmx

People who follow me probably know I have a big love for user interface development with JavaFX (for desktop), and Vaadin (for browser). But as always, there are different solutions for every challenge, and building a web user interface with Java can be done with other frameworks. htmx seems to be one of those hot new rising stars, and I …

Read More »

Handling security vulnerabilities in Spring Boot

In the world of software development, managing dependencies is a core part of creating strong and secure applications. Spring Boot, a favorite among Java developers, makes building applications easier, but there’s more to it than meets the eye. Keeping your dependencies in check is crucial to ensure that your Spring Boot projects run smoothly and remain resilient in the face …

Read More »

lntelliJ IDEA: Selectively Commit Changes to a File

Sometimes you’re making multiple changes to a file that you don’t want to commit together. For example, if you’re working on a new feature, but notice some other small things you want to fix. If these changes are in separate files, we can commit each file separately. But what if they’re in the same file? In IntelliJ IDEA (as of …

Read More »