The quickstarts demonstrate Jakarta EE 8 and a few additional technologies from the Red Hat JBoss Enterprise Application Platform stack. They provide small, specific, working examples that can be used as a reference for your own project.
1. Introduction
These quickstarts run on Red Hat JBoss Enterprise Application Platform 7.4. Each quickstart folder contains a README.html file that describes the quickstart features and provides instructions about how to build and run it.
We recommend that you use the Red Hat JBoss Enterprise Application Platform 7.4 Quickstarts ZIP file, which you can download from the JBoss EAP 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.html 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.
2. System Requirements
The applications these projects produce are designed to be run on Red Hat JBoss Enterprise Application Platform 7.4 or later.
All you need to build these projects is Java 8.0 (Java SDK 1.8) or later and Maven 3.3.1 or later.
3. Use of EAP_HOME and QUICKSTART_HOME Variables
The quickstart README files use the replaceable value EAP_HOME to denote the path to the JBoss EAP installation. When you encounter this value in a README file, make sure you replace it with the actual path to your JBoss EAP installation. The installation path is described in detail here: Use of EAP_HOME 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.
4. 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.
5. Run the Quickstarts Using the Maven Command Line
The root folder of each individual quickstart contains a README file with specific details on how to build and run the example. In most cases you do the following:
-
Optionally, you can build the quickstart archive to test for compile errors.
-
Undeploy the quickstart when you are finished testing.
|
Important
|
See the README file in each individual quickstart folder for specific details and information on how to run and access the example.
|
5.1. Build the Quickstart Archive
You can follow these steps to build the application to test for compile errors or to view the contents of the archive. See the specific quickstart README file for complete details.
-
Open a terminal and navigate to the root directory of the quickstart you want to build.
-
Use the following command if you only want to build the archive, but not deploy it.
$ mvn clean install
5.2. Build and Deploy the Quickstart
This section describes the basic steps to build and deploy an application. See the specific instructions in each quickstart README file for any variations to this process.
-
Make sure you start the JBoss EAP server as described in the quickstart
READMEfile. -
Open a terminal and navigate to the root directory of the quickstart you want to run.
-
Use the following command to build and deploy the archive.
$ mvn clean install wildfly:deploy
5.3. Undeploy an Quickstart
Use the following command to undeploy the quickstart.
$ mvn wildfly:undeploy
6. Getting Started with JBoss EAP for OpenShift
Each quickstart README.html file contains the basic instructions to build and deploy the quickstart to JBoss EAP for OpenShift or JBoss EAP for OpenShift Online.
See Getting Started with JBoss EAP for OpenShift Container Platform for more detailed information about building and running applications on JBoss EAP for OpenShift.
See Getting Started with JBoss EAP for OpenShift Online for more detailed information about building and running applications on JBoss EAP for OpenShift Online.
7. Use Red Hat CodeReady Workspaces or Eclipse Che
7.1. What is a devfile
A devfile is a file that describes and define a development environment:
-
The source code.
-
The development components, such as browser IDE tools and application runtimes.
-
A list of pre-defined commands.
-
Projects to clone.
A devfiles is a YAML file that CodeReady Workspaces consumes and transforms into a cloud workspace composed of multiple containers. You can find more details in the End-user Guide for Red Hat CodeReady Workspaces.
We provide sample Red Hat CodeReady Workspaces or Eclipse Che devfiles to build and run the kitchensink-jsp Quickstart with this cloud IDE.
|
Important
|
The devfiles provided are UNSUPPORTED. They are provided as examples only. |
7.2. How to use those devfiles
To create your workspace you can either copy and paste the content from our devfiles accessible at crw-java8-maven-eap.yaml and crw-java11-maven-eap.yaml.
Another solution is to paste the URL:
and let the IDE download the files.
If you want to try this Quickstart on the Developer Sandbox for Red Hat OpenShift you can use the following links :
|
Important
|
When using the Java 8 devfile, you must not install the Java11 plugin in your workspace as it will conflict with the selected Java8 plugin and this will break debugging (see CRW-1789 for more details). So don’t install the proposed plugins when you are prompted. |
7.2.1. Where to Find Information
-
For information about how to download and install Red Hat CodeReady Workspaces, see the Installation Guide.
-
For information about how to configure JBoss EAP within Red Hat CodeReady Workspaces, see End-user Guide.
-
For information about how to import the quickstarts into Red Hat CodeReady Workspaces, and for examples of how to build and deploy a basic quickstart, see Using the Quickstart Examples in the Getting Started Guide for JBoss EAP.
See Red Hat CodeReady Workspaces on the Red Hat Developer Program website for additional information.
8. Run the Quickstarts in Red Hat CodeReady Studio or Eclipse
You can also start the server and deploy the quickstarts or run the Arquillian tests from Eclipse using JBoss tools. For general information about how to import a quickstart, add a JBoss EAP server, and build and deploy a quickstart, see Use Red Hat CodeReady Studio or Eclipse to Run the Quickstarts.
9. Configure Optional Components
The following components are needed for only a small subset of the quickstarts. Do not install or configure them unless the quickstart requires it.
9.1. Create Quickstart Users
Some of the quickstarts, particularly those that run in a secured mode and demonstrate security, require that you create quickstart users with different roles for authorization purposes. See Create Users Required by the Quickstarts for detailed instructions to create users required by the quickstarts.
9.2. Configure the PostgreSQL Database
Some of the quickstarts that demonstrate transactions require that you install and configure the PostgreSQL database. See Configure the PostgreSQL Database for Use with the Quickstarts for instructions.
9.3. Configure Byteman
A few of the quickstarts use Byteman to demonstrate distributed transaction processing and crash recovery. See Configure Byteman for Use with the Quickstarts for instructions.
10. Table of Available Quickstarts
All available quickstarts, which are listed in the following table, can be found here: https://github.com/jboss-developer/jboss-eap-quickstarts/.
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 WildFly. 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! |
| Quickstart Name | Demonstrated Technologies | Openshift Compatible | Description | Experience Level Required | Prerequisites |
|---|---|---|---|---|---|
EJB, EAR, AppClient |
No |
The |
Intermediate |
none |
|
CDI, Batch 1.0, JSF |
Yes |
The |
Intermediate |
none |
|
CDI, JPA, BV |
No |
The |
Beginner |
none |
|
CDI, JPA, BV |
No |
The |
Beginner |
none |
|
EJB, BMT |
Yes |
The |
Intermediate |
none |
|
EJB, CMT, JMS |
Yes |
The |
Intermediate |
none |
|
jQuery Mobile, jQuery, JavaScript, HTML5, REST |
Yes |
The |
Beginner |
none |
|
Asynchronous EJB |
No |
The |
Advanced |
none |
|
EJB, EAR |
No |
The |
Intermediate |
none |
|
EJB, JSF, WAR |
Yes |
The |
Intermediate |
none |
|
EJB, EAR |
No |
The |
Advanced |
none |
|
EJB, JNDI |
No |
The |
Intermediate |
none |
|
EJB, Security |
No |
The |
Intermediate |
none |
|
EJB, Security |
No |
The |
Advanced |
none |
|
EJB, Security |
No |
The |
Intermediate |
none |
|
EJB, Security |
No |
The |
Intermediate |
none |
|
EJB, EAR |
No |
The |
Intermediate |
none |
|
EJB Timer |
Yes |
The |
Beginner |
none |
|
EJB, JTA, Clustering |
Yes |
The |
Intermediate |
none |
|
CDI, JSF, JPA, EJB, JTA |
Yes |
The |
Beginner |
none |
|
EJB, Singleton Deployments, Clustering |
No |
The |
Advanced |
none |
|
JBoss MSC, Singleton Service, Clustering |
No |
The |
Advanced |
none |
|
CDI, Servlet |
Yes |
The |
Beginner |
none |
|
CDI, JAX-RS, HTML5 |
Yes |
The |
Beginner |
none |
|
JMS |
No |
The |
Intermediate |
none |
|
CDI, JMX, MBean |
No |
The |
Intermediate |
none |
|
JMS, EJB, MDB |
Yes |
The |
Intermediate |
none |
|
JMS, EJB, MDB |
No |
The |
Intermediate |
none |
|
Mutual SSL, Undertow |
No |
The |
Intermediate |
none |
|
Mutual SSL, Security, Undertow |
No |
The |
Intermediate |
none |
|
CDI, JAX-RS |
Yes |
The |
Intermediate |
none |
|
EJB, Singleton |
Yes |
The |
Beginner |
none |
|
SSL, Undertow |
No |
The |
Beginner |
none |
|
JAX-WS |
No |
The |
Beginner |
none |
|
Hibernate |
Yes |
The |
Intermediate |
none |
|
EJB, CDI, JSF |
No |
The |
Advanced |
none |
|
JAX-RS |
Yes |
The |
Beginner |
none |
|
JAX-WS |
No |
The |
Beginner |
none |
|
JAX-WS |
No |
The |
Beginner |
none |
|
JAX-WS |
No |
The |
Beginner |
none |
|
JAX-WS |
No |
The |
Beginner |
none |
|
CDI, JSF, JSON-P |
Yes |
The |
Beginner |
none |
|
JTA, Crash Recovery |
No |
The |
Advanced |
none |
|
JTS, EJB, JMS |
No |
The |
Intermediate |
||
JTS, Crash Recovery |
No |
The |
Advanced |
||
CDI, JSF, JPA, EJB, JAX-RS, BV |
Yes |
The |
Intermediate |
none |
|
AngularJS, CDI, JPA, EJB, JPA, JAX-RS, BV |
Yes |
The |
Intermediate |
none |
|
CDI, JSF, JPA, EJB, JAX-RS, BV, EAR |
No |
The |
Intermediate |
none |
|
JSP, JSTL, CDI, JPA, EJB, JAX-RS, BV |
Yes |
The |
Intermediate |
none |
|
CDI, JSF, JPA, EJB, JAX-RS, BV, i18n, l10n |
Yes |
The |
Intermediate |
none |
|
Logging |
No |
The |
Intermediate |
none |
|
JBoss Logging Tools |
Yes |
The |
Beginner |
none |
|
JavaMail, CDI, JSF |
No |
The |
Beginner |
none |
|
EE Concurrency Utilities, JAX-RS, JAX-RS Client API |
Yes |
The |
Beginner |
none |
|
JMS, MDB |
No |
The |
Intermediate |
||
JMS, MDB, Clustering |
No |
The |
Advanced |
none |
|
CDI, JSF |
Yes |
The |
Beginner |
none |
|
CDI, JSF |
Yes |
The |
Beginner |
none |
|
JAX-RS, CDI |
No |
The |
Intermediate |
||
Asynchronous Servlet, CDI, EJB |
Yes |
The |
Intermediate |
none |
|
Servlet Filter, Servlet Listener |
Yes |
The |
Intermediate |
none |
|
Servlet, Security |
No |
The |
Intermediate |
none |
|
SFSB EJB |
No |
The |
Intermediate |
none |
|
Spring MVC, JSP, JPA |
Yes |
The |
Beginner |
none |
|
JSP, JPA, JSON, Spring, JUnit |
Yes |
The |
Intermediate |
none |
|
JSP, JPA, JSON, Spring, JUnit |
Yes |
The |
Intermediate |
none |
|
Resteasy, Spring |
Yes |
The |
Beginner |
none |
|
JSF, JPA |
Yes |
The |
Intermediate |
none |
|
JPA, JAX-RS |
No |
The |
Intermediate |
none |
|
CDI, JSF, SLSB EJB |
Yes |
The |
Beginner |
none |
|
Batch, CDI, EE Concurrency, JAX-RS, JMS, JPA, JSON, Web Sockets |
Yes |
A thread racing web application that demonstrates technologies introduced or updated in the latest Jakarta EE specification. |
Beginner |
none |
|
JPA, JAX-RS, OpenShift, Galleon |
No |
The |
Intermediate |
none |
|
Web Socket, CDI Events, JSON, SSL |
Yes |
Demonstrates use of a Javascript WebSocket client, WebSocket configuration, programmatic binding, and secure WebSocket. |
Intermediate |
none |
|
CDI, WebSocket, JSON-P |
Yes |
Shows how to use WebSockets with JSON to broadcast information to all open WebSocket sessions in JBoss EAP. |
Beginner |
none |
|
WebSocket, CDI, JSF |
Yes |
The |
Beginner |
none |
|
WS-AT, JAX-WS |
No |
The |
Intermediate |
none |
|
WS-BA, JAX-WS |
No |
The |
Intermediate |
none |
|
WS-BA, JAX-WS |
No |
The |
Intermediate |
none |
|
JAXP, SAX, DOM, Servlet |
Yes |
The |
Intermediate |
none |