Programming to use asynchronous messaging
You can build enterprise applications that use Java™ Message Service (JMS) APIs directly to provide asynchronous messaging services. You can also use message-driven beans as asynchronous message consumers. If you are writing messaging programs that interoperate between WebSphere® Application Server and IBM MQ, there are some environmental differences that you need to take into account.
About this task
Enterprise applications can use JMS APIs directly to explicitly poll for messages on a JMS destination, then retrieve messages for processing by business logic beans (enterprise beans).
Message-driven beans can also be used as asynchronous message consumers. When a message arrives at the destination, the EJB container invokes the message-driven bean automatically without an application having to explicitly poll the destination.
Procedure
Asynchronous beans - WebSphere Trader sample application
- Servlets
- Java Message Service (JMS)
- Session enterprise beans
- Container-managed persistence (CMP) 2.0 enterprise beans
- Message-driven beans (MDB)
- Work - Runs Java EE context-aware code on a thread.
- Alarm - Runs Java EE context-aware code at a given time interval.
- EventSource - A method of broadcasting events to registered listeners.
- SubsystemMonitor - A thread that monitors the status of any asynchronous system and uses an EventSource method to inform registered listeners of the system status.
- WorkManager - Thread configuration and Java EE context policies that are used by various asynchronous beans parts.
- AsynchScope - A collection of alarms, subsystem monitors and other asynchronous scopes that support relationships. This collection uses a single WorkManager thread and is also an event source.
- Startup Bean - A specialized, stateful session enterprise bean that supports bootstrapping asynchronous work when the application starts.
This sample is available from the Samples section of the information center.