Stomp::send

stomp_send

(PECL stomp >= 0.1.0)

Stomp::send -- stomp_sendSends a message

Descrierea

Stil obiect-orientat (method):

public Stomp::send ( string $destination , mixed $msg , array $headers = ? ) : bool

Stil procedural:

stomp_send ( resource $link , string $destination , mixed $msg , array $headers = ? ) : bool

Sends a message to the Message Broker.

Parametri

link

Doar stilul procedural: Identificatorul legăturii stomp întors de stomp_connect().

destination

Where to send the message

msg

Message to send.

headers

Un tablou asociativ conținând antetele suplimentare (de exemplu: receipt).

Valorile întoarse

Întoarce valoarea true în cazul succesului sau false în cazul eșecului.

Note

Notă:

Poate fi specificat un antet al tranzacției, indicând faptul că confirmarea mesajului trebuie să fie parte componentă a tranzacției cu nume.

Sfat

Stomp este în mod inerent asincron. O comunicare sincronă poate fi implementată adăugând un antet cu confirmare. Aceasta va face ca metodele să nu întoarcă nimic până când serverul confirmă primirea mesajului sau până când se atinge limita maximă de timp pentru citire.

Exemple

See stomp_ack().

add a note add a note

User Contributed Notes 1 note

up
0
james dot mk dot green at gmail dot com
13 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