When message priority is set for EMS messages, when does EMS guarantee that a message with higher priority will be delivered to the client(s) before messages with lower priority?

When message priority is set for EMS messages, when does EMS guarantee that a message with higher priority will be delivered to the client(s) before messages with lower priority?

book

Article ID: KB0087220

calendar_today

Updated On:

Products Versions
TIBCO Enterprise Message Service -
Not Applicable -

Description

Resolution:
EMS does support message priority and does guarantee that a message with higher priority will be delivered to the client(s) before messages with lower priority, but only when EMS HAS TO CHOOSE between multiple messages.

This means that whenever EMS has more than one message it can deliver to the client application, it always uses priority of messages and delivers messages with higher priority first. The only reason the priority is effectively ignored is when the EMS server or the client has only one message to be delivered to the consumer.

For example, if a sender is sending messages with various priorities (say 4 and 9), the message priority may *seem* to be ignored and message are delivered to clients in the order they were sent rather than by priority.  The actual reason for this is that EMS server receives messages one-by-one and always has only one message to deliver to consumers, thus it does not consider message priority.  However if messages can not be delivered to the consumers in a timely manner and there is a backlog of messages in the EMS server, the message priority will be used and messages with higher priority (for example 9) will be delivered first (before messages with for example priority 4).

When priority is considered, EMS delivers messages with higher priority before messages with lower priority.  While JMS specifications mention two priority groups: 0-4 as lower priority group and 5-9 as "expedited" priority group, it is only the guideline for the applications.  EMS does not make such distinction and simply delivers message with priority P1 in front of the message with priority P2 if P1 is greater than P2.

Issue/Introduction

When message priority is set for EMS messages, when does EMS guarantee that a message with higher priority will be delivered to the client(s) before messages with lower priority?