Java Message Service By Richard Monson-Haefel and David A. Chappell Following are the changes made in the 5/01 reprint. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification {xiv} 2nd paragraph under "Software and Versions": ftp://ftp.orielly.com/pub/examples/java/jms has been changed to the HTML examples page: http://www.oreilly.com/catalog/9780596000684/examples/index.html (37) 3rd Paragraph: if (deliverymode = javax.jms.DeviveryMode.PERSISTENT){ has been changed to: if (deliverymode == javax.jms.DeviveryMode.PERSISTENT){ (Need a doulbe equals ("==") between the deliverymode and javax.jms.) {50} middle; 16-bit (4-byte) has been changed to: 16-bit (2-byte) (67) 3rd paragraph; has been changed to: "The publishPriceQuotes method of the Wholesaler class......" Next paragraph now starts with: "The onMessage() method of the Retailer class...." {85} 3rd line from top: "a queue can be either a QueueConnection or a TopicConnection" has been changed to: "a connection can be either a QueueConnection or a TopicConnection" [100] Figure 6-1: (4) Ack has been changed to: (6) Ack (112) The paragraph that reads: "Unless you are doing a synchronous request-reply, you should avoid grouping together a send followed by an asynchronous receive within a transaction. There could be a long interval between the time a that a message is sent and the related message is asynchronously received, depending on failures or downtime of other processes that are involved. It is more practical to group the receipt of a message with the send of another message." has been changed to: "Grouping together a receive followed by a send within a single transacted is useful. However, you should never group together a send followed by a receive within a single transaction. If you are intending to do this in a request-reply fashion, the result would be deadlock. The request message will never get to the replier until the transaction is commited. The requestor will wait indefinitely for a reply that will never arrive." [200] second to last line: "flaot" has been changed to: "float" last line on page 200: float weight2 = message.getFloatProperty(); has been changed to: float weight2 = message.getFloatProperty("Weight");