forked from jboss-developer/jboss-eap-quickstarts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.html
237 lines (190 loc) · 47 KB
/
README.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
<!DOCTYPE html><html><head><title>README</title><link href="http://static.jboss.org/ffe/0/www/vendor/redhat/documentation.css" rel="stylesheet"></link><link href="http://static.jboss.org/ffe/0/www/vendor/redhat/pygments.css" rel="stylesheet"></link></head><body>
<h1><a id="red-hat-jboss-enterprise-application-platform-eap-quickstarts" class="anchor" href="#red-hat-jboss-enterprise-application-platform-eap-quickstarts"><span class="anchor-icon"></span></a>Red Hat JBoss Enterprise Application Platform (EAP) Quickstarts</h1>
<p>Summary: 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. </p>
<h2><a id="introduction" class="anchor" href="#introduction"><span class="anchor-icon"></span></a>Introduction</h2>
<p>These quickstarts run on Red Hat JBoss Enterprise Application Platform 7 or later. We recommend using the JBoss EAP ZIP file. This version uses the correct dependencies and ensures you test and compile against your runtime environment. </p>
<p>Be sure to read this entire document before you attempt to work with the quickstarts. It contains the following information:</p>
<ul>
<li><p><a href="#available-quickstarts">Available Quickstarts</a>: List of the available quickstarts and details about each one.</p></li>
<li><p><a href="#suggested-approach-to-the-quickstarts">Suggested Approach to the Quickstarts</a>: A suggested approach on how to work with the quickstarts.</p></li>
<li><p><a href="#system-requirements">System Requirements</a>: List of software required to run the quickstarts.</p></li>
<li><p><a href="https://github.com/jboss-developer/jboss-developer-shared-resources/blob/master/guides/CONFIGURE_MAVEN_JBOSS_EAP7.md#configure-maven-to-build-and-deploy-the-quickstarts">Configure Maven</a>: How to configure the Maven repository for use by the quickstarts.</p></li>
<li><p><a href="#run-the-quickstarts">Run the Quickstarts</a>: General instructions for building, deploying, and running the quickstarts.</p></li>
<li><p><a href="https://github.com/jboss-developer/jboss-developer-shared-resources/blob/master/guides/RUN_ARQUILLIAN_TESTS.md#run-the-arquillian-tests">Run the Arquillian Tests</a>: How to run the Arquillian tests provided by some of the quickstarts.</p></li>
<li><p><a href="#optional-components">Optional Components</a>: How to install and configure optional components required by some of the quickstarts.</p></li>
<li><p><a href="https://github.com/jboss-developer/jboss-developer-shared-resources/blob/master/guides/CONTRIBUTING.md#jboss-developer-contributing-guide">Contributing Guide</a>: This document contains information targeted for developers who want to contribute to JBoss developer projects.</p></li>
</ul>
<h2><a id="use-of-eap7home-and-jbosshome-variables" class="anchor" href="#use-of-eap7home-and-jbosshome-variables"><span class="anchor-icon"></span></a>Use of EAP7_HOME and JBOSS_HOME Variables</h2>
<p>The quickstart README files use the <em>replaceable</em> value <code>EAP7_HOME</code> to denote the path to the JBoss EAP installation. When you encounter this value in a README file, be sure to replace it with the actual path to your JBoss EAP installation. The installation path is described in detail here: <a href="https://github.com/jboss-developer/jboss-developer-shared-resources/blob/master/guides/USE_OF_EAP7_HOME.md#use-of-eap_home-and-jboss_home-variables">Use of EAP7_HOME and JBOSS_HOME Variables</a>.</p>
<h2><a id="available-quickstarts" class="anchor" href="#available-quickstarts"><span class="anchor-icon"></span></a>Available Quickstarts</h2>
<p>All available quickstarts can be found here: <a href="http://www.jboss.org/developer-materials/#!formats=jbossdeveloper_quickstart">http://www.jboss.org/developer-materials/#!formats=jbossdeveloper_quickstart</a>. 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 <code>Prerequisites</code> section of the quickstart README file.</p>
<p><em>Note</em>: Some of these quickstarts use the H2 database included with JBoss EAP. 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!</p>
<table><thead><tr><th align='left'><strong>Quickstart Name</strong></th><th align='left'><strong>Demonstrated Technologies</strong></th><th align='left'><strong>Description</strong></th><th align='left'><strong>Experience Level Required</strong></th><th align='left'><strong>Prerequisites</strong></th></tr></thead><tbody><tr><td align='left'><a href='app-client/README.html' title='app-client'>app-client</td><td align='left'> AppClient, EAR, EJB</td><td align='left'>The app-client quickstart demonstrates how to code and package a client app and use the JBoss EAP client container to start the client Main program.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='batch-processing/README.html' title='batch-processing'>batch-processing</td><td align='left'> Batch 1.0, JSF, CDI</td><td align='left'>Shows how to use chunk oriented batch jobs to import a file to a database.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='bean-validation/README.html' title='bean-validation'>bean-validation</td><td align='left'> BV, JPA, CDI</td><td align='left'>The bean-validation quickstart provides Arquillian tests to demonstrate how to use CDI, JPA and Bean Validation 1.0.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='bean-validation-custom-constraint/README.html' title='bean-validation-custom-constraint'>bean-validation-custom-constraint</td><td align='left'> BV, JPA, CDI</td><td align='left'>The bean-validation-custom-constraint quickstart demonstrates how to use the Bean Validation API to define custom constraints and validators.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='bmt/README.html' title='bmt'>bmt</td><td align='left'> BMT, EJB</td><td align='left'>The bmt quickstart demonstrates Bean-Managed Transactions (BMT), showing how to manually manage transaction demarcation while accessing JPA entities.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='cdi-alternative/README.html' title='cdi-alternative'>cdi-alternative</td><td align='left'> JSP, Servlet, CDI</td><td align='left'>The cdi-alternative quickstart demonstrates how to create a bean that can be implemented for different purposes without changing the source code.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='cdi-decorator/README.html' title='cdi-decorator'>cdi-decorator</td><td align='left'> JSF, CDI</td><td align='left'>The cdi-decorator quickstart demonstrates the use of a CDI Decorator to intercept bean methods and modify the business logic.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='cdi-injection/README.html' title='cdi-injection'>cdi-injection</td><td align='left'> CDI</td><td align='left'>The cdi-injection quickstart demonstrates the use of CDI Injection and Qualifiers in JBoss EAP with a JSF front-end client.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='cdi-interceptors/README.html' title='cdi-interceptors'>cdi-interceptors</td><td align='left'> EJB, JSF, JPA</td><td align='left'>The cdi-interceptors quickstart demonstrates how to use CDI interceptors for cross-cutting concerns such as logging and simple auditing.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='cdi-portable-extension/README.html' title='cdi-portable-extension'>cdi-portable-extension</td><td align='left'> CDI</td><td align='left'>The cdi-portable-extension quickstart demonstrates a simple CDI Portable Extension that uses SPI classes to inject beans with data from an XML file.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='cdi-stereotype/README.html' title='cdi-stereotype'>cdi-stereotype</td><td align='left'> EJB, JSF, JPA</td><td align='left'>The cdi-stereotype quickstart demonstrates how to apply CDI stereotypes to beans to encapsulate CDI interceptor bindings and CDI alternatives.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='cdi-veto/README.html' title='cdi-veto'>cdi-veto</td><td align='left'> CDI</td><td align='left'>The cdi-veto quickstart is a simple CDI Portable Extension that uses SPI classes to show how to remove beans and inject JPA entities into an application.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='cluster-ha-singleton/README.html' title='cluster-ha-singleton'>cluster-ha-singleton</td><td align='left'> HASingleton, JNDI, EJB</td><td align='left'>The cluster-ha-singleton quickstart deploys a Service, wrapped with the SingletonService decorator, and used as a cluster-wide singleton service.</td><td align='left'>Advanced</td><td align='left'> </td></tr>
<tr><td align='left'><a href='cmt/README.html' title='cmt'>cmt</td><td align='left'> CMT, JMS, EJB</td><td align='left'>The cmt quickstart demonstrates Container-Managed Transactions (CMT), showing how to use transactions managed by the container.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='contacts-jquerymobile/README.html' title='contacts-jquerymobile'>contacts-jquerymobile</td><td align='left'> HTML5, JavaScript, REST, jQuery, jQuery Mobile</td><td align='left'>The contacts-jquerymobile quickstart demonstrates a Java EE 7 mobile database application using HTML5, jQuery Mobile, JAX-RS, JPA, and REST.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='ejb-asynchronous/README.html' title='ejb-asynchronous'>ejb-asynchronous</td><td align='left'> Asynchronous EJB</td><td align='left'>The ejb-asynchronous quickstart demonstrates the behavior of asynchronous EJB invocations by a deployed EJB and a remote client and how to handle errors.</td><td align='left'>Advanced</td><td align='left'> </td></tr>
<tr><td align='left'><a href='ejb-in-ear/README.html' title='ejb-in-ear'>ejb-in-ear</td><td align='left'> EAR, EJB</td><td align='left'>The ejb-in-ear quickstart demonstrates how to deploy an EAR archive that contains a JSF WAR and an EJB JAR.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='ejb-in-war/README.html' title='ejb-in-war'>ejb-in-war</td><td align='left'> JSF, WAR, EJB</td><td align='left'>The ejb-in-war quickstart demonstrates how to package an EJB bean in a WAR archive and deploy it to JBoss EAP. Arquillian tests are also provided.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='ejb-multi-server/README.html' title='ejb-multi-server'>ejb-multi-server</td><td align='left'> EAR, EJB</td><td align='left'>The ejb-multi-server quickstart shows how to communicate between multiple applications deployed to different servers using an EJB to log the invocation.</td><td align='left'>Advanced</td><td align='left'> </td></tr>
<tr><td align='left'><a href='ejb-remote/README.html' title='ejb-remote'>ejb-remote</td><td align='left'> JNDI, EJB</td><td align='left'>The ejb-remote quickstart uses EJB and JNDI to demonstrate how to access an EJB, deployed to JBoss EAP, from a remote Java client application.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='ejb-security/README.html' title='ejb-security'>ejb-security</td><td align='left'> Security, EJB</td><td align='left'>The ejb-security quickstart demonstrates the use of Java EE declarative security to control access to Servlets and EJBs in JBoss EAP.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='ejb-security-interceptors/README.html' title='ejb-security-interceptors'>ejb-security-interceptors</td><td align='left'> Security, EJB</td><td align='left'>The ejb-security-interceptors quickstart demonstrates how to use client and server side interceptors to switch the identity for an EJB call.</td><td align='left'>Advanced</td><td align='left'> </td></tr>
<tr><td align='left'><a href='ejb-throws-exception/README.html' title='ejb-throws-exception'>ejb-throws-exception</td><td align='left'> EAR, EJB</td><td align='left'>The ejb-throws-exception quickstart demonstrates how to throw and handle Exceptions across JARs in an EAR.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='ejb-timer/README.html' title='ejb-timer'>ejb-timer</td><td align='left'> EJB Timer</td><td align='left'>The ejb-timer quickstart demonstrates how to use the EJB timer service @Schedule and @Timeout annotations with JBoss EAP.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='forge-from-scratch/README.html' title='forge-from-scratch'>forge-from-scratch</td><td align='left'> Forge</td><td align='left'>The forge-from-scratch quickstart demonstrates how JBoss Forge can generate a Java EE (JPA, EJB, JAX-RS, JSF) web-enabled database application.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='greeter/README.html' title='greeter'>greeter</td><td align='left'> EJB, JPA, JSF, JTA, CDI</td><td align='left'>The greeter quickstart demonstrates the use of CDI, JPA, JTA, EJB and JSF in JBoss EAP.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='h2-console/README.html' title='h2-console'>h2-console</td><td align='left'> H2</td><td align='left'>The h2-console quickstart demonstrates how to use the H2 Console that is bundled with and built specifically for JBoss EAP.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='helloworld/README.html' title='helloworld'>helloworld</td><td align='left'> Servlet, CDI</td><td align='left'>The helloworld quickstart demonstrates the use of CDI and Servlet 3 and is a good starting point to verify JBoss EAP is configured correctly.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='helloworld-html5/README.html' title='helloworld-html5'>helloworld-html5</td><td align='left'> HTML5, JAX-RS, CDI</td><td align='left'>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.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='helloworld-jms/README.html' title='helloworld-jms'>helloworld-jms</td><td align='left'> JMS</td><td align='left'>The helloworld-jms quickstart demonstrates the use of external JMS clients with JBoss EAP.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='helloworld-mbean/README.html' title='helloworld-mbean'>helloworld-mbean</td><td align='left'> JMX, MBean, CDI</td><td align='left'>The helloworld-mbean quickstart demonstrates the use of CDI and MBean in JBoss EAP and includes JConsole instructions and Arquillian tests.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='helloworld-mdb/README.html' title='helloworld-mdb'>helloworld-mdb</td><td align='left'> EJB, MDB, JMS</td><td align='left'>The helloworld-mdb quickstart uses JMS and EJB Message-Driven Bean (MDB) to create and deploy JMS topic and queue resources in JBoss EAP.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='helloworld-mdb-propertysubstitution/README.html' title='helloworld-mdb-propertysubstitution'>helloworld-mdb-propertysubstitution</td><td align='left'> EJB, MDB, JMS</td><td align='left'>The helloworld-mdb-propertysubstitution quickstart demonstrates the use of JMS and EJB MDB, enabling property substitution with annotations.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='helloworld-rs/README.html' title='helloworld-rs'>helloworld-rs</td><td align='left'> JAX-RS, CDI</td><td align='left'>The helloworld-rs quickstart demonstrates a simple Hello World application, bundled and deployed as a WAR, that uses JAX-RS to say Hello.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='helloworld-singleton/README.html' title='helloworld-singleton'>helloworld-singleton</td><td align='left'> Singleton, EJB</td><td align='left'>The helloworld-singleton quickstart demonstrates an EJB Singleton Bean that is instantiated once and maintains state for the life of the session.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='helloworld-ws/README.html' title='helloworld-ws'>helloworld-ws</td><td align='left'> JAX-WS</td><td align='left'>The helloworld-ws quickstart demonstrates a simple Hello World application, bundled and deployed as a WAR, that uses JAX-WS to say Hello.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='hibernate5/README.html' title='hibernate5'>hibernate5</td><td align='left'> Hibernate 5</td><td align='left'>The hibernate5 quickstart demonstrates how to use Hibernate ORM 5 over JPA, using Hibernate-Core and Hibernate Bean Validation, and EJB.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='inter-app/README.html' title='inter-app'>inter-app</td><td align='left'> CDI, JSF, EJB</td><td align='left'>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.</td><td align='left'>Advanced</td><td align='left'> </td></tr>
<tr><td align='left'><a href='jaxrs-client/README.html' title='jaxrs-client'>jaxrs-client</td><td align='left'> JAX-RS</td><td align='left'>The jaxrs-client quickstart demonstrates JAX-RS Client API, which interacts with a JAX-RS Web service that runs on JBoss EAP.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='jaxws-addressing/README.html' title='jaxws-addressing'>jaxws-addressing</td><td align='left'> JAX-WS</td><td align='left'>The jaxws-addressing quickstart is a working example of the web service using WS-Addressing.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='jaxws-ejb/README.html' title='jaxws-ejb'>jaxws-ejb</td><td align='left'> JAX-WS</td><td align='left'>The jaxws-ejb quickstart is a working example of the web service endpoint created from an EJB.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='jaxws-pojo/README.html' title='jaxws-pojo'>jaxws-pojo</td><td align='left'> JAX-WS</td><td align='left'>The jaxws-pojo quickstart is a working example of the web service endpoint created from a POJO.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='jaxws-retail/README.html' title='jaxws-retail'>jaxws-retail</td><td align='left'> JAX-WS</td><td align='left'>The jaxws-retail quickstart is a working example of a simple web service endpoint.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='jsonp/README.html' title='jsonp'>jsonp</td><td align='left'> JSF, JSON-P, CDI</td><td align='left'>This 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.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='jta-crash-rec/README.html' title='jta-crash-rec'>jta-crash-rec</td><td align='left'> Crash Recovery, JTA</td><td align='left'>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.</td><td align='left'>Advanced</td><td align='left'> </td></tr>
<tr><td align='left'><a href='jts/README.html' title='jts'>jts</td><td align='left'> EJB, JMS, JTS</td><td align='left'>The jts quickstart shows how to use JTS to perform distributed transactions across multiple containers, fulfilling the properties of an ACID transaction.</td><td align='left'>Intermediate</td><td align='left'> cmt</td></tr>
<tr><td align='left'><a href='jts-distributed-crash-rec/README.html' title='jts-distributed-crash-rec'>jts-distributed-crash-rec</td><td align='left'> Crash Recovery, JTS</td><td align='left'>The jts-distributed-crash-rec quickstart uses JTS and Byteman to demonstrate distributed crash recovery across multiple application servers.</td><td align='left'>Advanced</td><td align='left'> jts</td></tr>
<tr><td align='left'><a href='kitchensink/README.html' title='kitchensink'>kitchensink</td><td align='left'> BV, EJB, JAX-RS, JPA, JSF, CDI</td><td align='left'>The kitchensink quickstart demonstrates a Java EE 7 web-enabled database application using JSF, CDI, EJB, JPA and Bean Validation.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='kitchensink-angularjs/README.html' title='kitchensink-angularjs'>kitchensink-angularjs</td><td align='left'> BV, CDI, EJB, JAX-RS, JPA, JPA, AngularJS</td><td align='left'>The kitchensink-angularjs quickstart demonstrates a Java EE 7 application using AngularJS with JAX-RS, CDI, EJB, JPA and Bean Validation.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='kitchensink-ear/README.html' title='kitchensink-ear'>kitchensink-ear</td><td align='left'> BV, EAR, EJB, JAX-RS, JPA, JSF, CDI</td><td align='left'>The kitchensink-ear quickstart demonstrates web-enabled database application, using JSF, CDI, EJB, JPA and Bean Validation, packaged as an EAR.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='kitchensink-html5-mobile/README.html' title='kitchensink-html5-mobile'>kitchensink-html5-mobile</td><td align='left'> HTML5, REST, CDI</td><td align='left'>The kitchensink-html5-mobile quickstart is based on kitchensink, but uses HTML5 and jQuery Mobile, making it suitable for mobile and tablet computers.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='kitchensink-jsp/README.html' title='kitchensink-jsp'>kitchensink-jsp</td><td align='left'> BV, CDI, EJB, JAX-RS, JPA, JSTL, JSP</td><td align='left'>The kitchensink-jsp quickstart demonstrates how to use JSP, JSTL, CDI, EJB, JPA, and Bean Validation in JBoss EAP.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='kitchensink-ml/README.html' title='kitchensink-ml'>kitchensink-ml</td><td align='left'> BV, EJB, JAX-RS, JPA, JSF, i18n, l10n, CDI</td><td align='left'>The kitchensink-ml quickstart demonstrates a localized Java EE 7 compliant application using JSF, CDI, EJB, JPA and Bean Validation.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='kitchensink-ml-ear/README.html' title='kitchensink-ml-ear'>kitchensink-ml-ear</td><td align='left'> BV, EAR, EJB, JAX-RS, JPA, JSF, i18n, l10n, CDI</td><td align='left'>The kitchensink-ml-ear quickstart demonstrates a localized database application, using JSF, CDI, EJB, JPA and Bean Validation, packaged as an EAR.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='log4j/README.html' title='log4j'>log4j</td><td align='left'> JBoss Modules</td><td align='left'>The log4j quickstart demonstrates how to use container defined modules to add dependencies on 3rd party libraries and limit the application package size.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='logging/README.html' title='logging'>logging</td><td align='left'> Logging</td><td align='left'>The logging quickstart demonstrates how to configure different logging levels in JBoss EAP. It also includes an asynchronous logging example.</td><td align='left'>Intermediate</td><td align='left'> None</td></tr>
<tr><td align='left'><a href='logging-tools/README.html' title='logging-tools'>logging-tools</td><td align='left'> JBoss Logging Tools</td><td align='left'>The jboss-logging-tools quickstart shows how to use JBoss Logging Tools to create internationalized loggers, exceptions, and messages and localize them.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='mail/README.html' title='mail'>mail</td><td align='left'> CDI, JSF, JavaMail</td><td align='left'>The mail quickstart demonstrates how to send email using CDI and JSF and the default Mail provider that ships with JBoss EAP.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='managed-executor-service/README.html' title='managed-executor-service'>managed-executor-service</td><td align='left'> JAX-RS, JAX-RS Client API, EE Concurrency Utilities</td><td align='left'>The managed-executor-service quickstart demonstrates how Java EE applications can submit tasks for asynchronous execution.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='messaging-clustering/README.html' title='messaging-clustering'>messaging-clustering</td><td align='left'> MDB, JMS</td><td align='left'>The messaging-clustering quickstart does not contain any code and instead uses the helloworld-mdb quickstart to demonstrate clustering using ActiveMQ Messaging.</td><td align='left'>Intermediate</td><td align='left'> helloworld-mdb</td></tr>
<tr><td align='left'><a href='numberguess/README.html' title='numberguess'>numberguess</td><td align='left'> JSF, CDI</td><td align='left'>The numberguess quickstart demonstrates the use of CDI (Contexts and Dependency Injection) and JSF (JavaServer Faces) in JBoss EAP.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='payment-cdi-event/README.html' title='payment-cdi-event'>payment-cdi-event</td><td align='left'> JSF, CDI</td><td align='left'>The payment-cdi-event quickstart demonstrates how to create credit and debit CDI Events in JBoss EAP, using a JSF front-end client.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='picketlink-sts/README.html' title='picketlink-sts'>picketlink-sts</td><td align='left'> SAML, WS-Trust</td><td align='left'>The picketlink-sts quickstart demonstrates how to deploy a fully compliant WS-Trust Security Token Service (STS).</td><td align='left'>Advanced</td><td align='left'> </td></tr>
<tr><td align='left'><a href='resteasy-jaxrs-client/README.html' title='resteasy-jaxrs-client'>resteasy-jaxrs-client</td><td align='left'> CDI, JAX-RS</td><td align='left'>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.</td><td align='left'>Intermediate</td><td align='left'> helloworld-rs</td></tr>
<tr><td align='left'><a href='servlet-async/README.html' title='servlet-async'>servlet-async</td><td align='left'> CDI, EJB, Asynchronous Servlet</td><td align='left'>The servlet-async quickstart demonstrates how to use asynchronous servlets to detach long-running tasks and free up the request processing thread.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='servlet-filterlistener/README.html' title='servlet-filterlistener'>servlet-filterlistener</td><td align='left'> Servlet Listener, Servlet Filter</td><td align='left'>The servlet-filterlistener quickstart demonstrates how to use Servlet filters and listeners in an application.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='servlet-security/README.html' title='servlet-security'>servlet-security</td><td align='left'> Security, Servlet</td><td align='left'>The servlet-security quickstart demonstrates the use of Java EE declarative security to control access to Servlets and Security in JBoss EAP.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='shopping-cart/README.html' title='shopping-cart'>shopping-cart</td><td align='left'> SFSB EJB</td><td align='left'>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).</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='shrinkwrap-resolver/README.html' title='shrinkwrap-resolver'>shrinkwrap-resolver</td><td align='left'> Arquillian, Shrinkwrap, CDI</td><td align='left'>The shrinkwrap-resolver quickstart demonstrates three common use cases for ShrinkWrap Resolver in Red Hat JBoss Enterprise Application Platform.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='spring-greeter/README.html' title='spring-greeter'>spring-greeter</td><td align='left'> JPA, JSP, Spring MVC</td><td align='left'>The spring-greeter quickstart is based on the greeter quickstart, but differs in that it uses Spring MVC for Mapping GET and POST requests.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='spring-kitchensink-asyncrequestmapping/README.html' title='spring-kitchensink-asyncrequestmapping'>spring-kitchensink-asyncrequestmapping</td><td align='left'> JPA, JSON, JUnit, Spring, JSP</td><td align='left'>The spring-kitchensink-asyncrequestmapping quickstart showcases the use of asynchronous requests is an example using JSP, JPA and Spring 4.x.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='spring-kitchensink-basic/README.html' title='spring-kitchensink-basic'>spring-kitchensink-basic</td><td align='left'> JPA, JSON, JUnit, Spring, JSP</td><td align='left'>The spring-kitchensink-basic quickstart is an example of a Java EE 7 application using JSP, JPA and Spring 4.x.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='spring-kitchensink-controlleradvice/README.html' title='spring-kitchensink-controlleradvice'>spring-kitchensink-controlleradvice</td><td align='left'> JPA, JSON, JUnit, Spring, JSP</td><td align='left'>The spring-kitchensink-controlleradvice quickstart showcases Spring 4.x’s @ControllerAdvice, which was introduced in Spring 3.2.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='spring-kitchensink-matrixvariables/README.html' title='spring-kitchensink-matrixvariables'>spring-kitchensink-matrixvariables</td><td align='left'> JPA, JSON, JUnit, Spring, JSP</td><td align='left'>The spring-kitchensink-matrixvariables quickstart showcases Spring 4.x’s support for Matrix Variables in URLs that was introduced in Spring 3.2.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='spring-kitchensink-springmvctest/README.html' title='spring-kitchensink-springmvctest'>spring-kitchensink-springmvctest</td><td align='left'> JPA, JSON, JUnit, Spring, JSP</td><td align='left'>The spring-kitchensink-springmvctest quickstart demonstrates how to create an MVC application using JSP, JPA and Spring 4.x.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='spring-petclinic/README.html' title='spring-petclinic'>spring-petclinic</td><td align='left'> AOP, Dandellion, JMX, JSP, Junit, Spring Data, Spring MVC Annotations, webjars, JPA</td><td align='left'>The spring-petclinic quickstart shows how to run the Spring PetClinic Application in JBoss EAP using the JBoss EAP BOMs.</td><td align='left'>Advanced</td><td align='left'> </td></tr>
<tr><td align='left'><a href='spring-resteasy/README.html' title='spring-resteasy'>spring-resteasy</td><td align='left'> Spring, Resteasy</td><td align='left'>The spring-resteasy quickstart demonstrates how to package and deploy a web application that includes resteasy-spring integration.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='tasks/README.html' title='tasks'>tasks</td><td align='left'> Arquillian, JPA</td><td align='left'>The tasks quickstart includes a persistence unit and sample persistence code to demonstrate how to use JPA for database access in JBoss EAP.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='tasks-jsf/README.html' title='tasks-jsf'>tasks-jsf</td><td align='left'> JPA, JSF</td><td align='left'>The tasks-jsf quickstart demonstrates how to use JPA persistence with JSF as the view layer.</td><td align='left'>Intermediate</td><td align='left'> tasks</td></tr>
<tr><td align='left'><a href='tasks-rs/README.html' title='tasks-rs'>tasks-rs</td><td align='left'> JAX-RS, JPA</td><td align='left'>The tasks-rs quickstart demonstrates how to implement a JAX-RS service that uses JPA persistence.</td><td align='left'>Intermediate</td><td align='left'> tasks</td></tr>
<tr><td align='left'><a href='temperature-converter/README.html' title='temperature-converter'>temperature-converter</td><td align='left'> JSF, SLSB EJB, CDI</td><td align='left'>The temperature-converter quickstart does temperature conversion using an EJB Stateless Session Bean (SLSB), CDI, and a JSF front-end client.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='thread-racing/README.html' title='thread-racing'>thread-racing</td><td align='left'> CDI, EE Concurrency, JAX-RS, JMS, JPA, JSON, Web Sockets, Batch</td><td align='left'>A thread racing web application that demonstrates technologies introduced or updated in the latest Java EE specification.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='websocket-client/README.html' title='websocket-client'>websocket-client</td><td align='left'> CDI Events, JSON, SSL, Web Socket</td><td align='left'>Demonstrates use of a Java (not Javascript) WebSocket client, WebSocket configuration, programmatic binding, and secure WebSocket.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='websocket-endpoint/README.html' title='websocket-endpoint'>websocket-endpoint</td><td align='left'> JSON-P, WebSocket, CDI</td><td align='left'>Shows how to use WebSockets with JSON to broadcast information to all open WebSocket sessions in JBoss EAP.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='websocket-hello/README.html' title='websocket-hello'>websocket-hello</td><td align='left'> CDI, JSF, WebSocket</td><td align='left'>The websocket-hello quickstart demonstrates how to create a simple WebSocket application.</td><td align='left'>Beginner</td><td align='left'> </td></tr>
<tr><td align='left'><a href='wsat-simple/README.html' title='wsat-simple'>wsat-simple</td><td align='left'> JAX-WS, WS-AT</td><td align='left'>The wsat-simple quickstart demonstrates a WS-AT (WS-AtomicTransaction) enabled JAX-WS Web service, bundled as a WAR, and deployed to JBoss EAP.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='wsba-coordinator-completion-simple/README.html' title='wsba-coordinator-completion-simple'>wsba-coordinator-completion-simple</td><td align='left'> JAX-WS, WS-BA</td><td align='left'> The wsba-coordinator-completion-simple quickstart deploys a WS-BA (WS Business Activity) enabled JAX-WS Web service WAR (CoordinatorCompletion protocol).</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='wsba-participant-completion-simple/README.html' title='wsba-participant-completion-simple'>wsba-participant-completion-simple</td><td align='left'> JAX-WS, WS-BA</td><td align='left'>The wsba-participant-completion-simple quickstart deploys a WS-BA (WS Business Activity) enabled JAX-WS Web service WAR (ParticipantCompletion Protocol).</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='xml-dom4j/README.html' title='xml-dom4j'>xml-dom4j</td><td align='left'> JSF, Servlet, DOM4J</td><td align='left'>The xml-dom4j quickstart demonstrates how to use Servlet and JSF to upload an XML file to JBoss EAP and parse it using a 3rd party XML parsing library.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
<tr><td align='left'><a href='xml-jaxp/README.html' title='xml-jaxp'>xml-jaxp</td><td align='left'> DOM, SAX, Servlet, JAXP</td><td align='left'>The xml-jaxp quickstart demonstrates how to use Servlet and JSF to upload an XML file to JBoss EAP and validate and parse it using DOM or SAX.</td><td align='left'>Intermediate</td><td align='left'> </td></tr>
</table></table>
<h2><a id="suggested-approach-to-the-quickstarts" class="anchor" href="#suggested-approach-to-the-quickstarts"><span class="anchor-icon"></span></a>Suggested Approach to the Quickstarts</h2>
<p>We suggest you approach the quickstarts as follows:</p>
<ul>
<li>Regardless of your level of expertise, we suggest you start with the <strong>helloworld</strong> quickstart. It is the simplest example and is an easy way to prove your server is configured and started correctly.</li>
<li>If you are a beginner or new to JBoss, start with the quickstarts labeled <strong>Beginner</strong>, then try those marked as <strong>Intermediate</strong>. When you are comfortable with those, move on to the <strong>Advanced</strong> quickstarts.</li>
<li>Some quickstarts are based upon other quickstarts but have expanded capabilities and functionality. If a prerequisite quickstart is listed, be sure to deploy and test it before looking at the expanded version.</li>
</ul>
<h2><a id="system-requirements" class="anchor" href="#system-requirements"><span class="anchor-icon"></span></a>System Requirements</h2>
<p>The applications these projects produce are designed to be run on Red Hat JBoss Enterprise Application Platform 7 or later. </p>
<p>All you need to build these projects is Java 8.0 (Java SDK 1.8) or later and Maven 3.1.1 or later. See <a href="https://github.com/jboss-developer/jboss-developer-shared-resources/blob/master/guides/CONFIGURE_MAVEN_JBOSS_EAP7.md#configure-maven-to-build-and-deploy-the-quickstarts">Configure Maven for JBoss EAP 7</a> to make sure you are configured correctly for testing the quickstarts.</p>
<p>To run these quickstarts with the provided build scripts, you need the the JBoss EAP distribution ZIP. For information on how to install and run JBoss, see the <a href="https://access.redhat.com/documentation/en/jboss-enterprise-application-platform/">Red Hat JBoss Enterprise Application Platform Documentation</a> <em>Getting Started Guide</em> located on the Customer Portal.</p>
<p>You can also use <a href="#use-jboss-developer-studio-or-eclipse-to-run-the-quickstarts">JBoss Developer Studio or Eclipse</a> to run the quickstarts. </p>
<h2><a id="run-the-quickstarts" class="anchor" href="#run-the-quickstarts"><span class="anchor-icon"></span></a>Run the Quickstarts</h2>
<p>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:</p>
<ul>
<li><a href="https://github.com/jboss-developer/jboss-developer-shared-resources/blob/master/guides/START_JBOSS_EAP.md#start-the-jboss-eap-server">Start the JBoss EAP Server</a></li>
<li><a href="#build-and-deploy-the-quickstarts">Build and deploy the quickstarts</a></li>
</ul>
<h3><a id="build-and-deploy-the-quickstarts" class="anchor" href="#build-and-deploy-the-quickstarts"><span class="anchor-icon"></span></a>Build and Deploy the Quickstarts</h3>
<p>See the README file in each individual quickstart folder for specific details and information on how to run and access the example. </p>
<h4><a id="build-the-quickstart-archive" class="anchor" href="#build-the-quickstart-archive"><span class="anchor-icon"></span></a>Build the Quickstart Archive</h4>
<p>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.</p>
<ol>
<li>Open a command prompt and navigate to the root directory of the quickstart you want to build.</li>
<li><p>Use this command if you only want to build the archive, but not deploy it:</p>
<div class="highlight"><pre> <span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span>
</pre></div></li>
</ol>
<h4><a id="build-and-deploy-the-quickstart-archive" class="anchor" href="#build-and-deploy-the-quickstart-archive"><span class="anchor-icon"></span></a>Build and Deploy the Quickstart Archive</h4>
<p>In most cases, you can use the following steps to build and deploy the application. See the specific quickstart README file for complete details.</p>
<ol>
<li>Make sure you start the JBoss EAP server as described in the quickstart README file.</li>
<li>Open a command prompt and navigate to the root directory of the quickstart you want to run.</li>
<li><p>Use this command to build and deploy the archive:</p>
<div class="highlight"><pre> <span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="n">wildfly</span><span class="o">:</span><span class="n">deploy</span>
</pre></div></li>
</ol>
<h4><a id="undeploy-an-archive" class="anchor" href="#undeploy-an-archive"><span class="anchor-icon"></span></a>Undeploy an Archive</h4>
<p>The command to undeploy the quickstart is simply: </p>
<div class="highlight"><pre> <span class="n">mvn</span> <span class="n">wildfly</span><span class="o">:</span><span class="n">undeploy</span>
</pre></div>
<h3><a id="verify-the-quickstarts-build-with-one-command" class="anchor" href="#verify-the-quickstarts-build-with-one-command"><span class="anchor-icon"></span></a>Verify the Quickstarts Build with One Command</h3>
<hr/>
<p>You can verify the quickstarts build using one command. However, quickstarts that have complex dependencies must be skipped. For example, the <code>resteasy-jaxrs-client</code> quickstart is a RESTEasy client that depends on the deployment of the <em>helloworld-rs</em> quickstart. As noted above, the root <code>pom.xml</code> file defines a <code>complex-dependencies</code> profile to exclude these quickstarts from the root build process. </p>
<p>To build the quickstarts:</p>
<ol>
<li>Do not start the JBoss EAP server.</li>
<li>Open a command prompt and navigate to the root directory of the quickstarts.</li>
<li><p>Use this command to build the quickstarts that do not have complex dependencies:</p>
<div class="highlight"><pre> <span class="n">mvn</span> <span class="n">clean</span> <span class="n">install</span> <span class="err">'</span><span class="o">-</span><span class="n">Pdefault</span><span class="p">,</span><span class="o">!</span><span class="n">complex</span><span class="o">-</span><span class="n">dependencies</span><span class="err">'</span>
</pre></div></li>
</ol>
<p><em>Note</em>: If you see a <code>java.lang.OutOfMemoryError: PermGen space</code> error when you run this command, increase the memory by typing the following command for your operating system, then try the above command again.</p>
<div class="highlight"><pre> <span class="n">For</span> <span class="n">Linux</span><span class="o">:</span> <span class="n">export</span> <span class="n">MAVEN_OPTS</span><span class="o">=</span><span class="s">"-Xmx512m -XX:MaxPermSize=128m"</span>
<span class="n">For</span> <span class="n">Windows</span><span class="o">:</span> <span class="n">SET</span> <span class="n">MAVEN_OPTS</span><span class="o">=</span><span class="s">"-Xmx512m -XX:MaxPermSize=128m"</span>
</pre></div>
<h3><a id="undeploy-the-deployed-quickstarts-with-one-command" class="anchor" href="#undeploy-the-deployed-quickstarts-with-one-command"><span class="anchor-icon"></span></a>Undeploy the Deployed Quickstarts with One Command</h3>
<hr/>
<p>To undeploy the quickstarts from the root of the quickstart folder, you must pass the argument <code>-fae</code> (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.</p>
<p>You can undeploy quickstarts using the following procedure:</p>
<ol>
<li>Start the JBoss EAP server.</li>
<li>Open a command prompt and navigate to the root directory of the quickstarts.</li>
<li><p>Use this command to undeploy any deployed quickstarts:</p>
<div class="highlight"><pre> <span class="n">mvn</span> <span class="n">wildfly</span><span class="o">:</span><span class="n">undeploy</span> <span class="o">-</span><span class="n">fae</span>
</pre></div></li>
</ol>
<p>To undeploy any quickstarts that fail due to complex dependencies, follow the undeploy procedure described in the quickstart’s README file.</p>
<h2><a id="run-the-quickstarts-in-red-hat-jboss-developer-studio-or-eclipse" class="anchor" href="#run-the-quickstarts-in-red-hat-jboss-developer-studio-or-eclipse"><span class="anchor-icon"></span></a>Run the Quickstarts in Red Hat JBoss Developer Studio or Eclipse</h2>
<p>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 <a href="https://github.com/jboss-developer/jboss-developer-shared-resources/blob/master/guides/USE_JBDS.md#use-jboss-developer-studio-or-eclipse-to-run-the-quickstarts">Use JBoss Developer Studio or Eclipse to Run the Quickstarts</a> </p>
<h2><a id="optional-components" class="anchor" href="#optional-components"><span class="anchor-icon"></span></a>Optional Components</h2>
<p>The following components are needed for only a small subset of the quickstarts. Do not install or configure them unless the quickstart requires it.</p>
<ul>
<li><p><a href="https://github.com/jboss-developer/jboss-developer-shared-resources/blob/master/guides/CREATE_USERS.md#create-users-required-by-the-quickstarts">Create Users Required by the Quickstarts</a>: Add a Management or Application user for the quickstarts that run in a secured mode.</p></li>
<li><p><a href="https://github.com/jboss-developer/jboss-developer-shared-resources/blob/master/guides/CONFIGURE_POSTGRESQL_EAP7.md#configure-the-postgresql-database-for-use-with-the-quickstarts">Configure the PostgreSQL Database for Use with the Quickstarts</a>: The PostgreSQL database is used for the distributed transaction quickstarts.</p></li>
<li><p><a href="https://github.com/jboss-developer/jboss-developer-shared-resources/blob/master/guides/CONFIGURE_BYTEMAN.md#configure-byteman-for-use-with-the-quickstarts">Configure Byteman for Use with the Quickstarts</a>: This tool is used to demonstrate crash recovery for distributed transaction quickstarts.</p></li>
</ul>
</body></html>