diff --git a/README.adoc b/README.adoc new file mode 100644 index 0000000000..d5c1d6d986 --- /dev/null +++ b/README.adoc @@ -0,0 +1,399 @@ +//*********************************************************************************** +// 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: 31 +:productImageVersion: 31.0 +:githubRepoUrl: https://github.com/wildfly/quickstart/ +:githubRepoCodeUrl: https://github.com/wildfly/quickstart.git +:WildFlyQuickStartRepoTag: 31.0.0.Beta1 +:DocInfoProductName: Red Hat JBoss Enterprise Application Platform +:DocInfoProductNameURL: red_hat_jboss_enterprise_application_platform +// Do not update the following until after the 7.4 docs are published! +:DocInfoProductNumber: 7.4 +: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.Beta +// 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 + +: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.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. + +[[prerequisites]] +== Prerequisites + +[[build_quickstart_readme_files]] +=== Build the Quickstart README.html Files + +The quickstart `README` files are written in AsciiDoc, not only because the language is much more powerful than Markdown, but also also because it is possible to extract common instructions into separate files to be reused across the quickstarts. While this makes them more flexible and easier to maintain, unfortunately, included files do not render in a readable format in GitHub or in most text editors. + +The Maven plugin that is used to build and deploy the quickstarts can also generate fully rendered `README.html` instructions from the `README.adoc` files. + +To build all of the quickstart `README.html` files, including the root `README.html` file that contains the table with links to all available quickstarts, navigate to the root folder of the quickstarts and run the following command. + +[source,options="nowrap"] +---- +$ mvn clean package -Pdocs +---- + +[TIP] +==== +To build the `README.html` file for a specific quickstart, navigate to the quickstart directory and run the above command. +==== + +If you see errors about missing dependencies, check the xref:prerequisites[prerequisites] section to determine whether you need to xref:build_wildfly_boms[build the WildFly BOMs] that corresponds to the version of the quickstarts that you are using. + +[[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 `helloworld` quickstart. 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 as `Intermediate`. When you are comfortable with those, move on to the `Advanced` quickstarts. +* 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 `helloworld` quickstart. 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 as `Intermediate`. When you are comfortable with those, move on to the `Advanced` quickstarts. +* 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! + +// +[cols="1,1,2,1,1", options="header"] +|=== +| Quickstart Name | Demonstrated Technologies | Description | Experience Level Required | Prerequisites +| link:batch-processing/README{outfilesuffix}[batch-processing]| | The `batch-processing` quickstart shows how to use chunk oriented batch jobs to import a file to a database. | null | _none_ +| link:bmt/README{outfilesuffix}[bmt]| | The `bmt` quickstart demonstrates Bean-Managed Transactions (BMT), showing how to manually manage transaction demarcation while accessing JPA entities. | null | _none_ +| link:cmt/README{outfilesuffix}[cmt]| | The `cmt` quickstart demonstrates Container-Managed Transactions (CMT), showing how to use transactions managed by the container. | null | _none_ +| link:contacts-jquerymobile/README{outfilesuffix}[contacts-jquerymobile]| | The `contacts-jquerymobile` quickstart demonstrates a {javaVersion} mobile database application using HTML5, jQuery Mobile, JAX-RS, JPA, and REST. | null | _none_ +| link:ee-security/README{outfilesuffix}[ee-security]| | The `ee-security` quickstart demonstrates Jakarta EE security. | null | _none_ +| link:ejb-multi-server/README{outfilesuffix}[ejb-multi-server]| | The `ejb-multi-server` quickstart shows how to communicate between multiple applications deployed to different servers using an EJB to log the invocation. | null | _none_ +| link:ejb-remote/README{outfilesuffix}[ejb-remote]| | The `ejb-remote` quickstart uses EJB and JNDI to demonstrate how to access an EJB, deployed to {productName}, from a remote Java client application. | null | _none_ +| link:ejb-security-context-propagation/README{outfilesuffix}[ejb-security-context-propagation]| | The `ejb-security-context-propagation` quickstart demonstrates how the security context can be propagated to a remote EJB using a remote outbound connection configuration | null | _none_ +| link:ejb-security-programmatic-auth/README{outfilesuffix}[ejb-security-programmatic-auth]| | The `ejb-security-programmatic-auth` quickstart demonstrates how to programmatically setup different identities when invoking a remote secured EJB. | null | _none_ +| link:ejb-throws-exception/README{outfilesuffix}[ejb-throws-exception]| | The `ejb-throws-exception` quickstart demonstrates how to throw and handle exceptions across JARs in an EAR. | null | _none_ +| link:ejb-timer/README{outfilesuffix}[ejb-timer]| | The `ejb-timer` quickstart demonstrates how to use the Jakarta Enterprise Bean timer service `@Schedule` and `@Timeout` annotations with {productName}. | null | _none_ +| link:ejb-txn-remote-call/README{outfilesuffix}[ejb-txn-remote-call]| | The `ejb-txn-remote-call` quickstart demonstrates remote transactional EJB calls over two application servers of {productName}. | null | _none_ +| link:ha-singleton-deployment/README{outfilesuffix}[ha-singleton-deployment]| | The `ha-singleton-deployment` quickstart demonstrates the recommended way to deploy any service packaged in an application archive as a cluster-wide singleton. | null | _none_ +| link:ha-singleton-service/README{outfilesuffix}[ha-singleton-service]| | The `ha-singleton-service` quickstart demonstrates how to deploy a cluster-wide singleton JBoss MSC service. | null | _none_ +| link:helloworld/README{outfilesuffix}[helloworld]| | The `helloworld` quickstart demonstrates the use of Servlet 6 and is a good starting point to verify {productName} is configured correctly. | null | _none_ +| link:helloworld-jms/README{outfilesuffix}[helloworld-jms]| | The `helloworld-jms` quickstart demonstrates the use of external JMS clients with {productName}. | null | _none_ +| link:helloworld-mdb/README{outfilesuffix}[helloworld-mdb]| | The `helloworld-mdb` quickstart uses JMS and EJB Message-Driven Bean (MDB) to create and deploy JMS topic and queue resources in {productName}. | null | _none_ +| link:helloworld-mutual-ssl/README{outfilesuffix}[helloworld-mutual-ssl]| | The `helloworld-mutual-ssl` quickstart is a basic example that demonstrates mutual TLS configuration in {productName} | null | _none_ +| link:helloworld-mutual-ssl-secured/README{outfilesuffix}[helloworld-mutual-ssl-secured]| | The `helloworld-mutual-ssl-secured` quickstart demonstrates securing a Web application using client certificate authentication with authorization | null | _none_ +| link:helloworld-singleton/README{outfilesuffix}[helloworld-singleton]| | The `helloworld-singleton` quickstart demonstrates an EJB Singleton Bean that is instantiated once and maintains state for the life of the session. | null | _none_ +| link:helloworld-ws/README{outfilesuffix}[helloworld-ws]| | The `helloworld-ws` quickstart demonstrates a simple Hello World application, bundled and deployed as a WAR, that uses JAX-WS to say Hello. | null | _none_ +| link:hibernate/README{outfilesuffix}[hibernate]| | The `hibernate` quickstart demonstrates how to use Hibernate ORM 6 over Persistence, using Bean Validation, and Enterprise Beans. | null | _none_ +| link:http-custom-mechanism/README{outfilesuffix}[http-custom-mechanism]| | The `http-custom-mechanism` quickstart demonstrates how to implement a custom HTTP authentication mechanism that can be registered with Elytron. | null | _none_ +| link:jaxrs-client/README{outfilesuffix}[jaxrs-client]| | The `jaxrs-client` quickstart demonstrates Jakarta REST Client API, which interacts with a Jakarta REST Web service that runs on {productName}. | null | _none_ +| link:jaxrs-jwt/README{outfilesuffix}[jaxrs-jwt]| | The `jaxrs-jwt` quickstart demonstrates a Jakarta REST secured application using JSON Web Tokens (JWT) with Elytron. | null | _none_ +| link:jaxws-ejb/README{outfilesuffix}[jaxws-ejb]| | The `jaxws-ejb` quickstart is a working example of the web service endpoint created from an EJB. | null | _none_ +| link:jaxws-retail/README{outfilesuffix}[jaxws-retail]| | The `jaxws-retail` quickstart is a working example of a simple web service endpoint. | null | _none_ +| link:jsonp/README{outfilesuffix}[jsonp]| | 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. | null | _none_ +| link:jta-crash-rec/README{outfilesuffix}[jta-crash-rec]| | 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. | null | _none_ +| link:jts/README{outfilesuffix}[jts]| | The `jts` quickstart shows how to use JTS to perform distributed transactions across multiple containers, fulfilling the properties of an ACID transaction. | null | _none_ +| link:kitchensink/README{outfilesuffix}[kitchensink]| | The `kitchensink` quickstart demonstrates a localized {javaVersion} web-enabled database application using JSF, CDI, EJB, JPA, and Bean Validation. | null | _none_ +| link:logging/README{outfilesuffix}[logging]| | The `logging` quickstart demonstrates how to configure different logging levels in {productName}. | null | _none_ +| link:mail/README{outfilesuffix}[mail]| | The `mail` quickstart demonstrates how to send and receive emails using CDI and JSF and with custom Mail provider configured in {productName}. | null | _none_ +| link:messaging-clustering-singleton/README{outfilesuffix}[messaging-clustering-singleton]| | 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. | null | _none_ +| link:micrometer/README{outfilesuffix}[micrometer]| | The `micrometer` quickstart demonstrates the use of the Micrometer library in {productName}. | null | _none_ +| link:microprofile-config/README{outfilesuffix}[microprofile-config]| | The `microprofile-config` quickstart demonstrates the use of the MicroProfile Config specification in {productName}. | null | _none_ +| link:microprofile-fault-tolerance/README{outfilesuffix}[microprofile-fault-tolerance]| | The `microprofile-fault-tolerance` quickstart demonstrates how to use Eclipse MicroProfile Fault Tolerance in {productName}. | null | _none_ +| link:microprofile-health/README{outfilesuffix}[microprofile-health]| | The `microprofile-health` quickstart demonstrates the use of the MicroProfile Health specification in {productName}. | null | _none_ +| link:microprofile-jwt/README{outfilesuffix}[microprofile-jwt]| | The `microprofile-jwt` quickstart demonstrates the use of the MicroProfile JWT specification in {productName}. | null | _none_ +| link:microprofile-lra/README{outfilesuffix}[microprofile-lra]| | The `microprofile-lra` quickstart demonstrates the use of the MicroProfile LRA specification in {productName}. | null | _none_ +| link:microprofile-openapi/README{outfilesuffix}[microprofile-openapi]| | This guide demonstrate how to use the MicroProfile OpenAPI functionality in {productName} to expose an OpenAPI document for a simple REST application. | null | _none_ +| link:microprofile-reactive-messaging-kafka/README{outfilesuffix}[microprofile-reactive-messaging-kafka]| | The `microprofile-reactive-messaging-kafka` quickstart demonstrates the use of the MicroProfile Reactive Messaging specification backed by Apache Kafka in {productName}. | null | _none_ +| link:microprofile-rest-client/README{outfilesuffix}[microprofile-rest-client]| | The `microprofile-rest-client` quickstart demonstrates the use of the MicroProfile REST Client specification in {productName}. | null | _none_ +| link:numberguess/README{outfilesuffix}[numberguess]| | The `numberguess` quickstart demonstrates the use of CDI (Contexts and Dependency Injection) and JSF (JavaServer Faces) in {productName}. | null | _none_ +| link:opentelemetry-tracing/README{outfilesuffix}[opentelemetry-tracing]| | The `opentelemetry-tracing` quickstart demonstrates the use of the OpenTelemetry tracing specification in {productName}. | null | _none_ +| link:remote-helloworld-mdb/README{outfilesuffix}[remote-helloworld-mdb]| | The `remote-helloworld-mdb` quickstart demonstrates the use of JMS and EJB Message-Driven Bean in {productName} with a remote broker. | null | _none_ +| link:security-domain-to-domain/README{outfilesuffix}[security-domain-to-domain]| | The `security-domain-to-domain` quickstart demonstrates the propagation of an identity across two different deployments using different security domains. | null | _none_ +| link:servlet-async/README{outfilesuffix}[servlet-async]| | The `servlet-async` quickstart demonstrates how to use asynchronous servlets to detach long-running tasks and free up the request processing thread. | null | _none_ +| link:servlet-filterlistener/README{outfilesuffix}[servlet-filterlistener]| | The `servlet-filterlistener` quickstart demonstrates how to use Servlet filters and listeners in an application. | null | _none_ +| link:servlet-security/README{outfilesuffix}[servlet-security]| | The `servlet-security` quickstart demonstrates the use of Jakarta EE declarative security to control access to Servlets and Security in {productName}. | null | _none_ +| link:spring-resteasy/README{outfilesuffix}[spring-resteasy]| | The `spring-resteasy` quickstart demonstrates how to package and deploy a web application that includes resteasy-spring integration. | null | _none_ +| link:tasks-jsf/README{outfilesuffix}[tasks-jsf]| | The `tasks-jsf` quickstart demonstrates how to use JPA persistence with JSF as the view layer. | null | _none_ +| link:temperature-converter/README{outfilesuffix}[temperature-converter]| | The `temperature-converter` quickstart does temperature conversion using an EJB Stateless Session Bean (SLSB), CDI, and a JSF front-end client. | null | _none_ +| link:thread-racing/README{outfilesuffix}[thread-racing]| | A thread racing web application that demonstrates technologies introduced or updated in the latest Jakarta EE specification. | null | _none_ +| link:todo-backend/README{outfilesuffix}[todo-backend]| | The `todo-backend` quickstart demonstrates how to implement a backend that exposes a HTTP API with JAX-RS | null | _none_ +| link:websocket-endpoint/README{outfilesuffix}[websocket-endpoint]| | Shows how to use WebSockets with JSON to broadcast information to all open WebSocket sessions in {productName}. | null | _none_ +| link:websocket-hello/README{outfilesuffix}[websocket-hello]| | The `websocket-hello` quickstart demonstrates how to create a simple WebSocket application. | null | _none_ +| link:wsat-simple/README{outfilesuffix}[wsat-simple]| | The `wsat-simple` quickstart demonstrates a WS-AT (WS-AtomicTransaction) enabled JAX-WS Web service, bundled as a WAR, and deployed to {productName}. | null | _none_ +| link:wsba-coordinator-completion-simple/README{outfilesuffix}[wsba-coordinator-completion-simple]| | The `wsba-coordinator-completion-simple` quickstart deploys a WS-BA (WS Business Activity) enabled JAX-WS Web service WAR (CoordinatorCompletion protocol). | null | _none_ +| link:wsba-participant-completion-simple/README{outfilesuffix}[wsba-participant-completion-simple]| | The `wsba-participant-completion-simple` quickstart deploys a WS-BA (WS Business Activity) enabled JAX-WS Web service WAR (ParticipantCompletion Protocol). | null | _none_ +|=== +//