Hi Kai, Francois,
yeah, this is definitely a bug and I can help with fixing it.
Regarding the question of store-and-forward, I think we can think about this in more than one way. It’s one thing to guarantee delivery of the event and the other is to receive a notification when event has been processed by the business application.
In the first case, getting an ack from the broker that stored the message safely should be enough guarantee that the event will be eventually delivered to the consumers.
In the other case, I think we should develop a new API similar to command and control, just in the other direction.
As you already discussed, you can use direct messaging to achieve the same functionality, but you end up with the system where performance and availability is defined by the message processors. And the producers quickly turns into a “brokers” caching messages, doing redeliveries, etc. So it all depends on the use case, in the simple ones it’s OK, but if things get more complex you really want a real broker doing all this work.
Anyhow, let’s fix this first and see how it works for you.