.NET C# API consumed events to not leave topic after Ack


I have created the following JNDI Channel/Topic in UM 9.10

Type: Mixed
TTL: 0
Use JMS Engine = true/checked

I am publishing messages to UM using the JMS services in a webMethods 9.10 Integration Server instance
These messages are sent as “Persistent” with a TTL of 48 hours.

The consumer is a .NET C# client using the C# API.
That code created a Named Object (Durable Subscriber) and is consuming messages synchronously and calling the “ack()” method to acknowledge the messages.

If I use Enterprise manager, I can see the durable subscriber and the current Event ID matches that of the next message to be published so the ack() appears to be working. However, if I “snoop” the events on the topic, all the messages still remain.

If there is only one subscriber and they are consumed I thought UM would remove those messages from the topic.

Can anyone clarify the functionality? Is my expectation correct?

Your expectation is correct.

It takes about 5 to 10 seconds for the events to be removed when there is no more interest on the events.

If you already have the events consumed in the snoop window they will not be removed and you will need to stop snooping and restart to see the effect.

Another way to see if the events are removed by the JMS Engine is to look at the Event count, it can be seen on the channel page in EM, bottom right corner in the Event Store box it also mentioned near the end of this page https://techcommunity.softwareag.com/ecosystem/documentation/onlinehelp/Rohan/num10-3/10-3_UM_webhelp/index.html#page/um-webhelp%2Fto-chanstatus.html%23

Thanks for the confirmation.

Yes…I assumed the snoop keeps the messages from purging. However, that doesn’t seem to make a difference in this case.

Also, the Event Store status window never goes down. The Event count does not reduce even though the client is acknowledging the messages.