![Red Hat Application Server Manual Download Page 133](http://html.mh-extra.com/html/red-hat/application-server/application-server_manual_1427406133.webp)
Chapter 9. Developing Message-Driven Beans
125
Figure 9-1. Example Architecture
There are two Message-Driven Beans in this example:
•
$JONAS_ROOT/examples/src/mdb/sampleappli/StockHandlerBean is a Message-Driven Bean lis-
tening to a topic and receiving Map messages. The
onMessage
method runs in the scope of a
transaction started by the container. It sends a Text message on a Queue (OrdersQueue) and up-
dates a Stock element by decreasing the stock quantity. If the stock quantity becomes negative, an
exception is received and the current transaction is marked for rollback.
•
$JONAS_ROOT/examples/src/mdb/sampleappli/OrderBean is another Message-Driven Bean lis-
tening on the OrdersQueue Queue. On receipt of a Text message on this queue, it writes the corre-
sponding String as a new line in a file (
Order.txt
).
The example also includes a CMP Entity Bean $JONAS_ROOT/examples/src/mdb/sampleappli/Stock
that handles a stock table.
A Stock item is composed of a Stockid (String), which is the primary key, and a Quantity (int). The
method
decreaseQuantity(int qty)
decreases the quantity for the corresponding stockid, but
can throw a RemoteException
Negative stock.
The JMS Client application
SampleAppliClient
sends several messages on
StockHandlerTopic
(see
$JONAS_ROOT/examples/src/mdb/sampleappli/SampleAppliClient.java).
It
uses Map
messages with three fields:
CustomerId
,
ProductId
, and
Quantity
. Before sending
messages, this client calls the EnvBean for creating the
StockTable
in the database
Summary of Contents for Application Server
Page 1: ...Red Hat Application Server JOnAS User Guide ...
Page 8: ......
Page 22: ...14 Chapter 1 Java Open Application Server JOnAS a J2EE Platform ...
Page 58: ...50 Chapter 3 JOnAS Configuration ...
Page 66: ...58 Chapter 5 JOnAS Class Loader Hierarchy ...
Page 78: ...70 Chapter 6 JOnAS Command Reference ...
Page 80: ......
Page 86: ...78 Chapter 7 Developing Session Beans ...
Page 136: ...128 Chapter 9 Developing Message Driven Beans ...
Page 142: ...134 Chapter 10 Defining the Deployment Descriptor ...
Page 148: ...140 Chapter 11 Transactional Behavior of EJB Applications ...
Page 158: ...150 Chapter 14 EJB Packaging ...
Page 162: ...154 Chapter 15 Application Deployment and Installation Guide ...
Page 164: ......
Page 176: ...168 Chapter 18 WAR Packaging ...
Page 178: ......
Page 184: ...176 Chapter 20 Defining the Client Deployment Descriptor ...
Page 186: ...178 Chapter 21 Client Packaging ...
Page 188: ......
Page 192: ...184 Chapter 23 EAR Packaging ...
Page 194: ......
Page 200: ...192 Chapter 24 JOnAS Services ...
Page 204: ...196 Chapter 25 JOnAS and the Connector Architecture ...
Page 222: ...214 Chapter 27 Ant EJB Tasks Using EJB JAR ...
Page 234: ...226 Chapter 29 Web Services with JOnAS ...
Page 236: ......
Page 260: ...252 Chapter 34 How to use Axis in JOnAS ...
Page 270: ...262 Chapter 36 Web Service Interoperability between JOnAS and BEA WebLogic ...
Page 296: ......