Hi @arm, this is always a bit of a tricky topic. In Solace we do something called message “promotion” and “demotion” which is how messages cross levels of persistence. Solace does not have any kind of “semi persistence” where messages are “queued” but only in memory - in the Solace world, messages are either persisted or they are not.
Taking your scenarios:
S1: JMS pub topic w/ direct mode: no ack to publisher so message may be lost, for instance if the destination queue is full.
→ Durable queue w matching topic sub: message promoted to “non-persistent”, message saved to queue and to disk. At this point the message is now fully persisted and will not be lost
→ JMS Cons: must ack the message before it is remoevd from the queue.
S2: Essentially identical. There is no ack to the publisher, so the message can be lost at this stage, otherwise the message is fully persisted to disk when it lands on the queue.
S3: No message loss, acked at every stage.