Stomp::send

stomp_send

(PECL stomp >= 0.1.0)

Stomp::send -- stomp_sendSends a message

說明

物件導向風格 (method):

public bool Stomp::send ( string $destination , mixed $msg [, array $headers ] )

程序化風格:

bool stomp_send ( resource $link , string $destination , mixed $msg [, array $headers ] )

Sends a message to the Message Broker.

參數

link

僅對過程化樣板:由 stomp_connect() 回傳的 stomp 連結標識符。

destination

Where to send the message

msg

Message to send.

headers

關連陣列包含附加的標頭訊息(例如: receipt)。

回傳值

如果成功則回傳 TRUE,失敗則回傳 FALSE

註釋

Note:

A transaction header may be specified, indicating that the message acknowledgment should be part of the named transaction.

Tip

Stomp is inherently asynchronous. Synchronous communication can be implemented adding a receipt header. This will cause methods to not return anything until the server has acknowledged receipt of the message or until read timeout was reached.

範例

See stomp_ack().

add a note add a note

User Contributed Notes 1 note

up
-3
james dot mk dot green at gmail dot com
12 years ago
Without a receipt header your application will fire messages potentially faster than the broker can receive them at. The broker may issue failure notices however STOMP being asynchronous your client won't get to see it.

Without a receipt ActiveMQ (5.5.0) with ProducerFlowControl turned on drops messages (even persistent ones) and my application knows nothing about it (send() returned true). With receipt header specified the STOMP library handles the wait for the receipt acknowledgement for you - you are essentially automatically throttled.
To Top