Skip to main content

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…

Adam Bien: Spring 2025: Conferences, JUGs, Workshops and Livestreams

This is the way: Serverless First With Java on AWS[online event] Riyadh Java User Group session 10 March 2025 https://www.meetup.com/riyadh-java-users-group/events/306402206/ JavaOne: Real World Lean Java Practices, Patterns, Hacks, and Workarounds [SES1112] …

Adam Bien: From OCCAM and CSP to Java--airhacks.fm podcast

Subscribe to airhacks.fm podcast via: spotify| iTunes| RSS The #336 airhacks.fm episode with Kevlin Henney (@KevlinHenney) about: distributed computing, actor-based communication, object-oriented programming and Java is available for download.

Ivar Grimstad: Hashtag Jakarta EE #271

Welcome to issue number two hundred and seventy-one of Hashtag Jakarta EE! I have just arrived home from Devnexus 2025 in Atlanta, Georgia. The upcoming week, I will stay at home before going to JavaOne 2025 in Redwood Shores, California. Check out my past and upcoming conference on my Jakarta EE Developer Advocate page. The Starter for Jakarta EE now has support for Jakarta EE 11.…

Ivar Grimstad: Devnexus 2025

Devnexus 2025 is a wrap!. This conference, run by Atlanta Java User Group is one of my absolute favourite conferences. There is so much going on and the hallway track is so fun. It has to be with such an amazing speaker lineup. This year, as the previous years, we had a track entirely dedicated to Jakarta EE as well as a Jakarta EE booth. My amazing Eclipse Foundation colleagues, Carmen and…

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…

The Payara Team: The Payara Monthly Catch - February 2025

February was nothing short of exciting at Payara! � From global press coverage to major conference announcements, we’ve been making waves. With so many achievements and big news, there’s plenty to catch up on. ☕ Dive into February’s highlights to explore our journey, celebrate our successes, and see what’s coming next for Payara! 🚀

The Payara Team: The Payara Monthly Catch - January 2025

January is almost over, and we kicked off the year with a lot of energy and fresh resources! 🎉 We’ve got some great updates and insights to share...so grab a coffee and dive into our top content from January - start reading to enhance your enterprise Java knowledge and skills!

Dmitry Kornilov: Converting Spring Boot Projects to Helidon with AI

My previous article on migrating the Spring Petclinic Rest project to Helidon (see here) received a lot of positive feedback, which encouraged me to explore this area further. The manual conversion process, while feasible, is time-consuming and requires careful attention to detail. However, it’s often more technical than creative—tedious, in other words. Automating this process would…

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...

The OmniFish Team: Reflections on 2024: A Remarkable Year for OmniFish, GlassFish, Piranha, and Jakarta EE

As 2024 draws to a close, it’s a perfect moment to reflect on what we at OmniFish have achieved this year. It has been a year of growth, innovation, and dedication to the open-source community and the products we’re deeply passionate about. From expanding our team to pushing the boundaries of what GlassFish and Piranha can do, this year has been nothing short of transformative. Let’s take a look…

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…

The OmniFish Team: Issues with old GlassFish server? Upgrade to Eclipse GlassFish!

Rely on hardened and production-ready Eclipse GlassFish 7 or newer. Benefit from key feature updates and Jakarta EE advancements, brought to you by OmniFish and the amazing community of opensource GlassFish contributors. If you face issues with Oracle GlassFish or older GlassFish versions, the best thing you can do is to upgrade to the latest version. The advancements made in Eclipse…

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…

Francesco Marchioni: Jakarta Data in Action

Managing data is one of the most challenging aspects of building software. The Jakarta API, specifically Jakarta Data, offers a straightforward way for Java developers to handle data access without getting bogged down in the technical details of persistence. Its goal is simple: let you focus on your application’s data model while it takes care ... Read more The post Jakarta Data in Action…

Mads Opheim: Local development with MicroProfile RestClient

# What are we trying to solve? Scenario: You have an external dependency that you communicate with over HTTP. That external dependency does not have a suitable test environment that you can access. With MicroProfile, that won't be a big deal. You can set up your own fake endpoint running inside your application. # Rest Client I've done this with Quarkus, so some of the pointers and classes here

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…

Mads Opheim: 1Z0-1113 - I passed!

I passed the exam! This morning, I had my certification exam for the _1Z0-1113 Helidon Microservices Developer Professional_, and I passed! ![Passed exam](./images/passed-exam.png) As I've already written several posts about, I was curious what the exam would be like. To be honest, I was afraid of 60 questions asking nitty-gritty obscure detail questions, like the Java exams tend to do. Or…

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 […]

Markus Karg: Coding Microservice From Scratch (Part 16) | JAX-RS Done Right! | Head Crashing Informatics 83

Write a pure-Java microservice from scratch, without an application server nor any third party frameworks, tools, or IDE plugins — Just using JDK, Maven and JAX-RS aka Jakarta REST 3.1. This video series shows you the essential steps! You asked, why I am not simply using the Jakarta EE 10 Core API. There are many answers in this video! If you like this video, please give it a thumbs up, share…

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 to jakarta namespace ecosystem progress

The Jakarta EE ecosystem has been hard at work transitioning various libraries, framework, servers and tools from the javax namespace to the jakarta.ee namespace. This work is essentially complete with the upcoming release of Jakarta EE 10. JakartaEE developers have a wide range of options in each category, providing great choices!

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…

The 2022 Jakarta EE Developer Survey is Now Open!

Completing the 2022 Jakarta EE Developer Survey takes less than 6 minutes of your time. But your input is extremely important.

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…

Víctor Orozco: Book Review: Practical Cloud-Native Java Development with MicroProfile

General information Pages: 403 Published by: Packt Release date: Aug 2021 Disclaimer: I received this book as a collaboration with Packt and one of the authors (Thanks Emily!) A book about Microservices for the Java Enterprise-shops Year after year many enterprise companies are struggling to embrace Cloud Native practices that we tend to denominate as Microservices, however Microservices is…

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:…

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…

Philip Riecks: Deploy a Jakarta EE application to the root context

With the presence of Docker, Kubernetes and cheaper hardware, the deployment model of multiple applications inside one application server has passed. Now, you deploy one Jakarta EE application to one application server. This eliminates the need for different context paths.  You can use the root context / for your Jakarta EE application. With this blog post, you’ll learn how to achieve this for…

David R. Heffelfinger: Jakarta EE, A de facto standard in the making

I’ve been involved in Java EE since the very beginning, Having written one of the first ever books on Java EE. My involvement in Java EE / Jakarta EE has been on an education / advocacy role. Having written books, articles, blog posts and given talks in conferences about the technology. I advocate Jakarta EE not because I’m paid to do so, but because I really believe it is a great technology. I’m…

Wayne Beaton: Specification Scope in Jakarta EE

With the Eclipse Foundation Specification Process (EFSP) a single open source specification project has a dedicated project team of committers to create and maintain one or more specifications. The cycle of creation and maintenance extends across multiple versions of the specification, and so while individual members may come and go, the team remains and it is that team that is responsible for…

Wayne Beaton: Renaming Java EE Specifications for Jakarta EE

It’s time to change the specification names… When we first moved the APIs and TCKs for the Java EE specifications over to the Eclipse Foundation under the Jakarta EE banner, we kept the existing names for the specifications in place, and adopted placeholder names for the open source projects that hold their artifacts. As we prepare to engage in actual specification work (involving an actual…

Elder Moraes: Top 20 Jakarta EE Experts to Follow on Twitter

This is the most viewed post of this blog, so I believe it deserves an update now in 2020! Its first version was written back in 2017. There’s a lot of different opinions in this kind of lists, and there will be always somebody or something missing… just don’t be too passionate or take things personally, ok?! ****************************************************** We all have to agree: there are…

Back to the top