message can be persisted to avoid message lost [for example jvm crash]. message can persisted to db/file system based on the messaging service configuration. in this case when the message service gets a message it makes sure it persist the message successfully before it sends ack.
Assume a scenario in case of a Persistent Messages , assume that the Message has been persisted in the File system / or in a database and has been picked up from the Queue from a MDB , so waht is the appropaite time to delete that Message from the Filesystem / Database ??