(PECL stomp >= 0.1.0)
Stomp::commit -- stomp_commit β ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΡΠΈΠ»Ρ (ΠΌΠ΅ΡΠΎΠ΄):
ΠΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ:
ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ.
linktransaction_idheaders
Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true, Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΈΠ»ΠΈ false, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΡΠΈΠ»Ρ
<?php
/* ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('ΠΡΠΈΠ±ΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ: ' . $e->getMessage());
}
/* ΠΠ°ΡΠ°Π»ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ */
$stomp->begin('t1');
/* ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));
/* Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ */
$stomp->commit('t1');
/* Π·Π°ΠΊΡΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ */
unset($stomp);
?>ΠΡΠΈΠΌΠ΅Ρ #2 ΠΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ
<?php
/* ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ */
$link = stomp_connect('tcp://localhost:61613');
/* ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ */
if (!$link) {
die('ΠΡΠΈΠ±ΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ: ' . stomp_connect_error());
}
/* ΠΠ°ΡΠ°Π»ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ */
stomp_begin($link, 't1');
/* ΠΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));
/* ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ */
stomp_commit($link, 't1');
/* ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ */
stomp_close($link);
?>Stomp Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ. Π‘ΠΈΠ½Ρ ΡΠΎΠ½Π½Π°Ρ ΡΠ²ΡΠ·Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ receipt-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°. ΠΡΠΎ Π·Π°ΡΡΠ°Π²ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ, ΠΏΠΎΠΊΠ° ΡΠ΅ΡΠ²Π΅Ρ Π½Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.