Open-source project
jboss-developer/jboss-eap-quickstarts avatar
jboss-developer/jboss-eap-quickstarts

jboss-eap-quickstarts is a catalogue of small working Jakarta EE applications

The quickstarts demonstrate JBoss EAP, Jakarta EE 10 and a few additional technologies. They provide small, specific, working examples that can be used as a reference for your own project.

835 stars1,453 forksJavaNOASSERTION

At a glance

What is it?
The jboss-eap-quickstarts repository holds dozens of small, specific, runnable applications for JBoss EAP, Jakarta EE 10 and a few extra technologies, from helloworld to clustered messaging and security domains. It is reference material rather than a framework, and it ships the same tree in three product flavours, with one README template deciding which one you get.
Who is it for?
jboss-eap-quickstarts suits a developer who needs a working reference for one specific Jakarta EE feature, whether that is a timer, a transaction boundary, a security domain or a message driven bean, and who would rather copy a runnable project than read a specification. It is a poor fit as a learning path, since the examples are deliberately small and specific rather than progressive, and a poor fit for anything other than the product version its default branch targets.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 33 days ago.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 25, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Small, specific, working, and organised by feature

The repository description is plain about the intent. The quickstarts demonstrate JBoss EAP, Jakarta EE 10 and a few additional technologies, and they provide small, specific, working examples that can be used as a reference for your own project. The word small is doing the work here, because a quickstart is not a tutorial and not a framework. Each one isolates a single mechanism, and the top level directory listing shows the scope. The helloworld family alone contains variants that cover web services with helloworld-ws, remote invocations with helloworld-rs, singletons with helloworld-singleton, message driven beans with helloworld-mdb, message queues with helloworld-jms, and two mutual TLS secured variants, helloworld-mutual-ssl and helloworld-mutual-ssl-secured. Around that sit the EJB examples, the batch and container managed transaction examples in bmt and cmt, the security ones in ee-security and ejb-security-context-propagation, the web ones in servlet-async, servlet-filterlistener and servlet-security, and the messaging and clustering ones in helloworld-jms, messaging-clustering-singleton and ha-singleton-service. The rest of the tree covers websockets, JAX-RS with JWT, JSON processing, JTS, mail, logging, Hibernate, and integrations such as spring-resteasy and shared-doc.

One README template, three product personalities

The most unusual thing in this repository is that the README is not a README. The file at the top is an AsciiDoc attribute template, and its job is to decide which product the documentation describes. Two flags are toggled in comments at the top of the file. The first enables building the README.html files for JBoss EAP product builds and is commented out for WildFly builds. The second enables building the README.html files for JBoss EAP XP product builds and is commented out for WildFly or JBoss EAP product builds. With the product release flag enabled, the template sets productName to JBoss EAP, productNameFull to Red Hat JBoss Enterprise Application Platform, productVersion to 8.1, the product image version to 8.1.0 and the Helm chart name to jboss-eap/eap81. With the XP flag it becomes JBoss EAP XP, version 6.0, with chart jboss-eap/eap-xp6. With neither flag, the same tree describes WildFly, version 35, with chart wildfly/wildfly, and points at a different repository, github.com/wildfly/quickstart. So the same source of quickstarts is documented for a product release, an expansion pack and the open source project, and the version numbers, download links and Helm coordinates all change with it.

Where the code and the documentation come from

The template also records where to get things, and this is the practical part of the installation story. For a product release, the repository URL points at github.com/jboss-developer/jboss-eap-quickstarts, and the download name and URL are built from the product name and version, pointing at the Red Hat access page for appplatform distributions. The environment variable that marks an installed server is EAP_HOME for the product, and WILDFLY_HOME for the WildFly variant, so the same quickstart code is written against whichever server layout is in play. The build requirements are stated in the same attribute block: Java SE 17.0 or later, and Maven 3.6.0 or later, with the java version attribute set to Jakarta. The top level of the tree holds a single pom.xml, which is what makes a folder of forty separate examples buildable in one Maven reactor rather than as forty unrelated projects.

The directory list is the feature map

Reading the top level entries tells you what the application server can be asked to do, which is the fastest way to find the example you need. The EJB cluster covers ha-singleton-deployment for singleton deployments across a cluster, ejb-multi-server for remote calls between servers, ejb-remote for remote invocation, ejb-timer for timers, ejb-txn-remote-call for transaction propagation over a remote boundary, and ejb-throws-exception for exception behaviour. Transactions appear in bmt, cmt, ejb-txn-remote-call and jta-crash-rec. Clustering and high availability get their own group, with jts for the transaction service, batch-processing for batch jobs, tasks-jsf and thread-racing for concurrency behaviour, and numberguess and todo-backend as larger sample applications. There is a kitchensink directory, which in a quickstart collection usually means the one example that deliberately turns on many features at once. A few directories are named after integrations rather than specifications, with spring-resteasy, shared-doc, tasks-jsf and temperature-converter standing out, and the security group includes http-custom-mechanism, security-domain-to-domain, ejb-security-programmatic-auth and ejb-security-context-propagation.

OpenShift images and Helm charts are part of the same template

The template wires container deployment into the documentation rather than leaving it to a separate guide, and the attributes show exactly how. For a product release the image prefix is eap81, and the build and runtime image streams are jboss-eap81-openjdk11-openshift and jboss-eap81-openjdk11-runtime-openshift, which is the naming a Red Hat Container Registry template expects. The import base URL points at the jboss-container-images repository for the OpenShift templates, and the base is suffixed with the image prefix, so the two variables are what tie a quickstart to a specific build of the server image. The Helm side is equally concrete, with a Helm repository of jboss-eap served from jbossas.github.io/eap-charts for the product, and a wildfly repository at docs.wildfly.org/wildfly-charts for the open source variant, along with the chart names. For the XP release the image prefix changes to eap-xp3 and the stream names change with it, and the OpenShift quickstart repository reference and tag are recorded separately, currently pointing at the 8.0.x branch and the EAP_8.0.0.GA tag.

Licence, branch and the age of the release list

The licence is a custom one that GitHub cannot classify, with the terms in LICENSE.txt at the root of the repository, which is worth reading before you copy a quickstart into a product, since these are reference implementations from a vendor supported distribution rather than a community commons. The default branch is 8.1.x, which lines up with the product version the template sets, so a clone of the default branch gives you the quickstarts for the current EAP release rather than for WildFly. The release list is where the age shows. The most recent tagged release is EAP_8.1.0.GA from 2025-08-28, and the one before it is 7.1.0.GA from 2017-12-14, a gap of eight years that tells you tags are cut for product milestones rather than continuously. The last push to the repository was on 2026-09-23 and the repository is not archived, so the source does keep moving, but for a given product version you should work from the matching branch or tag rather than from the tip of main.

Editorial conclusion

jboss-eap-quickstarts suits a developer who needs a working reference for one specific Jakarta EE feature, whether that is a timer, a transaction boundary, a security domain or a message driven bean, and who would rather copy a runnable project than read a specification. It is a poor fit as a learning path, since the examples are deliberately small and specific rather than progressive, and a poor fit for anything other than the product version its default branch targets. Verify first which branch and product flavour you need, since the repository builds three different sets of links and version numbers from one README template, and check the per quickstart README for the exact EAP_HOME or WILDFLY_HOME and Maven profile it expects.

Frequently asked questions

What are the JBoss EAP quickstarts for?

They provide small, specific, working examples that demonstrate JBoss EAP, Jakarta EE 10 and a few additional technologies, and they are meant to be used as a reference for your own project rather than as a tutorial series.

What Java and Maven versions do the quickstarts need?

The build requirements are Java SE 17.0 or later and Maven 3.6.0 or later, and the java version attribute is set to Jakarta. The server is located through the EAP_HOME variable for JBoss EAP releases and WILDFLY_HOME for the WildFly variant.

Does this repository cover WildFly as well as JBoss EAP?

The same source tree documents both. Two flags in the README template select a JBoss EAP product build, a JBoss EAP XP build, or the WildFly project, and the product name, version, repository URL, Helm chart and image stream names all change with the selection.

Which quickstart should I use for clustered messaging?

The tree contains helloworld-jms for message queues, messaging-clustering-singleton for clustered singleton messaging, and ha-singleton-service for high availability singletons, alongside ha-singleton-deployment for singleton deployments across a cluster.

How do the quickstarts handle OpenShift and Helm?

The README template defines the container side directly, with image streams such as jboss-eap81-openjdk11-openshift and the runtime variant, an import URL for the OpenShift templates, and Helm repository and chart names including jboss-eap/eap81 for the product and wildfly/wildfly for WildFly.

Official sources

  1. Issues
  2. jboss-developer/jboss-eap-quickstarts on GitHub
  3. README
  4. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/jboss-developer-jboss-eap-quickstarts.svg)](https://hysenlabs.com/projects/jboss-developer-jboss-eap-quickstarts)

Was this useful?