If the mdb is in a transaction you could try rolling it back. If not (I think) the message should be redelivered if you throw a runtime exception from within the MDB.
On Mon, Mar 3, 2014 at 3:35 PM, Li Li <fancye...@gmail.com> wrote: > hi all, > can a queue message consumer "refuse" a message after receive a > message? > because a client don't know the message in advance. > onMessage(Message msg){ > if(CannotProcess(msg)){ > //refuse this message > } > } > what I need is: if the message can't be processed by one client, it > can be sent to another consumer. > if all consumer "refuse" this message, then this message will be > removed to dead letter queue or to the end of the queue. >