Message in UM Topic

Hi Guys,

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?

Kind regards,

did you configure durable subscriber by any chance?

Raja,
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.

1 Like

Hi Sasanka,

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.

Hi Jonathan,

I created this channel from the JNDI tab.

Channel attributes are -
Channel type - mixed
Age - 0
capacity - 0

Storage properties -
Cache on reload - true
enable caching - true
Honour capacity - false
Enable read buffering - true
Auto maintenance - true

Subscriber settings -

Destination type - Durable
Acknowledge mode - CLIENT_ACKNOWLEDGE

Hi Guys,

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?

Hello,

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.

Regards
Sasa

Hi,

If TTL or capacity is set - the messages get deleted once the limit is reached - irrespective of whether the messages are consumed or not.

I would like to keep the messages in queue until they are consumed and delete once they are acknowledged.