The quickstarts demonstrate Java EE 7 and a few additional technologies from the JBoss stack. They provide small, specific, working examples that can be used as a reference for your own project.
These quickstarts run on WildFly Application Server 12 or later. We recommend using the WildFly ZIP file. This version uses the correct dependencies and ensures you test and compile against your runtime environment.
Make sure you read this entire document before you attempt to work with the quickstarts. It contains the following information:
-
Available Quickstarts: List of the available quickstarts and details about each one.
-
Suggested Approach to the Quickstarts: A suggested approach on how to work with the quickstarts.
-
System Requirements: List of software required to run the quickstarts.
-
Configure Maven: How to configure the Maven repository for use by the quickstarts.
-
Run the Quickstarts: General instructions for building, deploying, and running the quickstarts.
-
Run the Arquillian Tests: How to run the Arquillian tests provided by some of the quickstarts.
-
Optional Components: How to install and configure optional components required by some of the quickstarts.
-
Contributing Guide: This document contains information targeted for developers who want to contribute to JBoss developer projects.
The quickstart README
files use the replaceable value WILDFLY_HOME
to denote the path to the WildFly installation. When you encounter this value in a README
file, make sure you replace it with the actual path to your WildFly installation. The installation path is described in detail here: Use of WILDFLY_HOME and JBOSS_HOME Variables.
All available quickstarts can be found here: https://developers.redhat.com/quickstarts/eap/. You can review the technologies demonstrated by the quickstart. You can also view the required experience level. Click on the quickstart 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
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 | Description | Experience Level Required | Prerequisites |
---|---|---|---|---|
EJB, EAR, AppClient |
The |
Intermediate |
none |
|
CDI, Batch 1.0, JSF |
The |
Intermediate |
none |
|
CDI, JPA, BV |
The |
Beginner |
none |
|
CDI, JPA, BV |
The |
Beginner |
none |
|
EJB, BMT |
The |
Intermediate |
none |
|
EJB, CMT, JMS |
The |
Intermediate |
none |
|
jQuery Mobile, jQuery, JavaScript, HTML5, REST |
The |
Beginner |
none |
|
JSF, CDI, Deltaspike |
Demonstrate the creation of a custom authorization example using @SecurityBindingType from DeltaSpike |
Beginner |
none |
|
CDI, DeltaSpike |
Shows how to create new beans using DeltaSpike utilities. |
Advanced |
none |
|
JSF, CDI, Deltaspike |
Demonstrate usage of DeltaSpike project stage and shows usage of a conditional @Exclude |
Beginner |
none |
|
Asynchronous EJB |
The |
Advanced |
none |
|
EJB, EAR |
The |
Intermediate |
none |
|
EJB, JSF, WAR |
The |
Intermediate |
none |
|
EJB, EAR |
The |
Advanced |
none |
|
EJB, JNDI |
The |
Intermediate |
none |
|
EJB, Security |
The |
Intermediate |
none |
|
EJB, Security |
The |
Advanced |
none |
|
EJB, Security |
The |
Intermediate |
none |
|
EJB, Security |
The |
Intermediate |
none |
|
EJB, EAR |
The |
Intermediate |
none |
|
EJB Timer |
The |
Beginner |
none |
|
CDI, JSF, JPA, EJB, JTA |
The |
Beginner |
none |
|
EJB, Singleton Deployments, Clustering |
The |
Advanced |
none |
|
MSC, Singleton Service, Clustering |
The |
Advanced |
none |
|
CDI, Servlet |
The |
Beginner |
none |
|
ClassLoading |
This is a WAR based application showing you how Wildfly let you apply a ClassTransformer to the classes in your enterprise archive. |
Advanced |
none |
|
CDI, JAX-RS, HTML5 |
The |
Beginner |
none |
|
JMS |
The |
Intermediate |
none |
|
CDI, JMX, MBean |
The |
Intermediate |
none |
|
JMS, EJB, MDB |
The |
Intermediate |
none |
|
JMS, EJB, MDB |
The |
Intermediate |
none |
|
Mutual SSL, Undertow |
The |
Intermediate |
none |
|
Mutual SSL, Security, Undertow |
The |
Intermediate |
none |
|
CDI, JSF, RichFaces |
Similar to the helloworld quickstart, but with a JSF front end |
Beginner |
none |
|
CDI, JAX-RS |
The |
Intermediate |
none |
|
EJB, Singleton |
The |
Beginner |
none |
|
SSL, Undertow |
The |
Beginner |
none |
|
JAX-WS |
The |
Beginner |
none |
|
Hibernate |
The |
Intermediate |
none |
|
Hibernate 4 |
This quickstart performs the same functions as the hibernate quickstart, but uses Hibernate 4 for database access. Compare this quickstart to the hibernate quickstart to see the changes needed to run with Hibernate 5. |
Intermediate |
none |
|
EJB, Security |
The |
Intermediate |
none |
|
EJB, CDI, JSF |
The |
Advanced |
none |
|
JAX-RS |
The |
Beginner |
none |
|
JAX-RS, Security |
The |
Intermediate |
none |
|
JAX-WS |
The |
Beginner |
none |
|
JAX-WS |
The |
Beginner |
none |
|
JAX-WS |
The |
Beginner |
none |
|
JAX-WS |
The |
Beginner |
none |
|
CDI, JSF, JSON-P |
The |
Beginner |
none |
|
JTA, Crash Recovery |
The |
Advanced |
none |
|
JTS, EJB, JMS |
The |
Intermediate |
||
JTS, Crash Recovery |
The |
Advanced |
||
CDI, JSF, JPA, EJB, JAX-RS, BV |
The |
Intermediate |
none |
|
AngularJS, CDI, JPA, EJB, JPA, JAX-RS, BV |
The |
Intermediate |
none |
|
CDI, JSF, JPA, EJB, JAX-RS, BV, EAR |
The |
Intermediate |
none |
|
JSP, JSTL, CDI, JPA, EJB, JAX-RS, BV |
The |
Intermediate |
none |
|
CDI, JSF, JPA, EJB, JAX-RS, BV, i18n, l10n |
The |
Intermediate |
none |
|
Undertow.js, Angular.js |
Based on kitchensink, but uses a Angular for the front end and Undertow.js for the back end. |
Intermediate |
none |
|
Undertow.js, Mustache |
Based on kitchensink, but uses Mustache for the front end and Undertow.js for the back end. |
Intermediate |
none |
|
Logging |
The |
Intermediate |
none |
|
JBoss Logging Tools |
The |
Beginner |
none |
|
JavaMail, CDI, JSF |
The |
Beginner |
none |
|
EE Concurrency Utilities, JAX-RS, JAX-RS Client API |
The |
Beginner |
none |
|
JMS, MDB |
The |
Intermediate |
||
JMS, MDB, Clustering |
The |
Advanced |
none |
|
CDI, JSF |
The |
Beginner |
none |
|
CDI, JSF |
The |
Beginner |
none |
|
JAX-RS, CDI |
The |
Intermediate |
||
Servlet, EJB, Security |
The |
Advanced |
none |
|
Asynchronous Servlet, CDI, EJB |
The |
Intermediate |
none |
|
Servlet Filter, Servlet Listener |
The |
Intermediate |
none |
|
Servlet, Security |
The |
Intermediate |
none |
|
SFSB EJB |
The |
Intermediate |
none |
|
Spring MVC, JSP, JPA |
The |
Beginner |
none |
|
JSP, JPA, JSON, Spring, JUnit |
The |
Intermediate |
none |
|
JSP, JPA, JSON, Spring, JUnit |
The |
Intermediate |
none |
|
Resteasy, Spring |
The |
Beginner |
none |
|
JSF, JPA |
The |
Intermediate |
||
JPA, JAX-RS |
The |
Intermediate |
||
CDI, JSF, SLSB EJB |
The |
Beginner |
none |
|
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 Java EE specification. |
Beginner |
none |
|
Web Socket, CDI Events, JSON, SSL |
Demonstrates use of a Javascript WebSocket client, WebSocket configuration, programmatic binding, and secure WebSocket. |
Intermediate |
none |
|
CDI, WebSocket, JSON-P |
Shows how to use WebSockets with JSON to broadcast information to all open WebSocket sessions in WildFly. |
Beginner |
none |
|
WebSocket, CDI, JSF |
The |
Beginner |
none |
|
Apache Wicket, JPA |
Demonstrates how to use the Wicket Framework 7.x with the JBoss server using the Wicket Java EE integration, packaged as an EAR |
Intermediate |
none |
|
Apache Wicket, JPA |
Demonstrates how to use the Wicket Framework 7.x with the JBoss server using the Wicket Java EE integration packaged as a WAR |
Intermediate |
none |
|
WS-AT, JAX-WS |
The |
Intermediate |
none |
|
WS-BA, JAX-WS |
The |
Intermediate |
none |
|
WS-BA, JAX-WS |
The |
Intermediate |
none |
|
JAXP, SAX, DOM, Servlet |
The |
Intermediate |
none |
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 your server is configured and started 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 theAdvanced
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 applications these projects produce are designed to be run on WildFly Application Server 12 or later.
All you need to build these projects is {buildRequirements}. See Configure Maven to Build and Deploy the Quickstarts to make sure you are configured correctly for testing the quickstarts.
To run these quickstarts with the provided build scripts, you need the WildFly distribution ZIP. For information on how to install and run JBoss, see the {LinkGettingStartedGuide}[{GettingStartedBookName}] for {DocInfoProductName} located on the Red Hat Customer Portal.
You can also run the quickstarts in JBoss Developer Studio or Eclipse.
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:
See the README
file in each individual quickstart folder for specific details and information on how to run and access the example.
In most cases, you can use the following 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
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 WildFly server as described in the quickstart
README
file. -
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
You can verify the quickstarts build using one command. However, quickstarts that have complex dependencies must be skipped. For example, the resteasy-jaxrs-client
quickstart is a RESTEasy client that depends on the deployment of the helloworld-rs
quickstart. As noted above, the root pom.xml
file defines a complex-dependencies
profile to exclude these quickstarts from the root build process.
To build all of the quickstarts:
-
Do not start the WildFly server.
-
Open a terminal and navigate to the root directory of the quickstarts.
-
Use the following command to build the quickstarts that do not have complex dependencies:
$ mvn clean install '-Pdefault,!complex-dependencies'
To undeploy the quickstarts from the root of the quickstart folder, you must pass the argument -fae
(fail at end) on the command line. This allows the command to continue past quickstarts that fail due to complex dependencies and quickstarts that only have Arquillian tests and do not deploy archives to the server.
You can undeploy quickstarts using the following procedure:
-
Start the WildFly server.
-
Open a terminal and navigate to the root directory of the quickstarts.
-
Use the following command to undeploy any deployed quickstarts.
$ mvn wildfly:undeploy -fae
To undeploy any quickstarts that fail due to complex dependencies, follow the undeploy procedure described in the quickstart’s README
file.
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 WildFly server, and build and deploy a quickstart, see Use JBoss Developer Studio or Eclipse to Run the Quickstarts.
The following components are needed for only a small subset of the quickstarts. Do not install or configure them unless the quickstart requires it.
-
Create Users Required by the Quickstarts: Add a Management or Application user for the quickstarts that run in a secured mode.
-
Configure the PostgreSQL Database for Use with the Quickstarts: The PostgreSQL database is used for the distributed transaction quickstarts.
-
Configure Byteman for Use with the Quickstarts: This tool is used to demonstrate crash recovery for distributed transaction quickstarts.