posted 18 years ago
Hi Richard,
I didn't read the book. However:
1) All JMS messages are async, i.e., the sender sends the messages and doesn't block for the answer. What they call "sync" and "async" is the way you receive the messages. You can receive them using "receive" (sync) or you can use "listeners" (async). You can use both, sync and async receiving for both, queue and topic. As far as queue and topic, the differences are that in queue, you are able to have almost one receiver. Also you can send the message to the queue, and after that, read them, without having the receiver to be connected at the time the messages arrived. Topic can have multiple receivers of the same message, however, they must be connected at the time the messages arrive. With a topic-durable option, you can have a Topic, that relax this last condition, in that, the receiver can register to the topic, but after that, it can quit, and can read the messages in a later connection (provided it will use the same ID and subscription name)
2) I think that if you are using a Topic (not durable), and at the moment the message is delivered, the client is not "online", you loose the message. To avoid this, you use durable topics, or queues.
Dani Mazzuca