
adesso BLOG
21.06.2024 By Murat Fevzioglu
Virtual Threads in Java
The development of the virtual threads, also known as Project Loom, began in late 2017. The final implementation brings with it two major changes. Virtual threads now support thread-local variables by default, and they are now monitored by default and observable via the new thread dump. This blog post introduces virtual threads and explains how they are used in Java.
Read more19.06.2024 By Daniil Zaonegin
Create .NET Blazor Hosted App with the new Blazor Web App Project Template (in .NET 8)
Blazor is a .NET front-end framework for creating an interactive web UI with C# and not JavaScript. This offers many advantages, such as being able to share code between the back-end and front-end. With Blazor, you no longer have to use two different languages, JavaScript for the frontend and C# for the backend. This makes it easier to reuse code and write consistent applications in a familiar language environment. In addition, many errors can be resolved at compile time and no longer occur dynamically at application runtime, as was the case in JavaScript.
Read more11.06.2024 By Merlin Bögershausen
Automated modernisation - Part 2
Open Rewrite offers a variety of migrations for common libraries and frameworks. They significantly reduce the migration effort and make the application repeatable. But how can developers provide recipes for their own frameworks? In the second part of my blog post on automated modernisation, I provide an introduction to the development of Open Rewrite recipes.
Read more31.05.2024 By Merlin Bögershausen
Automated modernisation - Part 1
This blog post is the first of three parts whose overarching theme is the open source framework Open Rewrite, which can be used to automate large-scale source code migrations. In this first part, I will briefly outline the motivation for using Open Rewrite. I will describe how existing migrations can be used to modernise a software product.
Read more11.03.2024 By Daniil Zaonegin
Diagnosis of thread pool defects
.NET applications use threads to execute their work instructions. A thread pool bottleneck (also known as "thread pool exhaustion") occurs when a thread is requested from the thread pool but this can no longer provide one. In my blog post, I show you the problems associated with this and how you can analyse and solve these problems.
Read more21.02.2024 By Kenneth May
Linux for developers: Navigation in the command line
Linux is an indispensable tool in the world of software development. In my blog post, I show the importance of Linux in software development. I go into the Linux file system, the differences to Windows, and basic commands such as cd, mkdir, and rm and give an overview of authorisations.
Read more06.02.2024 By Merlin Bögershausen
Hidden Heros in Java 21
The Java language and JDK ecosystem are full of hidden gems. In order to find them, you have to take a closer look at different JDK Enhancement Proposals (JEPs). In this blog post, I will take you on a journey of discovery where you will learn about code snippets in javadoc and find out how to make an application start more quickly with the help of AppCDS.
Read more05.02.2024 By Bjarki Sigurðsson
The past, present and future of Next.js
Next.js has been the #1 React framework for several years. The new App Router introduces some fundamental changes which may put the framework’s leading position at risk. In this post, we share our initial experience from an ambitious e-commerce project with one of our customers.
Read more31.01.2024 By Henrik Grosskreutz
Consistent delivery of integration events thanks to the use of an event store and Spring application events
Services have to inform each other about important business events, such as price changes or order events, in microservice architectures. These integration events are transmitted using methods such as message queues or HTTP POST requests. Guaranteeing consistency is critical to ensuring that events are only dispatched if the business logic in the sending service is successfully completed. The ‘event store’, which was inspired by Vaughn Vernon, does just that. In my blog post, I describe an implementation scenario involving Java using Spring and Spring Data JPA, where Spring application events play a different role than integration events.
Read more