I created a JMS topic in UM. One trigger is configured to subscribe the messages in this topic.
When a new message is sent to this topic, the subscriber/trigger received and processed the message but the message is not removed from the Channel. This is quickly filling up the available space for that topic. What I would like to see is the message to be removed once the subscriber reads the message.
The trigger has the acknowledgement mode set to 'CLIENT_ACKNOWLEDGE. But, the messages in the topic are not getting removed. Can you please advise if I am missing any configuration in UM or for the trigger?
It is possible that your channel does not have the correct settings.
Please check the channel properties that the box JMS Engine is checked. Also, make sure that you have channel type Mixed and that Auto-Maintenance is enabled.
How did you create the topic in UM?
Did you use Enterprise Manager?
If so, did you create it by adding a channel to the tree? Or did you add it from the JNDI tab?
The best way to create a topic in Enterprise Manager is from the JNDI tab of the Realm. If you add a topic here, it creates the JNDI entry AND it creates the associated channel with the correct settings.
Yes, it is a durable subscriber. Do you mean if the channel has a durable subscriber then the messages won’t be deleted from the event store until it reaches TTL or capacity limit ? If that is the case, how would I know whether a message is processed or not - by looking at the events in the event store?
Also, I set the TTL and capacity to 0 to make sure the no message is removed from queue unprocessed. If the messages do not get deleted after they are processed, then the storage file reaches to it’s max limit and no further messages can be processed - which is again a bottleneck. So I want the event to be removed from the durable channel once it is processed.
I created this channel from the JNDI tab.
Channel attributes are -
Channel type - mixed
Age - 0
capacity - 0
I didn’t quite understand the documentation on the number of events count -
In the UM Administration Guide, it is mentioned as below -
Here it says the ‘Events’ display the number of events on the channel. Does this include the messages that are already dispatched and ack received from durable subscriber?
I am under the impression that once the durable subscriber sends ack after consuming message, the message will be drained from the persistent event store and thus the events count will be reduced accordingly. Is it not true?
My understanding is, in Universal Messaging, they are actually using Queue (internally) to store durable messages. In this case, the messages will sit in the queue until the time out happens. As a result, the you can see the processed messages also in your topic. You can put a short TTL for the messages and check this behavior.