quickstart
quickstart copied to clipboard
Holds all versioned WildFly quickstarts
//*********************************************************************************** // Enable the following flag to build README.html files for JBoss EAP product builds. // Comment it out for WildFly builds. //*********************************************************************************** //:ProductRelease:
//*********************************************************************************** // Enable the following flag to build README.html files for EAP XP product builds. // Comment it out for WildFly or JBoss EAP product builds. //*********************************************************************************** //:EAPXPRelease:
// This is a universal name for all releases :ProductShortName: JBoss EAP // Product names and links are dependent on whether it is a product release (CD or JBoss) // or the WildFly project. // The "DocInfo*" attributes are used to build the book links to the product documentation
ifdef::ProductRelease[] // JBoss EAP release :productName: JBoss EAP :productNameFull: Red Hat JBoss Enterprise Application Platform :productVersion: 8.0 :DocInfoProductNumber: {productVersion} :WildFlyQuickStartRepoTag: 8.0.x :productImageVersion: 8.0.0 :helmChartName: jboss-eap/eap8 endif::[]
ifdef::EAPXPRelease[] // JBoss EAP XP release :productName: JBoss EAP XP :productNameFull: Red Hat JBoss Enterprise Application Platform expansion pack :productVersion: 3.0 :DocInfoProductNumber: 7.4 :WildFlyQuickStartRepoTag: XP_3.0.0.GA :productImageVersion: 3.0 :helmChartName: jboss-eap/eap-xp3 endif::[]
ifdef::ProductRelease,EAPXPRelease[] :githubRepoUrl: https://github.com/jboss-developer/jboss-eap-quickstarts/ :githubRepoCodeUrl: https://github.com/jboss-developer/jboss-eap-quickstarts.git :jbossHomeName: EAP_HOME :DocInfoProductName: Red Hat JBoss Enterprise Application Platform :DocInfoProductNameURL: red_hat_jboss_enterprise_application_platform :DocInfoPreviousProductName: jboss-enterprise-application-platform :quickstartDownloadName: {productNameFull} {productVersion} Quickstarts :quickstartDownloadUrl: https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?product=appplatform&downloadType=distributions :helmRepoName: jboss-eap :helmRepoUrl: https://jbossas.github.io/eap-charts/ // END ifdef::ProductRelease,EAPXPRelease[] endif::[]
ifndef::ProductRelease,EAPXPRelease[] // WildFly project :productName: WildFly :productNameFull: WildFly Application Server :ProductShortName: {productName} :jbossHomeName: WILDFLY_HOME :productVersion: 33 :productImageVersion: 33.0 :githubRepoUrl: https://github.com/wildfly/quickstart/ :githubRepoCodeUrl: https://github.com/wildfly/quickstart.git :WildFlyQuickStartRepoTag: 33.0.0.Final :DocInfoProductName: Red Hat JBoss Enterprise Application Platform :DocInfoProductNameURL: red_hat_jboss_enterprise_application_platform :DocInfoProductNumber: 8.0 :DocInfoPreviousProductName: jboss-enterprise-application-platform :helmRepoName: wildfly :helmRepoUrl: http://docs.wildfly.org/wildfly-charts/ :helmChartName: wildfly/wildfly // END ifndef::ProductRelease,EAPCDRelease,EAPXPRelease[] endif::[]
:source: {githubRepoUrl}
// Values for Openshift S2i sections attributes :CDProductName: {productNameFull} for OpenShift :CDProductShortName: {ProductShortName} for OpenShift :CDProductTitle: {CDProductName} :CDProductNameSentence: Openshift release for {ProductShortName} :CDProductAcronym: {CDProductShortName} :CDProductVersion: {productVersion} :EapForOpenshiftBookName: {productNameFull} for OpenShift :EapForOpenshiftOnlineBookName: {EapForOpenshiftBookName} Online :xpaasproduct: {productNameFull} for OpenShift :xpaasproductOpenShiftOnline: {xpaasproduct} Online :xpaasproduct-shortname: {CDProductShortName} :xpaasproductOpenShiftOnline-shortname: {xpaasproduct-shortname} Online :ContainerRegistryName: Red Hat Container Registry :EapForOpenshiftBookName: Getting Started with {ProductShortName} for OpenShift Container Platform :EapForOpenshiftOnlineBookName: Getting Started with {ProductShortName} for OpenShift Online :OpenShiftOnlinePlatformName: Red Hat OpenShift Container Platform :OpenShiftOnlineName: Red Hat OpenShift Online :ImagePrefixVersion: eap80 :ImageandTemplateImportBaseURL: https://raw.githubusercontent.com/jboss-container-images/jboss-eap-openshift-templates :ImageandTemplateImportURL: {ImageandTemplateImportBaseURL}/{ImagePrefixVersion}/ :BuildImageStream: jboss-{ImagePrefixVersion}-openjdk11-openshift :RuntimeImageStream: jboss-{ImagePrefixVersion}-openjdk11-runtime-openshift
// OpenShift repository and reference for quickstarts :EAPQuickStartRepo: https://github.com/jboss-developer/jboss-eap-quickstarts :EAPQuickStartRepoRef: 8.0.x :EAPQuickStartRepoTag: EAP_8.0.0.GA // Links to the OpenShift documentation :LinkOpenShiftGuide: https://access.redhat.com/documentation/en-us/{DocInfoProductNameURL}/{DocInfoProductNumber}/html-single/getting_started_with_jboss_eap_for_openshift_container_platform/ :LinkOpenShiftOnlineGuide: https://access.redhat.com/documentation/en-us/{DocInfoProductNameURL}/{DocInfoProductNumber}/html-single/getting_started_with_jboss_eap_for_openshift_online/
ifdef::EAPXPRelease[] // Attributes for XP releases :EapForOpenshiftBookName: {productNameFull} for OpenShift :EapForOpenshiftOnlineBookName: {productNameFull} for OpenShift Online :xpaasproduct: {productNameFull} for OpenShift :xpaasproductOpenShiftOnline: {productNameFull} for OpenShift Online :xpaasproduct-shortname: {ProductShortName} for OpenShift :xpaasproductOpenShiftOnline-shortname: {ProductShortName} for OpenShift Online :ContainerRegistryName: Red Hat Container Registry :EapForOpenshiftBookName: {productNameFull} for OpenShift :EapForOpenshiftOnlineBookName: {productNameFull} for OpenShift Online :ImagePrefixVersion: eap-xp3 :ImageandTemplateImportURL: {ImageandTemplateImportBaseURL}/{ImagePrefixVersion}/ :BuildImageStream: jboss-{ImagePrefixVersion}-openjdk11-openshift :RuntimeImageStream: jboss-{ImagePrefixVersion}-openjdk11-runtime-openshift // OpenShift repository and reference for quickstarts :EAPQuickStartRepoRef: xp-3.0.x // Links to the OpenShift documentation :LinkOpenShiftGuide: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/{DocInfoProductNumber}/html/using_eclipse_microprofile_in_jboss_eap/using-the-openshift-image-for-jboss-eap-xp_default :LinkOpenShiftOnlineGuide: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/{DocInfoProductNumber}/html/using_eclipse_microprofile_in_jboss_eap/using-the-openshift-image-for-jboss-eap-xp_default endif::[]
ifndef::ProductRelease,EAPCDRelease,EAPXPRelease[] :ImageandTemplateImportURL: https://raw.githubusercontent.com/wildfly/wildfly-s2i/v{productVersion}.0/ endif::[]
//************************* // Other values //************************* :buildRequirements: Java 11.0 (Java SDK 11) or later and Maven 3.6.0 or later :jbdsEapServerName: Red Hat JBoss Enterprise Application Platform 7.3 :javaVersion: Jakarta EE 10 ifdef::EAPXPRelease[] :javaVersion: Eclipse MicroProfile endif::[] :githubRepoBranch: master :guidesBaseUrl: https://github.com/jboss-developer/jboss-developer-shared-resources/blob/master/guides/ :useEclipseUrl: {guidesBaseUrl}USE_JBDS.adoc#use_red_hat_jboss_developer_studio_or_eclipse_to_run_the_quickstarts :useEclipseDeployJavaClientDocUrl: {guidesBaseUrl}USE_JBDS.adoc#deploy_and_undeploy_a_quickstart_containing_server_and_java_client_projects :useEclipseDeployEARDocUrl: {guidesBaseUrl}USE_JBDS.adoc#deploy_and_undeploy_a_quickstart_ear_project :useProductHomeDocUrl: {guidesBaseUrl}USE_OF_{jbossHomeName}.adoc#use_of_product_home_and_jboss_home_variables :configureMavenDocUrl: {guidesBaseUrl}CONFIGURE_MAVEN_JBOSS_EAP.adoc#configure_maven_to_build_and_deploy_the_quickstarts :arquillianTestsDocUrl: {guidesBaseUrl}RUN_ARQUILLIAN_TESTS.adoc#run_the_arquillian_tests :addUserDocUrl: {guidesBaseUrl}CREATE_USERS.adoc#create_users_required_by_the_quickstarts :addApplicationUserDocUrl: {guidesBaseUrl}CREATE_USERS.adoc#add_an_application_user :addManagementUserDocUrl: {guidesBaseUrl}CREATE_USERS.adoc#add_an_management_user :startServerDocUrl: {guidesBaseUrl}START_JBOSS_EAP.adoc#start_the_jboss_eap_server :configurePostgresDocUrl: {guidesBaseUrl}CONFIGURE_POSTGRESQL_JBOSS_EAP.adoc#configure_the_postgresql_database_for_use_with_the_quickstarts :configurePostgresDownloadDocUrl: {guidesBaseUrl}CONFIGURE_POSTGRESQL_JBOSS_EAP.adoc#download_and_install_postgresql :configurePostgresCreateUserDocUrl: {guidesBaseUrl}CONFIGURE_POSTGRESQL_JBOSS_EAP.adoc#create_a_database_user :configurePostgresAddModuleDocUrl: {guidesBaseUrl}CONFIGURE_POSTGRESQL_JBOSS_EAP.adoc#add_the_postgres_module_to_the_jboss_eap_server :configurePostgresDriverDocUrl: {guidesBaseUrl}CONFIGURE_POSTGRESQL_JBOSS_EAP.adoc#configure_the_postgresql_driver_in_the_jboss_eap_server :configureBytemanDownloadDocUrl: {guidesBaseUrl}CONFIGURE_BYTEMAN.adoc#download_and_configure_byteman :configureBytemanDisableDocUrl: {guidesBaseUrl}CONFIGURE_BYTEMAN.adoc#disable_the_byteman_script :configureBytemanClearDocUrl: {guidesBaseUrl}CONFIGURE_BYTEMAN.adoc#clear_the_transaction_object_store :configureBytemanQuickstartDocUrl: {guidesBaseUrl}CONFIGURE_BYTEMAN.adoc#configure_byteman_for_use_with_the_quickstarts :configureBytemanHaltDocUrl: {guidesBaseUrl}CONFIGURE_BYTEMAN.adoc#use_byteman_to_halt_the_application[ :configureBytemanQuickstartsDocUrl: {guidesBaseUrl}CONFIGURE_BYTEMAN.adoc#configure_byteman_for_use_with_the_quickstarts
:EESubsystemNamespace: urn:jboss:domain:ee:4.0 :IiopOpenJdkSubsystemNamespace: urn:jboss:domain:iiop-openjdk:2.0 :MailSubsystemNamespace: urn:jboss:domain:mail:3.0 :SingletonSubsystemNamespace: urn:jboss:domain:singleton:1.0 :TransactionsSubsystemNamespace: urn:jboss:domain:transactions:4.0
// LinkProductDocHome: https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/ :LinkProductDocHome: https://access.redhat.com/documentation/en/jboss-enterprise-application-platform-continuous-delivery :LinkConfigGuide: https://access.redhat.com/documentation/en-us/{DocInfoProductNameURL}/{DocInfoProductNumber}/html-single/configuration_guide/ :LinkDevelopmentGuide: https://access.redhat.com/documentation/en-us/{DocInfoProductNameURL}/{DocInfoProductNumber}/html-single/development_guide/ :LinkGettingStartedGuide: https://access.redhat.com/documentation/en-us/{DocInfoProductNameURL}/{DocInfoProductNumber}/html-single/getting_started_guide/ :LinkOpenShiftWelcome: https://docs.openshift.com/online/welcome/index.html :LinkOpenShiftSignup: https://docs.openshift.com/online/getting_started/choose_a_plan.html :OpenShiftTemplateName: JBoss EAP CD (no https)
:ConfigBookName: Configuration Guide :DevelopmentBookName: Development Guide :GettingStartedBookName: Getting Started Guide
:JBDSProductName: Red Hat CodeReady Studio :JBDSVersion: 12.15 :LinkJBDSInstall: https://access.redhat.com/documentation/en-us/red_hat_codeready_studio/{JBDSVersion}/html-single/installation_guide/ :JBDSInstallBookName: Installation Guide :LinkJBDSGettingStarted: https://access.redhat.com/documentation/en-us/red_hat_codeready_studio/{JBDSVersion}/html-single/getting_started_with_codeready_studio_tools/ :JBDSGettingStartedBookName: Getting Started with CodeReady Studio Tools
// Enable Rendering of Glow configuration in plugin examples :portedToGlow: true
:toc: :toclevels: 4 :numbered:
ifndef::ProductRelease,EAPXPRelease[] = {productName} Quickstarts
[toc]
[abstract] The quickstarts demonstrate {javaVersion} and a few additional technologies from the {productNameFull} stack. They provide small, specific, working examples that can be used as a reference for your own project.
[[introduction]] == Introduction
These quickstarts run on the WildFly application server. The quickstarts are configured to use the correct Maven dependencies and ensure that you test and compile the quickstarts against the correct runtime environment.
Each quickstart folder contains a README-source.adoc file that describes the quickstart features and provides instructions about how to build and run it. Instructions are provided to build the more readable README.html files.
Make sure you read this entire document before you attempt to work with the quickstarts.
[[system_requirements]] == System Requirements
The applications these projects produce are designed to be run on {productNameFull} {productVersion} or later.
All you need to build these projects is {buildRequirements}.
[[use_of_product_home_and_jboss_home_variables]] == Use of WILDFLY_HOME and QUICKSTART_HOME Variables
The quickstart README files use the replaceable value __WILDFLY_HOME__ to denote the path to the WildFly server. When you encounter this value in a README file, make sure you replace it with the actual path to your WildFly server.
When you see the replaceable variable QUICKSTART_HOME, replace it with the path to the root directory of all of the quickstarts.
[[suggested_approach_to_the_quickstarts]] == Suggested Approach to the Quickstarts
We recommend that you approach the quickstarts as follows:
- Regardless of your level of expertise, we suggest you start with the
helloworldquickstart. It is the simplest example and is an easy way to prove the server is configured and running correctly. - If you are a beginner or new to JBoss, start with the quickstarts labeled
Beginner, then try those marked asIntermediate. When you are comfortable with those, move on to theAdvancedquickstarts. - Some quickstarts are based upon other quickstarts but have expanded capabilities and functionality. If a prerequisite quickstart is listed, make sure you deploy and test it before looking at the expanded version.
The root folder of each individual quickstart contains a README.html file with detailed instructions on how to build and run the example.
// END ifndef::ProductRelease,EAPCDRelease,EAPXPRelease[] endif::[]
//********************************************************************************** // // WildFly Developers: You can ignore the rest of this file. // It is for the JBoss EAP product, CD and XP Releases. // //**********************************************************************************
ifdef::ProductRelease,EAPXPRelease[] // These instructions are only for the JBoss EAP product, CD and XP Releases. = {productNameFull} ({productName}) Quickstarts
[abstract] The quickstarts demonstrate {javaVersion} and a few additional technologies from the {productNameFull} stack. They provide small, specific, working examples that can be used as a reference for your own project.
[[introduction]] == Introduction
These quickstarts run on {productNameFull} {productVersion}.
We recommend that you use the {quickstartDownloadName} ZIP file, which you can download from the {quickstartDownloadUrl}[{productName} Software Download] page on the Red Hat Customer Portal. This version of the quickstarts uses the correct dependencies and ensures that you test and compile against the correct server runtime environment.
Each quickstart folder contains a README{outfilesuffix} file that describes the quickstart features and provides instructions about how to build and run it.
Make sure you read this entire document before you attempt to work with the quickstarts.
ifdef::ProductRelease,EAPXPRelease[] // System Requirements are not needed for the CD Releases, only for the Product and XP Release. [[system_requirements]] == System Requirements
The applications these projects produce are designed to be run on {productNameFull} {productVersion} or later.
All you need to build these projects is {buildRequirements}.
[[use_of_product_home_and_jboss_home_variables]] == Use of {jbossHomeName} and QUICKSTART_HOME Variables
The quickstart README files use the replaceable value __{jbossHomeName}__ to denote the path to the {productName} installation. When you encounter this value in a README file, make sure you replace it with the actual path to your {productName} installation. The installation path is described in detail here: link:{useProductHomeDocUrl}[Use of {jbossHomeName} and JBOSS_HOME Variables]
When you see the replaceable variable QUICKSTART_HOME, replace it with the path to the root directory of all of the quickstarts. // END ifdef::ProductRelease,EAPXPRelease[] endif::[]
[[suggested_approach_to_the_quickstarts]] == Suggested Approach to the Quickstarts
We suggest you approach the quickstarts as follows:
- Regardless of your level of expertise, we suggest you start with the
helloworldquickstart. It is the simplest example and is an easy way to prove the server is configured and running correctly. - If you are a beginner or new to JBoss, start with the quickstarts labeled
Beginner, then try those marked asIntermediate. When you are comfortable with those, move on to theAdvancedquickstarts. - Some quickstarts are based upon other quickstarts but have expanded capabilities and functionality. If a prerequisite quickstart is listed, make sure you deploy and test it before looking at the expanded version.
// END ifdef::ProductRelease,EAPXPRelease[] endif::[]
// The following is included for all versions: WildFly, JBoss EAP, EAP CD and EAP XP [[available_quickstarts]] == Table of Available Quickstarts
The sources for all available quickstarts, which are listed in the following table, can be found here: {githubRepoUrl}.
Each quickstart provides the list of technologies demonstrated by the quickstart and the required experience level needed to build and deploy it. Click on the quickstart link in the table to see more detailed information about how to run it. Some quickstarts require deployment of other quickstarts. This information is noted in the Prerequisites section of the quickstart README.html file.
NOTE: Some of these quickstarts use the H2 database included with {productNameFull} {productVersion}. It is a lightweight, relational example datasource that is used for examples only. It is not robust or scalable, is not supported, and should NOT be used in a production environment!
//<TOC>
[cols="1,1,2,1,1", options="header"]
|===
| Quickstart Name | Demonstrated Technologies | Description | Experience Level Required | Prerequisites
| link:batch-processing/README{outfilesuffix}[batch-processing]|CDI, Batch 1.0, JSF | The batch-processing quickstart shows how to use chunk oriented batch jobs to import a file to a database. | Intermediate | none
| link:bmt/README{outfilesuffix}[bmt]|EJB, BMT | The bmt quickstart demonstrates Bean-Managed Transactions (BMT), showing how to manually manage transaction demarcation while accessing JPA entities. | Intermediate | none
| link:cmt/README{outfilesuffix}[cmt]|EJB, CMT, JMS | The cmt quickstart demonstrates Container-Managed Transactions (CMT), showing how to use transactions managed by the container. | Intermediate | none
| link:ee-security/README{outfilesuffix}[ee-security]|EE Security, Servlet, CDI | The ee-security quickstart demonstrates Jakarta EE security. | Intermediate | none
| link:ejb-multi-server/README{outfilesuffix}[ejb-multi-server]|EJB, EAR | The ejb-multi-server quickstart shows how to communicate between multiple applications deployed to different servers using an EJB to log the invocation. | Advanced | none
| link:ejb-remote/README{outfilesuffix}[ejb-remote]|EJB, JNDI | The ejb-remote quickstart uses EJB and JNDI to demonstrate how to access an EJB, deployed to {productName}, from a remote Java client application. | Intermediate | none
| link:ejb-security-context-propagation/README{outfilesuffix}[ejb-security-context-propagation]|EJB, Security | The ejb-security-context-propagation quickstart demonstrates how the security context can be propagated to a remote EJB using a remote outbound connection configuration | Advanced | none
| link:ejb-security-programmatic-auth/README{outfilesuffix}[ejb-security-programmatic-auth]|EJB, Security | The ejb-security-programmatic-auth quickstart demonstrates how to programmatically setup different identities when invoking a remote secured EJB. | Intermediate | none
| link:ejb-throws-exception/README{outfilesuffix}[ejb-throws-exception]|EJB, EAR | The ejb-throws-exception quickstart demonstrates how to throw and handle exceptions across JARs in an EAR. | Intermediate | none
| link:ejb-timer/README{outfilesuffix}[ejb-timer]|EJB Timer | The ejb-timer quickstart demonstrates how to use the Jakarta Enterprise Bean timer service @Schedule and @Timeout annotations with {productName}. | Beginner | none
| link:ejb-txn-remote-call/README{outfilesuffix}[ejb-txn-remote-call]|EJB, JTA, Clustering | The ejb-txn-remote-call quickstart demonstrates remote transactional EJB calls over two application servers of {productName}. | Intermediate | none
| link:ha-singleton-deployment/README{outfilesuffix}[ha-singleton-deployment]|EJB, Singleton Deployments, Clustering | The ha-singleton-deployment quickstart demonstrates the recommended way to deploy any service packaged in an application archive as a cluster-wide singleton. | Advanced | none
| link:ha-singleton-service/README{outfilesuffix}[ha-singleton-service]|JBoss MSC, Singleton Service, Clustering | The ha-singleton-service quickstart demonstrates how to deploy a cluster-wide singleton JBoss MSC service. | Advanced | none
| link:helloworld/README{outfilesuffix}[helloworld]|Servlet | The helloworld quickstart demonstrates the use of Servlet 6 and is a good starting point to verify {productName} is configured correctly. | Beginner | none
| link:helloworld-jms/README{outfilesuffix}[helloworld-jms]|JMS | The helloworld-jms quickstart demonstrates the use of external JMS clients with {productName}. | Intermediate | none
| link:helloworld-mdb/README{outfilesuffix}[helloworld-mdb]|JMS, EJB, MDB | The helloworld-mdb quickstart uses JMS and EJB Message-Driven Bean (MDB) to create and deploy JMS topic and queue resources in {productName}. | Intermediate | none
| link:helloworld-mutual-ssl/README{outfilesuffix}[helloworld-mutual-ssl]|Mutual TLS, Undertow | The helloworld-mutual-ssl quickstart is a basic example that demonstrates mutual TLS configuration in {productName} | Intermediate | none
| link:helloworld-mutual-ssl-secured/README{outfilesuffix}[helloworld-mutual-ssl-secured]|Mutual TLS, Security, Undertow | The helloworld-mutual-ssl-secured quickstart demonstrates securing a Web application using client certificate authentication with authorization | Intermediate | none
| link:helloworld-singleton/README{outfilesuffix}[helloworld-singleton]|EJB, Singleton | The helloworld-singleton quickstart demonstrates an EJB Singleton Bean that is instantiated once and maintains state for the life of the session. | Beginner | none
| link:helloworld-ws/README{outfilesuffix}[helloworld-ws]|JAX-WS | The helloworld-ws quickstart demonstrates a simple Hello World application, bundled and deployed as a WAR, that uses JAX-WS to say Hello. | Beginner | none
| link:hibernate/README{outfilesuffix}[hibernate]|Hibernate | The hibernate quickstart demonstrates how to use Hibernate ORM 6 over Persistence, using Bean Validation, and Enterprise Beans. | Intermediate | none
| link:http-custom-mechanism/README{outfilesuffix}[http-custom-mechanism]|EJB, Security | The http-custom-mechanism quickstart demonstrates how to implement a custom HTTP authentication mechanism that can be registered with Elytron. | Intermediate | none
| link:jaxrs-client/README{outfilesuffix}[jaxrs-client]|JAX-RS | The jaxrs-client quickstart demonstrates Jakarta REST Client API, which interacts with a Jakarta REST Web service that runs on {productName}. | Beginner | none
| link:jaxrs-jwt/README{outfilesuffix}[jaxrs-jwt]|JAX-RS, Security | The jaxrs-jwt quickstart demonstrates a Jakarta REST secured application using JSON Web Tokens (JWT) with Elytron. | Intermediate | none
| link:jaxws-ejb/README{outfilesuffix}[jaxws-ejb]|JAX-WS | The jaxws-ejb quickstart is a working example of the web service endpoint created from an EJB. | Beginner | none
| link:jaxws-retail/README{outfilesuffix}[jaxws-retail]|JAX-WS | The jaxws-retail quickstart is a working example of a simple web service endpoint. | Beginner | none
| link:jsonp/README{outfilesuffix}[jsonp]|CDI, JSF, JSON-P | The jsonp quickstart demonstrates how to use the JSON-P API to produce object-based structures and then parse and consume them as stream-based JSON strings. | Beginner | none
| link:jta-crash-rec/README{outfilesuffix}[jta-crash-rec]|JTA, Crash Recovery | The jta-crash-rec quickstart uses JTA and Byteman to show how to code distributed (XA) transactions in order to preserve ACID properties on server crash. | Advanced | none
| link:jts/README{outfilesuffix}[jts]|JTS, EJB, JMS | The jts quickstart shows how to use JTS to perform distributed transactions across multiple containers, fulfilling the properties of an ACID transaction. | Intermediate | link:cmt/README.html[cmt]
| link:kitchensink/README{outfilesuffix}[kitchensink]|CDI, JSF, JPA, EJB, JAX-RS, BV | The kitchensink quickstart demonstrates a localized {javaVersion} web-enabled database application using JSF, CDI, EJB, JPA, and Bean Validation. | Intermediate | none
| link:logging/README{outfilesuffix}[logging]|Logging | The logging quickstart demonstrates how to configure different logging levels in {productName}. | Intermediate | none
| link:mail/README{outfilesuffix}[mail]|JavaMail, CDI, JSF | The mail quickstart demonstrates how to send and receive emails using CDI and JSF and with custom Mail provider configured in {productName}. | Beginner | none
| link:messaging-clustering-singleton/README{outfilesuffix}[messaging-clustering-singleton]|JMS, MDB, Clustering | The messaging-clustering-singleton quickstart uses a JMS topic and a queue to demonstrate clustering using {productName} messaging with MDB singleton configuration where only one node in the cluster will be active. | Advanced | none
| link:micrometer/README{outfilesuffix}[micrometer]|Micrometer | The micrometer quickstart demonstrates the use of the Micrometer library in {productName}. | Beginner | none
| link:microprofile-config/README{outfilesuffix}[microprofile-config]|MicroProfile Config | The microprofile-config quickstart demonstrates the use of the MicroProfile Config specification in {productName}. | Beginner | none
| link:microprofile-fault-tolerance/README{outfilesuffix}[microprofile-fault-tolerance]|MicroProfile, Fault Tolerance | The microprofile-fault-tolerance quickstart demonstrates how to use Eclipse MicroProfile Fault Tolerance in {productName}. | Intermediate | none
| link:microprofile-health/README{outfilesuffix}[microprofile-health]|MicroProfile Health | The microprofile-health quickstart demonstrates the use of the MicroProfile Health specification in {productName}. | Beginner | none
| link:microprofile-jwt/README{outfilesuffix}[microprofile-jwt]|JWT, Security, MicroProfile | The microprofile-jwt quickstart demonstrates the use of the MicroProfile JWT specification in {productName}. | Intermediate | none
| link:microprofile-lra/README{outfilesuffix}[microprofile-lra]|MicroProfile LRA | The microprofile-lra quickstart demonstrates the use of the MicroProfile LRA specification in {productName}. | Beginner | none
| link:microprofile-openapi/README{outfilesuffix}[microprofile-openapi]|MicroProfile OpenAPI | This guide demonstrate how to use the MicroProfile OpenAPI functionality in {productName} to expose an OpenAPI document for a simple REST application. | Beginner | none
| link:microprofile-reactive-messaging-kafka/README{outfilesuffix}[microprofile-reactive-messaging-kafka]|MicroProfile Reactive Messaging | The microprofile-reactive-messaging-kafka quickstart demonstrates the use of the MicroProfile Reactive Messaging specification backed by Apache Kafka in {productName}. | Beginner | none
| link:microprofile-rest-client/README{outfilesuffix}[microprofile-rest-client]|MicroProfile REST Client | The microprofile-rest-client quickstart demonstrates the use of the MicroProfile REST Client specification in {productName}. | Beginner | none
| link:numberguess/README{outfilesuffix}[numberguess]|CDI, JSF | The numberguess quickstart demonstrates the use of CDI (Contexts and Dependency Injection) and JSF (JavaServer Faces) in {productName}. | Beginner | none
| link:opentelemetry-tracing/README{outfilesuffix}[opentelemetry-tracing]|OpenTelemetry Tracing | The opentelemetry-tracing quickstart demonstrates the use of the OpenTelemetry tracing specification in {productName}. | Beginner | none
| link:remote-helloworld-mdb/README{outfilesuffix}[remote-helloworld-mdb]|JMS, EJB, MDB | The remote-helloworld-mdb quickstart demonstrates the use of JMS and EJB Message-Driven Bean in {productName} with a remote broker. | Intermediate | none
| link:security-domain-to-domain/README{outfilesuffix}[security-domain-to-domain]|Servlet, EJB, Security | The security-domain-to-domain quickstart demonstrates the propagation of an identity across two different deployments using different security domains. | Advanced | none
| link:servlet-async/README{outfilesuffix}[servlet-async]|Asynchronous Servlet, CDI, EJB | The servlet-async quickstart demonstrates how to use asynchronous servlets to detach long-running tasks and free up the request processing thread. | Intermediate | none
| link:servlet-filterlistener/README{outfilesuffix}[servlet-filterlistener]|Servlet Filter, Servlet Listener | The servlet-filterlistener quickstart demonstrates how to use Servlet filters and listeners in an application. | Intermediate | none
| link:servlet-security/README{outfilesuffix}[servlet-security]|Servlet, Security | The servlet-security quickstart demonstrates the use of Jakarta EE declarative security to control access to Servlets and Security in {productName}. | Intermediate | none
| link:spring-resteasy/README{outfilesuffix}[spring-resteasy]|Resteasy, Spring | The spring-resteasy quickstart demonstrates how to package and deploy a web application that includes resteasy-spring integration. | Beginner | none
| link:tasks-jsf/README{outfilesuffix}[tasks-jsf]|JSF, JPA | The tasks-jsf quickstart demonstrates how to use JPA persistence with JSF as the view layer. | Intermediate | none
| link:temperature-converter/README{outfilesuffix}[temperature-converter]|CDI, JSF, SLSB EJB | The temperature-converter quickstart does temperature conversion using an EJB Stateless Session Bean (SLSB), CDI, and a JSF front-end client. | Beginner | none
| link:thread-racing/README{outfilesuffix}[thread-racing]|Batch, CDI, EE Concurrency, JAX-RS, JMS, JPA, JSON, Web Sockets | A thread racing web application that demonstrates technologies introduced or updated in the latest Jakarta EE specification. | Beginner | none
| link:todo-backend/README{outfilesuffix}[todo-backend]|JPA, JAX-RS, OpenShift, Galleon | The todo-backend quickstart demonstrates how to implement a backend that exposes a HTTP API with JAX-RS | Intermediate | none
| link:websocket-endpoint/README{outfilesuffix}[websocket-endpoint]|CDI, WebSocket, JSON-P | Shows how to use WebSockets with JSON to broadcast information to all open WebSocket sessions in {productName}. | Beginner | none
| link:websocket-hello/README{outfilesuffix}[websocket-hello]|WebSocket, CDI, JSF | The websocket-hello quickstart demonstrates how to create a simple WebSocket application. | Beginner | none
|===
//</TOC>