Collapse All Expand All

.NET Framework Class Library
TopicPublisher Class See Also

[TIBCO.EMS .NET client library 5.1 documentation]

Publishes a message to a topic for an unidentified message producer, specifying delivery mode, priority and time to live.

Namespace: TIBCO.EMS
Assembly: TIBCO.EMS (in TIBCO.EMS.dll)

# Syntax

    public void Publish(
    	Topic topic,
    	Message message,
    	int deliveryMode,
    	int priority,
    	long timeToLive
    )

    Public Sub Publish ( _
    	topic As Topic, _
    	message As Message, _
    	deliveryMode As Integer, _
    	priority As Integer, _
    	timeToLive As Long _
    )

    public:
    void Publish(
    	Topic^ topic,
    	Message^ message,
    	int deliveryMode,
    	int priority,
    	long long timeToLive
    )

#### Parameters

topic
  Type: TIBCO.EMS..::.Topic
  The Topic to which this message is to be published

message
  Type: TIBCO.EMS..::.Message
  The message to publish.

deliveryMode
  Type: System..::.Int32
  The delivery mode to use. This argument may be either an enumerated value (see MessageDeliveryMode) or an integer (see DeliveryMode). We recommend enumerated values, because they enable .NET to do stronger type checking at compile time, which can enhance program reliability.

priority
  Type: System..::.Int32

  The priority for this message.

  Priority affects the order in which the server delivers messages to consumers (higher values first). The JMS specification defines ten levels of priority value, from zero (lowest priority) to 9 (highest priority). The specification suggests that clients consider 0–4 as gradations of normal priority, and priorities 5–9 as gradations of expedited priority.

timeToLive
  Type: System..::.Int64

  The message's lifetime (in milliseconds) before it expires.

  - If the time-to-live is non-zero, the expiration is the sum of that time-to-live and the sending client’s current time (GMT). This rule applies even within sessions with transaction semantics—the timer begins with the send call, not the commit call.
  - If the time-to-live is zero, then expiration is also zero—indicating that the message never expires.

  Programs can use this property to define a default time-to-live for messages that this producer sends. Individual sending calls can override this default value.

  Whenever your application uses non-zero values for message expiration or time-to-live, you must ensure that clocks are synchronized among all the host computers that send and receive messages. Synchronize clocks to a tolerance that is a very small fraction of the smallest or time-to-live.

# Remarks

Typically, a message producer is assigned a topic at creation time; however, the TIBCO EME .NET API also supports unidentified message producers, which require that the topic be supplied every time a message is published.

# See Also

TopicPublisher Class
Publish Overload
TIBCO.EMS Namespace