Skip to main content

Ivar Grimstad: Spring I/O 2025

Spring I/O 2025 was a great experience! It is an extremely well-organized conference with an awesome community. It was my second time as a speaker, and I will definitely send talk abstracts to the upcoming editions as well. It does not hurt that it is organized in Barcelona in May. A very nice time of the year to visit the city. My session, What Every Spring Developer Should Know About…

Ivar Grimstad: Hashtag Jakarta EE #282

Welcome to issue number two hundred and eighty-two of Hashtag Jakarta EE! I have just returned from Spring I/O 2025 in Barcelona. A write-up from this conference will follow shortly. This was my last conference in May, so I have a couple of weeks break before the next one, which will be JJUG CCC 2025 Spring in Tokyo. I have been a part of the Oracle ACE Program as an Oracle ACE Pro…

Adam Bien: Building Immutable Release Pipelines with Hashgraph--airhacks.fm

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS The #347 airhacks.fm episode with Richard Bair (@RichardBair) about: enterprise use cases with opensource, pure Java blockchain (Hashgraph) is available for download.

Adam Bien: Accelerating LLMs with TornadoVM: From GPU Kernels to Model Inference--airhacks.fm podcast

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS The #346 airhacks.fm episode with Juan Fumero (@snatverk) about: TornadoVM programming model, hardware reconfiguration, LLM inference, tensor types, and future integration possibilities is available for download.

Markus Karg: Foundation Laid for Faster Text I/O

Hey guys! How’s it going? Another six months are over and you might wonder what the old shaggy prepared this time? No wonder, it certainly is another OpenJDK contribution! This time, it speeds up reading from CharSequence, and it will allow faster Write::append. Never heard of CharSequence? Well, it’s the common interface of String, StringBuilder, CharBuffer, and quite some custom…

Dmitry Kornilov: Building AI Assistant Application in Java

In my previous article, I discussed how Helidon integrates with LangChain4J. While the article provided a solid foundation, some readers pointed out the lack of a complete, hands-on example. This time, we’ll fix that by building a fully functional, practical AI-powered Java application. We’ll create the Helidon Assistant — a chatbot with a web UI trained to answer questions about the…

The OmniFish Team: Performance Best Practice no. 2: Implement Caching

Jakarta EE applications can achieve better performance with a layered caching setup that combines client-side and server-side caching [1]. Caching Methods Caching is a powerful technique used to improve the performance and scalability of applications. By storing frequently accessed data closer to where it’s needed, caching can significantly reduce latency and system load. Let’s take a look…

The OmniFish Team: Performance Best Practice no. 1: Optimize database operations

Database operations are a very critical part of most applications in regards of performance. There are multiple reasons why database operations can significantly contribute to lower performance: The database often runs on a remote server, slowing down communication with the database and the data transfer Establishing individual connections to a database can take a significant portion of…

The Payara Team: The Payara Monthly Catch - April 2025

April was a month of rich fishing grounds: we reeled in top-tier blog posts, made waves at international conferences, and navigated exciting new waters in both AI and Java development. From sharpening your developer toolkit to charting safer courses for application security, we've caught some prize-worthy resources you won't want to throw back. Drop anchor and take a look at the…

Francesco Marchioni: How to run WildFly applications with JBang

In this article we will learn how to provision a WildFly Server using the JBang scripting tool. Starting from a basic example using a REST endpoint, we will show how to enable additional features on the application server with the WildFly Glow tooling. Why Run WildFly in your Java scripts? WildFly is an application server ... Read more The post How to run WildFly applications with JBang appeared…

The Payara Team: The Payara Monthly Catch - March 2025

March was quite eventful indeed! ✨ This month, our Payarans were on the move — bringing their energy, insights, and expertise to not one, but two major Java conferences: Devnexus and JavaOne. With expert-led talks, exciting conversations at our booths, and the opportunity to meet the community in person, it was a month to remember. But that’s not all! We’re not slowing down —…

Víctor Orozco: Install VirtualBox over Fedora with SecureBoot enabled

Not too long ago, I upgraded my computer and got a new Lenovo ThinkPad X1 Carbon (a great machine so far!). Since I was accustomed to working on a gaming rig (Ryzen 7, 64GB RAM, 4TB) that I had set up about five years ago, I completely missed the Secure Boot and TPM trends—these weren’t relevant for my fixed workstation. However, my goal with this new laptop is to work with both Linux and…

Dmitry Kornilov: Developing AI-Powered Applications with Helidon and LangChain4J

Introduction The rise of Large Language Models (LLMs) has opened new doors for AI-powered applications, enabling dynamic interactions, natural language processing, and retrieval-augmented generation (RAG). However, integrating these powerful models into Java applications can be challenging. This is where LangChain4J comes in – a framework designed to simplify AI development in Java. To…

Jakarta EE Ambassadors: Jakarta EE Ambassadors Gather at Devnexus 2025 to Deliver Sessions on Jakarta EE

Devnexus 2025 will be held Tuesday-Thursday, March 4-6, 2025 at the Georgia World Congress Center in Atlanta, Georgia. Members of the Jakarta EE Ambassadors will be in attendance to deliver presentations on Jakarta EE. On March 4, developers will be able to choose from five workshops: AI-Driven Development: Enhancing Java with the latest AI Innovations by Brian Benz Developer to…

Thorben Janssen: Hibernate Performance Tuning – 2025 Edition

Most Hibernate performance issues are caused by fetching related entities you don’t use in your business code. To make it even worse, this happens automatica...

Christopher Guindon: Scheduled Maintenance for accounts.eclipse.org Drupal 10 Migration

We’re excited to announce that accounts.eclipse.org will migrate from Drupal 7 to Drupal 10 on January 19, 2025. This is a significant milestone in our ongoing effort to modernize the Eclipse Foundation’s web infrastructure, following the successful migration of the Project Management Infrastructure (PMI) earlier this year. This migration aligns with our plans that we outlined in last year’s…

Christopher Guindon: Gravatar Support Ending on accounts.eclipse.org

As part of our migration to Drupal 10, we’ve decided to discontinue support for Gravatar on sites such as accounts.eclipse.org, projects.eclipse.org, blogs.eclipse.org, marketplace.eclipse.org, and newsroom.eclipse.org. This change enhances privacy compliance by giving users more control over their data and ensures a more consistent experience across many of our web properties. Why Are We…

Thorben Janssen: Date and Time Mappings with Hibernate and JPA

The post Date and Time Mappings with Hibernate and JPA appeared first on Thorben Janssen. Databases support various data types to store date and time information. The most commonly used ones are: You can map all of them with JPA and Hibernate. But you need to decide to which Java type you want to map your database column. The Java language supports a bunch of classes to represent date and... The…

Víctor Orozco: A practical guide to implement OpenTelemetry in Spring Boot

In this tutorial I want to consolidate some practical ideas regarding OpenTelemetry and how to use it with Spring Boot. This tutorial is composed by four sections OpenTelemetry practical concepts Setting up an observability stack with OpenTelemetry Collector, Grafana, Loki, Tempo and Podman Instrumenting Spring Boot applications for OpenTelemetry Testing and E2E sample By the end of the…

Francesco Marchioni: What is new in Jakarta Persistence 3.2

This tutorial provides an overview of some of the new features that are available in the upcoming Jakarta Persistence API 3.2, which is part of Jakarta EE 11 bundle. Jakarta Persistence defines a standard for management of persistence and ORM Java(R) Enterprise environments. If you are new to Jakarta Persistence API we recommend checking this ... Read more The post What is new in Jakarta…

Open Liberty: Enhanced message validation for XML Web Services in 24.0.0.12-beta

The 24.0.0.12-beta release enhances inbound SOAP message validation in XML Web Services to simplify message debugging and make your web services and clients more resilient. See also previous Open Liberty beta blog posts. Fine-tuning XML Web Services inbound SOAP message validation Open Liberty’s XML Web Services features now support fine-grained message validation for inbound SOAP…

Open Liberty: Rethinking microservices

There are many misconceptions for microservices, which have been around for over a decade. Some people wonder whether microservices are going to die, especially in an IT industry that is quickly moving toward the cloud. With serverless becoming a hot topic, will microservices survive in the serverless era? In this blog, take a step back and rethink microservices. We start with the history of…

Alexius Diakogiannis: Virtual Threads (Project Loom) – Revolutionizing Concurrency in Java

Introduction Concurrency has always been a cornerstone of Java, but as applications scale and demands for high throughput and low latency increase, traditional threading models show their limitations. Project Loom and its groundbreaking introduction of virtual threads redefines how we approach concurrency in Java, making applications more scalable and development more straightforward. In this…

Markus Karg: Reader.of(CharSequence)

Hi guys, how’s it going? Long time no see! In fact, I had been very silent in the past months, and as you could imagine, it has a reason: I just had no time to share all the great stuff with you that I was involved with recently. In particular, creating video content for Youtube is such time-consuming that I decided to stop with that by end of 2023, at least “for some time”, until my personal…

Tanja Obradovic: Rising Momentum in Enterprise Java: Insights from the 2024 Jakarta EE Developer Survey Report

Rising Momentum in Enterprise Java: Insights from the 2024 Jakarta EE Developer Survey Report The seventh annual Jakarta EE Developer Survey Report is now available! Each year, this report delivers crucial insights into the state of enterprise Java and its trajectory, providing a comprehensive view of how developers, architects, and technology leaders are adopting Java to meet the…

Alexius Diakogiannis: The Generational Z Garbage Collector (ZGC)

The Generational Z Garbage Collector (ZGC) The Generational Z Garbage Collector (GenZGC) in JDK 21 represents a significant evolution in Java’s approach to garbage collection, aiming to enhance application performance through more efficient memory management. This advancement builds upon the strengths of the Z Garbage Collector (ZGC) by introducing a generational approach to garbage collection…

Webtide Blog: Back to the Future with Cross-Context Dispatch

Cross-Context Dispatch reintroduced to Jetty-12 With the release of Jetty 12.0.8, we’re excited to announce the (re)implementation of a somewhat maligned and deprecated feature: Cross-Context Dispatch. This feature, while having been part of the Servlet specification for many years, has seen varied levels of use and support. Its re-introduction in Jetty 12.0.8, however, marks a significant…

Jan Supol: HTTP Patch with Jersey Client on JDK 16+

Jakarta REST provides a Client API, implemented by Jersey Client. The default implementation is based on the Java HttpUrlConnection. Unfortunately, the HttpUrlConnection supports only HTTP methods defined in the original HTTP/1.1 RFC 2616. It will never support for instance HTTP … Continue reading →

Jean-François James: Monitoring Java Virtual Threads

Introduction In my previous article, we’ve seen what Virtual Threads (VTs) are, how they differ from Platform Threads (PTs), and how to use them with Helidon 4. In simple terms, VTs bring in a new concurrency model. Instead of using many PTs that can get blocked, we use a few of them that hardly ever […]

Tomitribe: Moving from javax to jakarta namespace

This blog aims at giving some pointers in order to address the challenge related to the switch from `javax` to `jakarta` namespace. This is one of the biggest changes in Java of the latest 20 years. No doubt. The entire ecosystem is impacted. Not only Java EE or Jakarta EE Application servers, but also libraries of any kind (Jackson, CXF, Hibernate, Spring to name a few). For instance, it took…

Jan Supol: Choosing Connector in Jersey

Jersey is using JDK HttpUrlConnection for sending HTTP requests by default. However, there are cases where the default HttpUrlConnection cannot be used, or where using any other HTTP Client available suits the customer’s needs better. For this, Jersey comes with … Continue reading →

Webtide Blog: New Jetty 12 Maven Coordinates

Now that Jetty 12.0.1 is released to Maven Central, we’ve started to get a few questions about where some artifacts are, or when we intend to release them (as folks cannot find them). Things have change with Jetty, starting with the 12.0.0 release. First, is that our historical versioning of <servlet_support>.<major>.<minor> is no longer being used. With Jetty 12, we are now using a more…

Jean-François James: Running MicroProfile reactive with Helidon Nima and Virtual Threads

I recently became interested in Helidon as part of my investigations into Java Loom. Indeed, version 4 is natively based on Virtual Threads. Before going any further, let’s introduce quickly Helidon. Helidon is an Open Source (source on GitHub, Apache V2 licence) managed by Oracle that enables to develop lightweight cloud-native Java application with fast […]

Mike Milinkovich: New Survey: How Do Developers Feel About Enterprise Java in 2023?

The results of the 2023 Jakarta EE Developer Survey are now available! For the sixth year in a row, we’ve reached out to the enterprise Java community to ask about their preferences and priorities for cloud native Java architectures, technologies, and tools, their perceptions of the cloud native application industry, and more. From these results, it is clear that open source cloud native Java…

Rhuan Rocha: Best Practices for Effective Usage of Contexts Dependency Injection (CDI) in Java Applications

Looking at the web, we don’t see many articles talking about Contexts Dependency Injection’s best practices. Hence, I have made the decision to discuss the utilization of Contexts Dependency Injection (CDI) using best practices, providing a comprehensive guide on its implementation. The CDI is a Jakarta specification in the Java ecosystem to allow developers to use dependency injection,…

Tanja Obradovic: The Jakarta EE 2023 Developer Survey is now open!

The Jakarta EE 2023 Developer Survey is now open! It is that time of the year: the Jakarta EE 2023 Developer Survey open for your input! The survey will stay open until May 25st. I would like to invite you to take this year six-minute survey, and have the chance to share your thoughts and ideas for future Jakarta EE releases, and help us discover uptake of the Jakarta EE latest…

Rhuan Rocha: What is Apache Camel and how does it work?

In this post, I will talk to you about what the Apache Camel is. It is a brief introduction before I starting to post practical content. Thus, let’s go to understand what this framework is. Apache Camel is an open source Java integration framework that allows different applications to communicate with each other efficiently. It provides a platform for integrating heterogeneous software…

Reza Rahman: Jakarta EE and MicroProfile at EclipseCon Community Day 2022

Community Day at EclipseCon 2022 was held in person on Monday, October 24 in Ludwigsburg, Germany. Community Day has always been a great event for Eclipse working groups and project teams, including Jakarta EE/MicroProfile. This year was no exception. A number of great sessions were delivered from prominent folks in the community. The following are the details including session materials. The…

Ivo Woltring: JFall 2022

An impression of JFall by yours truly. keynoteSold out! Packet room! Very nice first keynote speaker by Saby Sengupta about the path to transform.He is a really nice storyteller. He had us going. Dutch people, wooden shoes, wooden hat, would not listen Saby lol Get the answer to three why questions. If the answers stop after the first why. It may not be a good idea. This great first…

Mike Milinkovich: Survey Says: Confidence Continues to Grow in the Jakarta EE Ecosystem

The results of the 2022 Jakarta EE Developer Survey are very telling about the current state of the enterprise Java developer community. They point to increased confidence about Jakarta EE and highlight how far Jakarta EE has grown over the past few years. Strong Turnout Helps Drive Future of Jakarta EE The fifth annual survey is one of the longest running and best-respected surveys of its…

Jakarta EE Ambassadors: Jakarta EE 10 has Landed!

The Jakarta EE Ambassadors are thrilled to see Jakarta EE 10 being released! This is a milestone release that bears great significance to the Java ecosystem. Jakarta EE 8 and Jakarta EE 9.x were important releases in their own right in the process of transitioning Java EE to a truly open environment in the Eclipse Foundation. However, these releases did not deliver new features. Jakarta EE 10…

javaxからjakarta名前空間に関するエコシステムの進捗状況

Jakarta EEエコシステムは、さまざまなライブラリ、フレームワーク、サーバ、ツールをjavax名前空間からjakarta.ee名前空間に移行することに尽力してきました。この作業は、Jakarta EE 10の今後のリリースで本質的に完了します。JakartaEEの開発者は、各カテゴリーに幅広い選択肢があり、優れた選択肢を提供します。

Vladimir V. Bychkov: Java Reflections unit-testing

How make java code with reflections more stable? Unit tests can help with this problem. This article introduces annotations @CheckConstructor, @CheckField, @CheckMethod to create so unit tests automatically

Ivo Woltring: Java EE - Jakarta EE Initializr

Getting started with Jakarta EE just became even easier! Get started Java EE /Jakarta EE - Initializr Hot new Update!Moved from the Apache 2 license to the Eclipse Public License v2 for the newest version of the archetype as described below.As a start for a possible collaboration with the Eclipse start project. New Archetype with JakartaEE 9 JakartaEE 9 + Payara 5.2022.2 + MicroProfile 4.1…

2022年Jakarta EE開発者アンケートが開始されました!

2022年Jakarta EE開発者アンケートの所要時間は、6分未満です。しかしながら、皆さんのご意見は非常に重要です。

Reza Rahman: FOSDEM 2022 Conference Report

FOSDEM took place February 5-6. The European based event is one of the most significant gatherings worldwide focused on all things Open Source. Named the “Friends of OpenJDK”, in recent years the event has added a devroom/track dedicated to Java. The effort is lead by my friend and former colleague Geertjan Wielenga. Due to the pandemic, the 2022 event was virtual once again. I delivered a couple…

Sergii Kostenko: Infinispan Apache Log4j 2 CVE-2021-44228 vulnerability

Infinispan 10+ uses Log4j version 2.0+ and can be affected by vulnerability CVE-2021-44228, which has a 10.0 CVSS score. The first fixed Log4j version is 2.15.0. So, until official patch is coming, - you can update used logger version to the latest in few simple steps Download Log4j version 2.15.0: https://www.apache.org/dyn/closer.lua/logging/log4j/2.15.0/apache-log4j-2.15.0-bin.zip Unpack…

Vladimir V. Bychkov: JPA query methods: influence on performance

Specification JPA 2.2/Jakarta JPA 3.0 provides for several methods to select data from database. In this article we research how these methods affect on performance

Tomitribe: Custom Identity Store with Jakarta Security in TomEE

In the previous post, we saw how to use the built-in ‘tomcat-users.xml’ identity store with Apache TomEE. While this identity store is inherited from Tomcat and integrated into Jakarta Security implementation in TomEE, this is usually good for development or simple deployments, but may appear too simple or restrictive for production environments.  This blog will focus on how to implement your own…

Tomitribe: #156 Bash, Apple and EJB, TomEE, Geronimo and Jakarta EE

New podcast episode with Adam Bien & David Blevins.  Apple and EJB, @ApacheTomEE, @tomitribe, @JakartaEE, the benefits of code generation with bash, and over-engineering”–the 156th http://airhacks.fm The post #156 Bash, Apple and EJB, TomEE, Geronimo and Jakarta EE appeared first on Tomitribe.

Tomitribe: Using Tomcat’s `tomcat-users.xml` with Jakarta Security in TomEE

While working on Jakarta EE 10 certification (See announcement Apache Tomee Jakarta EE certified after 10 years, Apache TomEE implemented Jakarta Security specification.  Currently, there is only one implementation used in Glassfish and used by all the other vendors for Jakarta Security. In TomEE, we decided to create an alternative to bring some diversity, and have an Apache implementation. What…

Tomitribe: Understanding Jakarta Security with TomEE

There are many blogs explaining how to get Jakarta Security on Tomcat using all sorts of libraries and wiring everything manually. So many opportunities to get it wrong, if you are evaluating or currently using Apache TomEE. In TomEE, the good news is that, like JAX-RS, CDI or Bean Validation, Jakarta Security is out of the box ready to be used like Servlet, and CDI for example. This blog is a…

Tomitribe: Apache TomEE Jakarta EE certified after 10 years

We are extremely excited to spread the word that Apache TomEE 9.0.0-M7 has reached Jakarta EE 9.1 Web Profile certification. Speaking with our Apache-contributor hats on, this is not just our first certification in 10 years, but we are doubly proud Apache TomEE is on the list of certified servers on the day of the Jakarta EE release. Moreover, after 3 years of behind-the-scenes work, we’re very…

Sergii Kostenko: Undertow AJP balancer. UT005028: Proxy request failed: java.nio.BufferOverflowException

Wildfly provides great out of the box load balancing support by Undertow and modcluster subsystems Unfortunately, in case HTTP headers size is huge enough (close to 16K), which is so actual in JWT era - pity error happened: ERROR [io.undertow.proxy] (default I/O-10) UT005028: Proxy request to /ee-jax-rs-examples/clusterdemo/serverinfo failed: java.io.IOException:…

Tomitribe: Keeping Brazil’s Medical Industry Safe with MicroProfile | JakartaOne Livestream 2020

Jakarta One 2020, held on December 8th, 2020, gathered industry users and Java communities to share and learn the latest Java enterprise-related technologies. Jakarta EE 9, officially announced in November 2020, that they have created a lot of momentum to keep the conversation going in terms of lessons learned, roadmaps, and best practices.  Rafael Guimares, and I, had the opportunity to present…

Tomitribe: Pavimentando el Camino con Jakarta EE 9 and Apache TomEE

El 12 de Octubre del 2020 se llevó a cabo la primera edición virtual del JakartaOne en Español, el evento reunió a más de 500 asistentes y 9 comunidades de Java de habla hispana.  La agenda del evento ofreció a los asistentes y comunidades una amplia gama de temas relacionados a las aplicaciones Java Empresarial, nubes nativas, micro servicios entre otros.   En esta edición tuve la oportunidad de…

Tomitribe: Introducing TCK.work

I’d like to share with everyone a system we’ve set up to help projects get faster TCK results, starting of course with Apache TomEE. https://tck.work/tomee/projects We’ve had this system for a while, but were unable to open access due to the legal restrictions around access to the TCK and results. Now that all of this is public we can finally make it available. This installation is dedicated to…

Tomitribe: JakartaONE Español 2020: De Comunidad Para Comunidad!

  ¡El informe resumido del evento JakartaONE Español 2020 es una maravillosa declaración de una actividad comunitaria de código abierto con el corazón de voluntarios!   Comité de JakartaONE Español Alberto, Carlos, Eudris, Jonathan & Hillmer gracias por decidir ser administradores formidables cuyas acciones continuamente inspiraron y reflejaron las mejores características que el código abierto…

Elder Moraes: Jakarta EE Cookbook

About one month ago I had the pleasure to announce the release of the second edition of my book, now called “Jakarta EE Cookbook”. By that time I had recorded a video about and you can watch it here: And then came a crazy month and just now I had the opportunity to write a few lines about it! So, straight to the point, what you should know about the book (in case you have any interest in…

Gunnar Morling: Monitoring REST APIs with Custom JDK Flight Recorder Events

The JDK Flight Recorder (JFR) is an invaluable tool for gaining deep insights into the performance characteristics of Java applications. Open-sourced in JDK 11, JFR provides a low-overhead framework for collecting events from Java applications, the JVM and the operating system. In this blog post we’re going to explore how custom, application-specific JFR events can be used to monitor a REST…

Gunnar Morling: Enforcing Java Record Invariants With Bean Validation

Record types are one of the most awaited features in Java 14; they promise to "provide a compact syntax for declaring classes which are transparent holders for shallowly immutable data". One example where records should be beneficial are data transfer objects (DTOs), as e.g. found in the remoting layer of enterprise applications. Typically, certain rules should be applied to the attributes of…

Philip Riecks: Jakarta EE 8 CRUD API Tutorial using Java 11

As part of the Jakarta EE Quickstart Tutorials on YouTube, I’ve now created a five-part series to create a Jakarta EE CRUD API. Within the videos, I’m demonstrating how to start using Jakarta EE for your next application. Given the Liberty Maven Plugin and MicroShed Testing, the endpoints are developed using the TDD (Test Driven Development) technique. The following technologies are used within…

Back to the top