The TBorrower and TLender Application
To illustrate how pub/sub messaging works, we will use a simple
example where a mortgage lender publishes mortgage rates and a borrower
interested in the latest rates subscribes to the topic. The lender,
implemented through the TLender
class, will publish a simple BytesMessage containing the rate. The
borrower, implemented through the TBorrower class, will subscribe to the topic
through a nondurable subscriber and then decide whether it is a good
rate or not.
Since the JMS API for the pub/sub model is similar to the point-to-point model discussed in the previous chapter, we will not be going into as much detail regarding the similar API in this chapter.
Configuring and Running the Application
Before looking at the code, let’s look at how the application
works. As with the Chat
application, the TBorrower class
and TLender class both include a
main() method so they can be run as
a standalone Java application. To keep the code vendor-agnostic, both
classes need the connection factory name and queue names when starting
the application. The TLender class
is executed from the command line as follows:
java ch05.pubsub.TLender ConnectionFactory Topic where ConnectionFactory is
the name of the topic connection factory defined in your JMS provider
and Topic is the name of the topic
where the TLender class publishes
the new rate.
The TBorrower class can be
executed in the same manner in a separate command window:
java ch05.pubsub.TBorrower ConnectionFactory ...