Blog:

Hibernate Schema-based Multi-Tenancy using StatementInspector

When using schema-based multi-tenancy with Hibernate, a simple way to define the schema is using a MultiTenantConnectionProvider where we call SET SCHEMA on the connection. However, this approach does not work with certain databases like MS SQL.

When using schema-based multi-tenancy with Hibernate, a simple way to define the schema is using a MultiTenantConnectionProvider where we call SET .....

08.01.2024

How do you get a Spring Bean without Dependency Injection?

Sometimes, you want to use a Spring Bean in a class that is not a Spring Bean, but then dependency injection doesn’t work. This article shows a way to get around that limitation.

Sometimes, you want to use a Spring Bean in a class that is not a Spring Bean, but then dependency injection doesn't work. This article shows a way to.....

04.01.2024

2023 – What a Year!

I’ve been a software developer since 1995, but 2023 was by far the most exciting year of my IT career. Let’s look back on projects, conferences, and recognitions and an outlook to 2024.

I've been a software developer since 1995, but 2023 was by far the most exciting year of my IT career. Let's look back on projects, conferences, and .....

27.12.2023

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?

When using the publish-subscribe domain with JMS we often want to use durable subscriptions. But how can this be done with Spring Boot?.....

12.12.2023

Testing Spring Boot JMS with ActiveMQ Artemis and Testcontainers

Currently, I’m teaching JMS with Spring Boot at the University of Applied Science in Bern, Switzerland.
We use Apache ActiveMQ Artemis as the JMS message broker. But how can we test our Spring Boot application?

Currently, I'm teaching JMS with Spring Boot at the University of Applied Science in Bern, Switzerland. We use Apache ActiveMQ Artemis as the JMS .....

09.12.2023

Resolving SonarQube Rule S2699 with Karibu Testing Assertions 

I’m using Karibu Testing for testing my Vaadin applications which work perfectly. But recently, I encountered a problem when I analyzed my code with SonarQube. Karibu Testing’s assertion methods are not recognized by SonarQube.

I'm using Karibu Testing for testing my Vaadin applications which work perfectly. But recently, I encountered a problem when I analyzed my code with .....

10.06.2023

Spring boot, angular and JWT authentication

In preparation for a potential customer project, I had to refresh my knowledge of Angular. The best way to do that is to create a small demo application. I used Angular 15 with Spring Boot 3 and JWT to secure the REST API. Often an authorization server like Keycloak is used for authorization and token generation. However, I tried to keep the example as simple as possible and generate the JWT as part of the application.

In preparation for a potential customer project, I had to refresh my knowledge of Angular. The best way to do that is to create a small demo .....

19.01.2023

Vaadin Keycloak OAuth2 Integration

Keycloak is an open source identity and access management solution. This article shows how to configure Vaadin and Spring Security to use OAuth2 with Keycloak.

Keycloak is an open source identity and access management solution. This article shows how to configure Vaadin and Spring Security to use OAuth2 with .....

21.11.2022

Automate Docker with GitOps & Portainer

GitOps is a branch of DevOps that focuses on using git repositories to manage infrastructure and application code deployments. The main difference between the two is that in GitOps, the git repository is the source of truth for the deployment state, while in DevOps, it is the application or server configuration files.

GitOps is a branch of DevOps that focuses on using git repositories to manage infrastructure and application code deployments. The main difference .....

13.10.2022

Build Secure Web Apps with Vaadin & Spring Boot

Almost all web application frameworks include their security-relevant functions and provide the respective interfaces to external security solutions. As a Java-based full-stack framework, Vaadin is compatible with the most popular Java security solutions.

Almost all web application frameworks include their security-relevant functions and provide the respective interfaces to external security solutions. .....

03.10.2022