Browsed by
Tag: quarkus

Quarkus Tip: Testing a Google Cloud function

Quarkus Tip: Testing a Google Cloud function

I recently contributed a PR to Quarkus that contains a testing framework for Google Cloud functions. Quarkus supports creating Google Cloud functions three different ways: Using the Google Cloud API. Using a Quarkus HTTP extension: RESTEasy, Reactive routes, Servlet, Spring Web. Using Funqy, the cloud provider agnostic Quarkus function API. But until now, to test these functions, you had to package them and launch them locally via the function invoker provided by the Google SDK. The function invoker is a…

Read More Read More

Google Cloud Functions 2nd gen

Google Cloud Functions 2nd gen

Google has just released in beta the second generation of Google Cloud Functions. For those who are not yet familiar with Google Cloud Functions you can read my article Quarkus and Google Cloud Functions. This second generation brings: A longer maximum processing time: 60mn instead of 10mn. Instances up to 16GB/4vCPU instead of 8GB/4vCPU. The ability to have instances always available. Better concurrency management: up to 1000 concurrent calls per instance. CloudEvents support via EventArc: more than 90 events available….

Read More Read More

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

Quarkus, jlink and Application Class Data Sharing (AppCDS)

Quarkus, jlink and Application Class Data Sharing (AppCDS)

Quarkus is optimized to start quickly and have a very small memory footprint. This is true when deploying in a standard JVM but even more so when deploying our application as a native executable via GraalVM. Quarkus greatly facilitates the creation of a native executable, thanks to this, a Quarkus application starts in a few tens of milliseconds and with a very small memory footprint: a few tens of MB of RSS (Resident Set Size – total memory usage of…

Read More Read More

Quarkus and Testcontainers

Quarkus and Testcontainers

If you did not know Quarkus, here is an introductory article: Zoom sur Quarkus (french). Quarkus offers Unit Test (TU) support with JUnit 5 via the @QuarkusTest annotation, documentation for Quarkus TU support can be found here. Here is an example of a TU from the Hibernate ORM Quickstart : Conventionally, you can run tests using an embedded database, Quarkus supports the H2 BDD for that. But if we want our tests to run in an environment as close as…

Read More Read More