<<<<<<< HEAD = {productNameFull} ({productName}) Quickstarts :productName: WildFly :productNameFull: WildFly Application Server :jbossHomeName: WILDFLY_HOME :productVersion: 12
make sure youmake sure you= {productNameFull} ({productName}) Quickstarts :productName: JBoss EAP :productNameFull: Red Hat JBoss Enterprise Application Platform :jbossHomeName: EAP_HOME :productVersion: 7.1 >>>>>>> edfd460… JBEAP-13958 part 2: Update quickstart README files - add content that disappeared during the Markdown to AsciiDoc conversion, fix formatting, make them more consistent with EAP docs :ext-relative: .adoc attributes.adoc
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.
== Introduction
These quickstarts run on {productNameFull} {productVersion} or later. We recommend using the {productName} 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.
== Use of {jbossHomeName} and JBOSS_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: Use of {jbossHomeName} and JBOSS_HOME Variables.
== Available Quickstarts
All available quickstarts can be found here: http://www.jboss.org/developer-materials/#!formats=jbossdeveloper_quickstart. You can filter by the quickstart name, the product, and the technologies demonstrated by the quickstart. You can also limit the results based on skill level and date published. The resulting page provides a brief description of each matching quickstart, the skill level, and the technologies used. 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 {productName}. 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 |
|
Forge |
The |
Intermediate |
none |
|
CDI, JSF, JPA, EJB, JTA |
The |
Beginner |
none |
|
EJB, Singleton Deployments, Clustering |
The |
Advanced |
none |
|
MSC, Singleton Service, Clustering |
The |
Advanced |
none <<<<<<< HEAD |
|
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 |
| helloworld|CDI, Servlet | The helloworld
quickstart demonstrates the use of CDI and Servlet 3 and is a good starting point to verify {productName} is configured correctly. | Beginner | none
| helloworld-html5|CDI, JAX-RS, HTML5 | The helloworld-html5
quickstart demonstrates the use of CDI 1.2 and JAX-RS 2.0 using the HTML5 architecture and RESTful services on the backend. | Beginner | none
>>>>>>> edfd460… JBEAP-13958 part 2: Update quickstart README files - add content that disappeared during the Markdown to AsciiDoc conversion, fix formatting, make them more consistent with EAP docs
| helloworld-jms|JMS | The helloworld-jms
quickstart demonstrates the use of external JMS clients with {productName}. | Intermediate | none
| helloworld-mbean|CDI, JMX, MBean | The helloworld-mbean
quickstart demonstrates the use of CDI and MBean in {productName} and includes JConsole instructions and Arquillian tests. | Intermediate | none
| 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
| helloworld-mdb-propertysubstitution|JMS, EJB, MDB | The helloworld-mdb-propertysubstitution
quickstart demonstrates the use of JMS and EJB MDB, enabling property substitution with annotations. | Intermediate | none
| helloworld-mutual-ssl|Mutual SSL, Undertow | The helloworld-mutual-ssl
quickstart is a basic example that demonstrates mutual SSL configuration in {productName} | Intermediate | none
| helloworld-mutual-ssl-secured|Mutual SSL, Security, Undertow | The helloworld-mutual-ssl-secured
quickstart demonstrates securing a Web application using client mutual SSL authentication and role-based access control | Intermediate | none
<<<<<<< HEAD
| helloworld-rf|CDI, JSF, RichFaces | Similar to the helloworld quickstart, but with a JSF front end | Beginner | none
| helloworld-rs|CDI, JAX-RS | The helloworld-rs
quickstart demonstrates a simple Hello World application, bundled and deployed as a WAR, that uses JAX-RS to say Hello. | Intermediate | none
| 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
| helloworld-rs|CDI, JAX-RS | The helloworld-rs
quickstart demonstrates a simple Hello World application, bundled and deployed as a WAR, that uses JAX-RS to say Hello. | Intermediate | none
| 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
>>>>>>> edfd460… JBEAP-13958 part 2: Update quickstart README files - add content that disappeared during the Markdown to AsciiDoc conversion, fix formatting, make them more consistent with EAP docs
| helloworld-ssl|SSL, Undertow | The helloworld-ssl
quickstart is a basic example that demonstrates server side SSL configuration in {productName}. | Beginner | none
| 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
| hibernate|Hibernate | The hibernate
quickstart demonstrates how to use Hibernate ORM 5 API over JPA, using Hibernate-Core and Hibernate Bean Validation, and EJB. | Intermediate | none
| hibernate4|Hibernate 4 | This quickstart performs the same functions as the hibernate5 quickstart, but uses Hibernate 4 for database access. Compare this quickstart to the hibernate5 quickstart to see the changes needed to run with Hibernate 5. | Intermediate | none
| inter-app|EJB, CDI, JSF | The inter-app
quickstart shows you how to use a shared API JAR and an EJB to provide inter-application communication between two WAR deployments. | Advanced | none
| jaxrs-client|JAX-RS | The jaxrs-client
quickstart demonstrates JAX-RS Client API, which interacts with a JAX-RS Web service that runs on {productName}. | Beginner | none
| jaxws-addressing|JAX-WS | The jaxws-addressing
quickstart is a working example of the web service using WS-Addressing. | Beginner | none
| jaxws-ejb|JAX-WS | The jaxws-ejb
quickstart is a working example of the web service endpoint created from an EJB. | Beginner | none
| jaxws-pojo|JAX-WS | The jaxws-pojo
quickstart is a working example of the web service endpoint created from a POJO. | Beginner | none
| jaxws-retail|JAX-WS | The jaxws-retail
quickstart is a working example of a simple web service endpoint. | Beginner | none
| 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
| 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
| 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 | cmt
| jts-distributed-crash-rec|JTS, Crash Recovery | The jts-distributed-crash-rec
quickstart uses JTS and Byteman to demonstrate distributed crash recovery across multiple application servers. | Advanced | jts
| kitchensink|CDI, JSF, JPA, EJB, JAX-RS, BV | The kitchensink
quickstart demonstrates a Java EE 7 web-enabled database application using JSF, CDI, EJB, JPA, and Bean Validation. | Intermediate | none
| kitchensink-angularjs|AngularJS, CDI, JPA, EJB, JPA, JAX-RS, BV | The kitchensink-angularjs
quickstart demonstrates a Java EE 7 application using AngularJS with JAX-RS, CDI, EJB, JPA, and Bean Validation. | Intermediate | none
| kitchensink-ear|CDI, JSF, JPA, EJB, JAX-RS, BV, EAR | The kitchensink-ear
quickstart demonstrates web-enabled database application, using JSF, CDI, EJB, JPA, and Bean Validation, packaged as an EAR. | Intermediate | none
| kitchensink-html5-mobile|CDI, HTML5, REST | The kitchensink-html5-mobile
quickstart is based on kitchensink
, but uses HTML5 and jQuery Mobile, making it suitable for mobile and tablet computers. | Beginner | none
| kitchensink-jsp|JSP, JSTL, CDI, JPA, EJB, JAX-RS, BV | The kitchensink-jsp
quickstart demonstrates how to use JSP, JSTL, CDI, EJB, JPA, and Bean Validation in {productName}. | Intermediate | none
| kitchensink-ml|CDI, JSF, JPA, EJB, JAX-RS, BV, i18n, l10n | The kitchensink-ml
quickstart demonstrates a localized Java EE 7 compliant application using JSF, CDI, EJB, JPA, and Bean Validation. | Intermediate | none
| kitchensink-utjs-angularjs|Undertow.js, Angular.js | Based on kitchensink, but uses a Angular for the front end and Undertow.js for the back end. | Intermediate | none
| kitchensink-utjs-mustache|Undertow.js, Mustache | Based on kitchensink, but uses Mustache for the front end and Undertow.js for the back end. | Intermediate | none
| logging|Logging | The logging
quickstart demonstrates how to configure different logging levels in {productName}. It also includes an asynchronous logging example. | Intermediate | none
| logging-tools|JBoss Logging Tools | The logging-tools
quickstart shows how to use JBoss Logging Tools to create internationalized loggers, exceptions, and messages and localize them. | Beginner | none
| mail|JavaMail, CDI, JSF | The mail
quickstart demonstrates how to send email using CDI and JSF and the default Mail provider that ships with {productName}. | Beginner | none
| managed-executor-service|EE Concurrency Utilities, JAX-RS, JAX-RS Client API | The managed-executor-service
quickstart demonstrates how Java EE applications can submit tasks for asynchronous execution. | Beginner | none
| messaging-clustering|JMS, MDB | The messaging-clustering
quickstart does not contain any code and instead uses the helloworld-mdb
quickstart to demonstrate clustering using ActiveMQ Messaging. | Intermediate | helloworld-mdb
| 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
| numberguess|CDI, JSF | The numberguess
quickstart demonstrates the use of CDI (Contexts and Dependency Injection) and JSF (JavaServer Faces) in {productName}. | Beginner | none
| payment-cdi-event|CDI, JSF | The payment-cdi-event
quickstart demonstrates how to create credit and debit CDI Events in {productName}, using a JSF front-end client. | Beginner | none
| resteasy-jaxrs-client|JAX-RS, CDI | The resteasy-jaxrs-client
quickstart demonstrates an external JAX-RS RestEasy client, which interacts with a JAX-RS Web service that uses CDI and JAX-RS. | Intermediate | helloworld-rs
| 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
| 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
| servlet-filterlistener|Servlet Filter, Servlet Listener | The servlet-filterlistener
quickstart demonstrates how to use Servlet filters and listeners in an application. | Intermediate | none
| servlet-security|Servlet, Security | The servlet-security
quickstart demonstrates the use of Java EE declarative security to control access to Servlets and Security in {productName}. | Intermediate | none
| shopping-cart|SFSB EJB | The shopping-cart
quickstart demonstrates how to deploy and run a simple Java EE 7 shopping cart application that uses a stateful session bean (SFSB). | Intermediate | none
| shrinkwrap-resolver|CDI, Arquillian, Shrinkwrap | The shrinkwrap-resolver
quickstart demonstrates three common use cases for ShrinkWrap Resolver in {productNameFull}. | Intermediate | none
| spring-greeter|Spring MVC, JSP, JPA | The spring-greeter
quickstart is based on the greeter
quickstart, but differs in that it uses Spring MVC for Mapping GET
and POST
requests. | Beginner | none
| spring-kitchensink-basic|JSP, JPA, JSON, Spring, JUnit | The spring-kitchensink-basic
quickstart is an example of a Java EE 7 application using JSP, JPA and Spring 4.x. | Intermediate | none
| spring-kitchensink-springmvctest|JSP, JPA, JSON, Spring, JUnit | The spring-kitchensink-springmvctest
quickstart demonstrates how to create an MVC application using JSP, JPA and Spring 4.x. | Intermediate | none
| spring-petclinic|JPA, Junit, JMX, Spring MVC Annotations, AOP, Spring Data, JSP, webjars, Dandellion | The spring-petclinic
quickstart shows how to run the Spring PetClinic Application in {productName} using the {productName} BOMs. | Advanced | none
| spring-resteasy|Resteasy, Spring | The spring-resteasy
quickstart demonstrates how to package and deploy a web application that includes resteasy-spring integration. | Beginner | none
| tasks|JPA, Arquillian | The tasks
quickstart includes a persistence unit and sample persistence code to demonstrate how to use JPA for database access in {productName}. | Intermediate | none
| tasks-jsf|JSF, JPA | The tasks-jsf
quickstart demonstrates how to use JPA persistence with JSF as the view layer. | Intermediate | tasks
| tasks-rs|JPA, JAX-RS | The tasks-rs
quickstart demonstrates how to implement a JAX-RS service that uses JPA persistence. | Intermediate | tasks
| 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
| 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 Java EE specification. | Beginner | none
| websocket-client|Web Socket, CDI Events, JSON, SSL | Demonstrates use of a Javascript WebSocket client, WebSocket configuration, programmatic binding, and secure WebSocket. | Intermediate | none
| 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
| websocket-hello|WebSocket, CDI, JSF | The websocket-hello
quickstart demonstrates how to create a simple WebSocket application. | Beginner | none
| wicket-ear|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
| wicket-war|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
| wsat-simple|WS-AT, JAX-WS | The wsat-simple
quickstart demonstrates a WS-AT (WS-AtomicTransaction) enabled JAX-WS Web service, bundled as a WAR, and deployed to {productName}. | Intermediate | none
| wsba-coordinator-completion-simple|WS-BA, JAX-WS | The wsba-coordinator-completion-simple
quickstart deploys a WS-BA (WS Business Activity) enabled JAX-WS Web service WAR (CoordinatorCompletion protocol). | Intermediate | none
| wsba-participant-completion-simple|WS-BA, JAX-WS | The wsba-participant-completion-simple
quickstart deploys a WS-BA (WS Business Activity) enabled JAX-WS Web service WAR (ParticipantCompletion Protocol). | Intermediate | none
| xml-jaxp|JAXP, SAX, DOM, Servlet | The xml-jaxp
quickstart demonstrates how to use Servlet and JSF to upload an XML file to {productName} and validate and parse it using DOM or SAX. | Intermediate | none
== 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 The applications these projects produce are designed to be run on {productNameFull} {productVersion} 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 {productName} distribution ZIP. For information on how to install and run JBoss, see the {productNameFull} Documentation Getting Started Guide located on the Customer Portal. You can also run the quickstarts in JBoss Developer Studio or Eclipse. The root folder of each individual quickstart contains a * Start the {productName} Server * Build and Deploy the Quickstarts === Build and Deploy the Quickstarts See the ==== Build the Quickstart Archive 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 . 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. + [source,options="nowrap"] ---- $ mvn clean install ---- ==== Build and Deploy the Quickstart Archive This section describes the basic steps to build and deploy an application. See the specific instructions in each quickstart . Make sure you start the {productName} server as described in the quickstart Use the following command to undeploy the quickstart. [source,options="nowrap"] ---- $ mvn wildfly:undeploy ---- === Verify the Quickstarts Build with One Command You can verify the quickstarts build using one command. However, quickstarts that have complex dependencies must be skipped. For example, the To build all of the quickstarts: . Do not start the {productName} 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: + [source,options="nowrap"] ---- $ mvn clean install '-Pdefault,!complex-dependencies' ---- === Undeploy the Deployed Quickstarts with One Command To undeploy the quickstarts from the root of the quickstart folder, you must pass the argument You can undeploy quickstarts using the following procedure: . Start the {productName} server. . Open a terminal and navigate to the root directory of the quickstarts. . Use the following command to undeploy any deployed quickstarts. + [source,options="nowrap"] ---- $ mvn wildfly:undeploy -fae ---- To undeploy any quickstarts that fail due to complex dependencies, follow the undeploy procedure described in the quickstart’s == Run the Quickstarts in Red Hat JBoss Developer 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 {productName} 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. |