Kotlin is a very popular programming language that targets the JVM (amongst other environments). Kotlin has experienced a surge in popularity the last few years making it the most popular JVM language, except for Java of course. Having Kotlin in a Quarkus based project can give us more benefits whilst still having the possibility of using other extensions from the Quarkus ecosystem.
MongoDB is a well known NoSQL Database that is widely used and there are different ways to use its raw API which can be cumbersome as you normally need to express your entities and your queries as a MongoDB
Document. Luckily, with the Panache MongoDB extension within Quarkus, alof of the querying has been simplified since its built on top of the MongoDB Client extension.
MongoDB with Panache provides active record style entities (and repositories) like you have in Hibernate ORM with Panache and focuses on making the entities more seamless to write queries against.
With Panache, Quarkus community took…
Quarkus comes with a toolchain enabling developers rapid start their development with its extensions to all major IDEs. One of its prominent and ease of use features is its ability to perform live reload in development mode, offering the developer to change implementation on the fly without restarting. With the new version 2.0, developers can do more. There is now an interactive shell in development mode offering a set of different options for more granular control of what to run in live mode. Quarkus also comes with a CLI binary which enables further rapid development and project setup.
The MicroProfile® 4.1 version is getting released and is soon available for use. One might what does it exactly entail and what is MicroProfile® about exactly? What are the cons of having a joined effort in providing uniform and coherent API specifications across several vendors? In this guide I will demonstrate a few examples about how it can look in practice with Quarkus as a chosen vendor implementation.
If you are already on a Vert.x based application, or any type that make use of reactive programming libraries within Java, perhaps the missing piece of the puzzle is having that cloud native and MicroProfile compliant stack like Quarkus and its eco system added to your application. Whether its Jakarta EE, Spring, Vert.x or some other in house produced stack, there are a few ways.
This guide will mostly swift through how one would go by coming from a native Vert.x stack and what can be expected when moving over.
What do Vert.x and Quarkus have in common?
There are several ways to go by application data caching within Quarkus and the OOTB solution is usually relying on a local application cache. How could you go by abstracting that layer and have a distributed cache that you can interact as if it were local configured cache? We will be using Infinispan as a distributed cache, CDI interceptor beans and Infinispan client to show one way.
Currently this application cache fraction is considered preview in the eyes of the community.
This technology is considered preview.
As one might know, there are a set of different reactive java libraries. What differs Mutiny from the lot? Its API, of course. Reactive programming can be a foreign world and mutiny is here so help with that learning curve, making reactive code more accessible and readable. Here a few pillars on which the SmallRye Mutiny foundation lies on.
As said above, asynchronous is hard to grasp for most developers, and for good reasons. Thus, the API must not require advanced knowledge or add cognitive overload. It should help you design your logic and still be intelligible in 6 months.
This guide demonstrates how your Quarkus application can use SmallRye GraphQL, an implementation of the MicroProfile GraphQL specification together with the reactive the Hibernate Panache extension together with a PostgreSQL database. It presents in short a set of movies and actors with their corresponding relations and mutational operations.
There are numerous ways running your API or Smoke Tests in your pipelines. Sometimes its just a matter of providing the right set of curl commands to your deployed Kubernetes microservice. However, depending on the nature of the application, you’d might do it differently and there are several useful tools like running Helm with Newman and a postman collection to perform these type of activities.
One might want to automate these series of test collections with Newman, and one might be interested running them locally . It’s all depending on your needs and requirements. …
Creating a JPA based CRUD application within quarkus is quite a seamless process when having the Hibernate ORM mapper available to you. Hibernate ORM is the de facto standard JPA implementation and Quarkus offers an extension called Panache making the different mappings even more trivial when running in a reactive context. This article presents a few examples how it could look like integrating this parts together using the active record pattern.