posted 14 years ago
Thanks.
calling message.acknowledge() on a message acknowledges all previously received but unacknowledged messages.
Now Assume I have 2 instance of an MDB.
Instance 1 has received message1 and it is processing the first message.
Instance 2 has received message2 and has quickly processed message2 before Instance1 and calls message.acknowledge()on message 2. According to JMS contract, JMS provider consider it as an acknowledgement for message1 too
But Instance 1 hasn't finished processing message1 and throws an runtime exception.
Have we lost message 1 permanently? does that mean we can't use client acknowledge with MDB?