The ejb-throws-exception
quickstart demonstrates how to throw and handle exceptions across JARs in an EAR.
The ejb-throws-exception
quickstart extends the ejb-in-ear quickstart and demonstrates how to handle exceptions across JARs in an EAR deployed to {productNameFull}. In this quickstart, an EJB in the EJB JAR throws a custom exception. The web application in the client JAR catches the exception and displays it in a nicely formatted message. The EAR contains: JSF WAR, an EJB JAR and a client library JAR containg classes that both the WAR and EJB JAR use.
This example consists of the following Maven projects, each with a shared parent.
Project | Description |
---|---|
|
This project contains the EJB code and can be built independently to produce the JAR archive.
|
|
This project contains the JSF pages and the CDI managed bean.
|
|
This project builds the EAR artifact and pulls in the ejb, web, and client artifacts. |
|
This project builds the ejb-api library artifact which is used by the ejb, web, as well as remote client artifacts.
|
The root pom.xml
builds each of the subprojects in the above order and deploys the EAR archive to the server.
The example follows the common "Hello World" pattern, using the following workflow.
-
A JSF page asks for a user name.
-
On clicking Say Hello, the value of the Name input text is sent to a managed bean named
GreeterBean
. -
On setting the name, the
Greeter
invokes theGreeterEJB
, which was injected to the managed bean. Notice that the field is annotated with@EJB
. -
The EJB responds with Hello <name> or throws an exception if the name is empty or null.
-
The response or exception’s message from invoking the
GreeterEJB
is stored in a field (response) of the managed bean. -
The managed bean is annotated as
@RequestScoped
, so the same managed bean instance is used only for the request/response.
The application will be running at the following URL http://localhost:8080/{artifactId}/.
Enter a name in the input field Name and click the Say Hello button to see the response.
The Response output text will display the response from the EJB. If the Name input text box is not empty, then the Response output text will display Hello <name> If the Name input text box is empty, then the Response output text will display the message of the exception throw back from the EJB.
../shared-doc/undeploy-the-quickstart.adoc ../shared-doc/run-the-quickstart-in-jboss-developer-studio.adoc
For this quickstart, follow the special instructions to build Quickstarts Containing an EAR.
-
Right-click on the {artifactId}-ear subproject, and choose Run As → Run on Server.
-
Choose the server and click Finish.
-
This starts the server, deploys the application, and opens a browser window that accesses the running application.
-
To undeploy the project, right-click on the {artifactId}-ear project and choose Run As → Maven build. Enter
wildfly:undeploy
for the Goals and click Run.