Stomp::commit
stomp_commit
(PECL stomp >= 0.1.0)
Stomp::commit -- stomp_commit — Commits a transaction in progress
说明
面向对象风格 (method):
public Stomp::commit(string
$transaction_id
, array $headers
= ?): bool过程化风格:
stomp_commit(resource
$link
, string $transaction_id
, array $headers
= ?): boolCommits a transaction in progress.
参数
-
link
-
仅对过程化样式:由 stomp_connect() 返回的 stomp 连接标识符。
-
transaction_id
-
The transaction id.
-
headers
-
关联数组包含附加的头信息(例如: receipt)。
返回值
成功时返回 true
, 或者在失败时返回 false
。
范例
示例 #1 面向对象风格
<?php
/* connection */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}
/* begin a transaction */
$stomp->begin('t1');
/* send a message to the queue */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));
/* commit */
$stomp->commit('t1');
/* close connection */
unset($stomp);
?>
示例 #2 过程化风格
<?php
/* connection */
$link = stomp_connect('tcp://localhost:61613');
/* check connection */
if (!$link) {
die('Connection failed: ' . stomp_connect_error());
}
/* begin a transaction */
stomp_begin($link, 't1');
/* send a message to the queue 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));
/* commit */
stomp_commit($link, 't1');
/* close connection */
stomp_close($link);
?>
注释
小技巧
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.

User Contributed Notes
There are no user contributed notes for this page.