How long is a message held waiting potential subscribers?
I did the following experiment IBM BPM 8.0.1
I have a trivial process with 1 user task to enter some data and a send message event which sends that data.
I have another process with a user task to enter a correlation key and then a receive a message event.
I run the send process. The message is sent and then delivered to any active listeners, as expected. Several hours later, I start another instance of the listener process and give it the same correlation key. The message is also deliverred to that process.
In normal JMS usage, a durable description only guarantees delivery to subscribers which are subscribed at the time the message was sent. This ensures a finite number of subscribers, and the server can know eventually that all possible deliveries are complete. The process instance did not exist when the message was sent, so it could not have been the subscriber. This suggests that the UCA actually registers the subscription. But the UCA cannot possibly know how many process instances may, at some time in the future, be started. If this is the behavior, then somewhere, the message must be persisted indefinately for potential future delivery.
Is there a time limit, analogous to the JMSExpiration header field? Is it configurable?
What am I missing?