In this article, I answer a question that I have seen asked on various forums: Will Quarkus be compatible with Jakarta EE? To understand our answer to that question, it is helpful to know the history of Quarkus and what we’re trying to achieve with it. So, please indulge me while I lay that groundwork.
A short history of Quarkus and Java EE
When Emmanuel Bernard, Jason Greene, Bob McWhirter, and I first discussed kicking off the ThornFly.x proof of concept, which would later become Quarkus, we had conversations about where Java EE (now Jakarta EE) would eventually fit. I think we all agreed that we already had the best open source implementation of Java EE in the form of WildFly and Red Hat JBoss Enterprise Application Platform (JBoss EAP). Creating yet another addition to this space seemed confusing at best. At worst, we feared that it would split our engineering and open source community efforts.
Continue reading “Quarkus and Jakarta EE: Together, or not?”
DevNation Tech Talks are hosted by the Red Hat technologists who create our products. These sessions include real solutions plus code and sample projects to help you get started. In this talk, you’ll learn about reactive Quarkus and Mutiny from Clement Escoffier and Edson Yanaga.
Continue reading Reactive Quarkus: A Java Mutiny
JBoss Tools 4.16.0 and Red Hat CodeReady Studio 12.16 for Eclipse 4.16 (2020-06) are now available. For this release, we focused on improving Quarkus– and container-based development and fixing bugs. We also updated the Hibernate Tools runtime provider and Java Developer Tools (JDT) extensions, which are now compatible with Java 14. Additionally, we made many changes to platform views, dialogs, and toolbars in the user interface (UI).
This article is an overview of what’s new in JBoss Tools 4.16.0 and Red Hat CodeReady Studio 12.16 for Eclipse 4.16 (2020-06).
First, let’s look at how to install these updates. CodeReady Studio (previously Red Hat Developer Studio) comes with everything pre-bundled in its installer. Simply download the installer from the Red Hat CodeReady Studio product page and run it as follows:
Continue reading “New features in Red Hat CodeReady Studio 12.16.0.GA and JBoss Tools 4.16.0.Final for Eclipse 2020-06”
As developers, we don’t always consider test migration when we think about adopting a new framework. Tests are important, however, because they ensure that our code meets its requirements and works as desired, especially when we add new features and functionality.
Continue reading Migrating Spring Boot tests to Quarkus
Grafana is an awesome visualization tool for seeing real-time metrics from your applications, and you can combine it with MicroProfile and similar tools to create one dashboard for multiple projects. Different projects use different names for metrics, however, so it is often necessary (and tedious) to handcraft the metrics for each project. Moreover, each project can expose its own custom metrics, and each MicroProfile vendor can also produce custom metrics, so there are many manual steps involved if you want to see all of your metrics in one place.
What if you could simply examine a running app and generate a dashboard with all of its exposed metrics? That is exactly what you can do with the MicroProfile Metrics Generator, a new open source tool that I created to dynamically generate Grafana dashboards for any MicroProfile project by capturing and monitoring all of your project metrics. Once you’ve created a dashboard, you can use it with Grafana, customize it to suit specific needs, and save it as a JSON file. You can also periodically regenerate your dashboards to bring in new metrics that you’ve exposed in your application.
In this article, you will learn how to do just that: Use the MicroProfile Metrics Generator to create a unified dashboard for all of your project’s metrics.
Continue reading “Generate automated Grafana metrics dashboards for MicroProfile apps”
At Red Hat, we do many in-person and virtual workshops for customers, partners, and other open source developers. In most cases, the workshops are of the “bring your own device” variety, so we face a range of hardware and software setups and corporate endpoint-protection schemes, as well as different levels of system knowledge.
Continue reading Automate workshop setup with Ansible playbooks and CodeReady Workspaces
The GraalVM project includes, amongst other capabilities, a component called GraalVM Native Image. GraalVM Native Image supports the delivery of Java applications as shrink-wrapped, self-contained, standalone executables, commonly referred to as Java-native images. Native images often have a smaller footprint and faster startup time compared to running the same application in the traditional way on the JVM. This is often a win for short-running applications or small, container-based services. The trade-off is usually lower peak performance for long-running programs, and higher garbage collection overheads and latencies for programs with large amounts of resident data.
We are especially interested in GraalVM-native images as an alternative back-end delivery option for applications based on Quarkus. The Java team has worked hard to ensure that Quarkus is well integrated with GraalVM Native Images. In the process, they have found that one important usability issue is the ability to debug the delivered native image.
Continue reading “Debugging GraalVM-native images using gdb”
This article is about my experience installing Red Hat Data Grid (RHDG) on Red Hat CodeReady Containers (CRC) so that I could set up a local environment to develop and test a Quarkus Infinispan client. I started by installing CodeReady Containers and then installed Red Hat Data Grid. I am also on a learning path for Quarkus, so my last step was to integrate the Quarkus Infinispan client into my new development environment.
Initially, I tried connecting the Quarkus client to my locally running instance of Data Grid. Later, I decided I wanted to create an environment where I could test and debug Data Grid on Red Hat OpenShift 4. I tried installing Data Grid on OpenShift 4 in a shared environment, but maintaining that environment was challenging. Through trial-and-error, I found that it was better to install Red Hat Data Grid on CodeReady Containers and use that for my local development and testing environment.
In this quick tutorial, I guide you through setting up a local environment to develop and test a Quarkus client—in this case, Quarkus Infinispan. The process consists of three steps:
- Install and run CodeReady Containers.
- Install Data Grid on CodeReady Containers.
- Integrate the Quarkus Infinispan client into the new development environment.
Continue reading “Develop and test a Quarkus client on Red Hat CodeReady Containers with Red Hat Data Grid 8.0”
In just a matter of weeks, the world that we knew changed forever. The COVID-19 pandemic came swiftly and caused massive disruption to our healthcare systems and local businesses, throwing the world’s economies into chaos. The coronavirus quickly became a crisis that affected everyone. As researchers and scientists rushed to make sense of it, and find ways to eliminate or slow the rate of infection, countries started gathering statistics such as the number of confirmed cases, reported deaths, and so on. Johns Hopkins University researchers have since aggregated the statistics from many countries and made them available.
In this article, we demonstrate how to build a website that shows a series of COVID-19 graphs. These graphs reflect the accumulated number of cases and deaths over a given time period for each country. We use the Red Hat build of Quarkus, Apache Camel K, and Red Hat AMQ Streams to get the Johns Hopkins University data and populate a MongoDB database with it. The deployment is built on the Red Hat OpenShift Container Platform (OCP).
Continue reading “Tracking COVID-19 using Quarkus, AMQ Streams, and Camel K on OpenShift”
The Quarkus community is excited to announce the Supersonic, Subatomic Java Hackathon for developers to create Kubernetes-native applications for a chance to win $30,000 in prizes. This hackathon is a great opportunity to learn about the future of cloud-native Java development and showcase your coding skills.
If you are new to Quarkus, don’t worry. The community will be there to help and support you with a number of enablement sessions (see below) throughout the hackathon including an opening ceremony, weekly office hours, and the DevNation Quarkus Master Course series.
The hackathon will run from Monday, June 15th through Wednesday, July 22nd culminating in a “live” judging and award ceremony on Friday, August 14th.
To register, click here!
Continue reading “Supersonic, Subatomic Java Hackathon: June 15 – July 22 2020”