Gary,
The first part of your post:
If you do not have any acknowledgment handling in place (recover_33 procs or some others) and timeout occurs, the engine will send the next message in line.
The second part:
Well the message sits in the Recover DB until the time expires and then it is removed and the next message is sent. IF you take control via Tcl and do something with the message you have some control over what happens to it – hence the recover_33 or equivalent procs.
You did not ask, but if you have await replies on, and no acknowledgment handling procs involved, and you do not do anything to handle the reply via routing for example, you will get a Trx ID error on the reply.
Well the above is my recollection.
Since we always use acknowledgement handling, I might be a little rusty as to what happens when you do not. I cannot think of any good reason not to handle acknowledgments properly.
Jim Kosloskey
email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.