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 ...

Get Java Message Service, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.