This content has been marked as final. Show 2 replies
When the receiver wait a message at MessageConsumer.receive() in AUTO_ACKNOWLEDGE mode,
If database is down before the JDBCPersistenceManager commits the message deletion,
ChannelState.acknowledge() throws Exception.
But ChannelSupport catch this, and receiver's MessageConsumer.receive() successfully returned.
This mean that JMS provider failed to acknowledge and message is still in DB,
but receiver doesn't know this. Receiver think the message has successfully deleted.
In this case, I think JMS provider should throw JMSException to receiver to report that server side error has occured and failed to acknowledge.