(PECL stomp >= 0.1.0)
Stomp::commit -- stomp_commit — 提交進行中的交易
物件導向風格 (方法)
程序式風格
提交進行中的交易。
link
僅限程序式風格:由 stomp_connect() 返回的 stomp 連結識別碼。
transaction_id
交易 ID。
headers
包含額外標頭的關聯式陣列(例如:receipt)。
範例 #1 物件導向風格
<?php
/* 連線 */
try {
$stomp = new Stomp('tcp://127.0.0.1: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://127.0.0.1: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 標頭來實現。這將導致方法直到伺服器確認收到訊息或讀取逾時才會返回任何內容。