Errata

Java Message Service

Errata for Java Message Service

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
PDF
Page xix
3rd paragraph

The second section of the first sentence of the indicated paragraph (as set off by a semicolon) reads:

"Tim Berglund, principle software developer and owner of the August
Technology Group, LLC;"

That should say "... principal software developer ..." [principle -> principal].

Unfortunately, this is a common misunderstanding, even among experienced writers.

The word "principal" means "First, highest, or foremost in importance, rank, worth, or degree; chief." (from The Free Dictionary). It can be either a noun or an adjective (here, it is an adjective) while "principle" can only be a noun. See the usage note for "principal" on The Free Dictionary's site for more details.

William Bresler  Oct 04, 2012 
PDF
Page xix
3rd paragraph

The second section of the first sentence of the indicated paragraph (as set off by a semicolon) reads:

"Tim Berglund, principle software developer and owner of the August
Technology Group, LLC;"

That should say "... principal software developer ..." [principle -> principal].

Unfortunately, this is a common misunderstanding, even among experienced writers.

The word "principal" means "First, highest, or foremost in importance, rank, worth, or degree; chief." (from The Free Dictionary). It can be either a noun or an adjective (here, it is an adjective) while "principle" can only be a noun. See the usage note for "principal" on The Free Dictionary's site for more details.

The third section of the first sentence of the indicated paragraph (as set off by a semicolon) reads:

"Christian Kenyeres, principle technical architect at Collaborative
Consulting, LLC;"

That should say "... principal technical architect ..." [principle -> principal].

Same mistake here.

William Bresler  Oct 04, 2012 
Other Digital Version
12
4th paragraph

In the bullet list in paragraph 3, the class MessageConsumer is listed, but in paragraph 4, the statement is made as follows: "Once you have a Session, you can create a Message, MessageProducer, and MessageReceiver." I think "MessageConsumer" was intended.

Note from the Author or Editor:
You are correct - On page 12, MessageReceiver should be changed to MessageConsumer.

Keith McDonald  Apr 04, 2011 
Printed
Page 15
3rd paragraph, 2nd sentence

The sentence reads, "Although full-blown SOA implementations are continuing to evolve, many companies are tuning to messaging solutions as a step toward SOA.

When I first read it I thought "tuning" should be "turning". I guess it could be tuning, but turning sounds more appropriate to me. Is it correct as written?

Note from the Author or Editor:
Yes, 'tuning' should be 'turning'. Thank you for identifying this typo.

Michael K. Craghead  Jan 07, 2010 
Printed
Page 19
4th paragraph, 1st sentence

"In Figure 1-8" should be replaced by "In Figure 1-9"

Note from the Author or Editor:
Page 19, 4th paragraph, 1st sentence, "In Figure 1-8" should be replaced by "In Figure 1-9"

Stefano David  Jul 24, 2010 
Printed
Page 29
Second indented command section

I'm going through chapter 2 of the JMS book, 2e, page 29, and there is a command:

java ch02.chat.Chat TopicCF topic1 Fred

The java source file for class Chat is in [book base dir]\examples\JMS_2ed_non_spring\jms_2ed_non_spring\src\main\java\ch02. "ch02" is the package that contains Chat. I'm not that great with packages, so it might be my lack of understanding, but where/how does the the component "chat" come into play in the package specification "ch02.chat.Chat" of the class? There is no corresponding subdirectory "chat" to which it would correspond, and the package name as specified in the source is "ch02". Is this a typo? Am I missing a point, or shoud the command read as follows?

java ch02.Chat TopicCF topic1 Fred

Or should "chat" be part of the package name in the code?

Thanks.

Note from the Author or Editor:
You are correct - the text indicates the wrong package - the code for the chat is located in the package "ch02, NOT "ch02.chat". Thanks for catching the error!

Michael K. Craghead  Jan 21, 2010 
Printed
Page 35
bottom of the page

The Topic object has one method, getName() ...
getName() should be getTopicName()

Jimmy  Aug 18, 2009 
Printed
Page 42
Figure 3-1

Item "JMSCorrelationID" is listed twice

Note from the Author or Editor:
There are two forms of the JMSCorrelationID - one that returns a byte array, and one that returns a String. That is why both are listed. However, it still is only one header property, so indeed the second one should be removed.

Stefano David  Jul 26, 2010 
54
1st non-code paragraph

In the following sentence:

"When a Java primitive is written to the BytesMessage using one of the set<TYPE>() methods, the primitive value is converted to its byte representation and appended to the stream."

"set<TYPE>()" should be replaced by "write<TYPE>()".

Ersin ER  Jun 12, 2009 
Printed
Page 66
Table 4-1

Point-to-point API "QueueSender" and "QueueReceiver" swapped respect to General API "MessageConsumer" and "MessageProducer"

Note from the Author or Editor:
Correct; page 66, Table 4-1, "QueueSender" should be aligned with "MessageProducer", and and "QueueReceiver" should be aligned with "MessageConsumer"

Stefano David  Aug 02, 2010 
Other Digital Version
76
Code listing beginning with "Message rmsg = ..."

The line 'throw new IllegalStateException("Invalid message type);' is missing a double quote before the end parenthesis.

Note from the Author or Editor:
There is a double-quote missing in the String text - it should read
throw new IllegalStateException("Invalid message type");

Keith McDonald  Apr 05, 2011 
89
table 5-1

There is a typo in Chapter 5 with table 5.1
TopicSubscriber is a MessageConsumer and TopicPublisher is a MessageProducer:
Page I'm referencing:
http://techbus.safaribooksonline.com/programming/java/9780596802264/publish-and-subscribe-messaging/ch05-61108
Evidence that current info is incorrect:
http://download.oracle.com/javaee/1.3/api/javax/jms/TopicSubscriber.html

Note from the Author or Editor:
Confirmed.

Anonymous  Dec 17, 2010 
Printed
Page 101
Figure 5-4

Replace "Nondurable" with "Durable" inside upper boxes

Note from the Author or Editor:
Correct; igure 5-4 refers to durable subscribers, not non-durable subscribers. Boxes at top should say "Durable".

Stefano David  Aug 04, 2010 
101
Figure 5-4

The first two boxes read 'Non-durable subscribers' when they should read 'durable subscribers'. See Figure 5.3 for comparison:

http://techbus.safaribooksonline.com/programming/java/9780596802264/publish-and-subscribe-messaging/ch05-63406#X2ludGVybmFsX0ZsYXNoUmVhZGVyP3htbGlkPTk3ODA1OTY4MDIyNjQvY2gwNS03MTkyMg==

Note from the Author or Editor:
Typo confirmed.

karenc@oreilly.com  Dec 17, 2010 
Printed, PDF
Page 115
1st paragrapg code snippet createDurableSubscriber

public TopicSubscriber createDurableSubscriber(Queue queue,
String name,
String messageSelector,
boolean noLocal)

should be ...
public TopicSubscriber createDurableSubscriber(Topic topic,
String name,
String messageSelector,
boolean noLocal)

Note from the Author or Editor:
Good catch - this is correct - the Queue should be replaced with Topic.

Ravi Kanakam  Sep 09, 2013 
Printed
Page 217
Canada

Hello,

In page 217 in the ? Memory leaks ? section's second paragraph, we can read this line :

Although Java has built-in memory management through garbage collection, it is an oversimplification to think that garbage collection permanently solves the problem of memory links.

IMHO, it should read :

... solves the problem of memory leaks.

So use the word ? leaks ? instead of the printed word ? links ?.

HTH,

David

Note from the Author or Editor:
Yes, the work links should be leaks.

David Robillard  Apr 06, 2013 
Printed
Page 258
2nd paragraph

In the section on QueueConnectionFactory in Appendix A, it is mentioned 'The QueueConnectionFactory is an administered object that is used to manufacture QueueConnectionFactory objects.' It should instead be 'The QueueConnectionFactory is an administered object that is used to manufacture QueueConnection objects.'

Note from the Author or Editor:
The reader is correct; this is a typo.

Kartik Desai  Jul 29, 2014 
Printed
Page 889
Table 5-1

Publish-and-subscribe API "TopicPublisher" and "TopicSubscriber" swapped respect to General API "MessageConsumer" and "MessageProducer"

Note from the Author or Editor:
Correct; page 89, Table 5-1, "TopicPublisher" should be aligned with "MessageProducer" and "TopicSubscriber" aligned with "MessageConsumer"

Stefano David  Aug 04, 2010