Browsed by
Year: 2021

Quarkus Tip: How NOT to create a Quarkus extension

Quarkus Tip: How NOT to create a Quarkus extension

When you develop an application composed of several components, it is frequent to want to share some code in an external library, for example via an external JAR integrated as a dependency of your components. Quarkus is an extension framework, each extension it offers allows to integrate a technology (BDD client, ORM framework, …) to Quarkus, so it can be configured globally, used easily via CDI (dependency injection), work with GraalVM, … Quarkus has its own build system, via its…

Read More Read More

Quarkus and the Google Cloud Functions

Quarkus and the Google Cloud Functions

Quarkus is a microservice framework designed for the cloud and the containers. It is designed to have a reduced memory usage and the shortest possible startup time. It is mainly based on standards (Jakarta EE, Eclipse MicroProfile, …) and allows the use of mature and widespread Java libraries via its extensions (Hibernate, RESTeasy, Vert.X, Kafka, …). Quarkus has been thought for the cloud since its inception, it allows the development of Cloud Ready applications (as defined by the principle of…

Read More Read More

Quarkus Tip : Select a bean at runtime

Quarkus Tip : Select a bean at runtime

When developing an application, it is very common to have several implementations of a servicen and to have to select one or the other depending on the environment on which it is deployed. A classic example: a service that calls an API of an external partner that we want to call only in production, and therefore mock on the development and test / UAT / staging environments. Quarkus tries to move to build time, via its Maven or Gradle plugin,…

Read More Read More

I am a Google Developer Expert (GDE) on Google Cloud Platform (GCP) technologies

I am a Google Developer Expert (GDE) on Google Cloud Platform (GCP) technologies

I have been recently recognized as a Google Developer Expert (GDE) on Google Cloud Platform (GCP) technologies. First of all, what is a GDE? It is a person who does not work at Google, and who is recognized for his activity and expertise on a Google technology. So it’s a recognition on a technical expertise and on an activity in the community on the subject. How did it happen for me? For some time, I have been a Google Cloud…

Read More Read More

Java 17 : what’s new ?

Java 17 : what’s new ?

Now that Java 17 is features complete (Rampdown Phase Two at the day of writing), it’s time to walk throught all the functionalities that brings to us, developers, this new version. This article is part of a series on what’s new on the last versions of Java, for those who wants to read the others, here are the links : Java 16, Java 15, Java 14, Java 13, Java 12, Java 11, Java 10, and Java 9. This release doesn’t contain many JEPs,…

Read More Read More

Debugging a GraalVM native image with GDB

Debugging a GraalVM native image with GDB

In a previous article, I mentioned how to profile a native GraalVM image with perf. If you are not familiar with the GraalVM tool and the limitations it brings, I suggest you reread my article, or at least the beginning of it. As seen in my previous article, a native image will contain a minimalist JVM, called SubstrateVM, which does not support JVM-TI, and therefore does not allow the use of Java debuggers. To debug a native image, you therefore…

Read More Read More

Introduction to Quickperf

Introduction to Quickperf

QuickPerf is a test library for Java to quickly evaluate and improve the performance of your application. The great interest of Quickperf lies in the fact that this is done via unit tests, which allows, after detecting and correcting a performance problem, to have non-regression tests so that it never comes back! You can then continuously evaluate the performance of your application via your continuous integration environment! Quickperf can be used to simply measure performance characteristics, or to assert on…

Read More Read More