Php/docs/stomp.commit

提供:Dev Guides
< Php
移動先:案内検索

Stomp::commit

stomp_commit

(PECL stomp >= 0.1.0)

Stomp::commit -- stomp_commitCommits a transaction in progress


説明

オブジェクト指向型 (method):

public Stomp::commit ( string $transaction_id [, array $headers ] ) : bool

手続き型:

stomp_commit ( resource $link , string $transaction_id [, array $headers ] ) : bool

Commits a transaction in progress.


パラメータ

link
手続き型のみ: stomp_connect() が返す stomp リンク ID。
transaction_id
The transaction id.
headers
追加のヘッダ (例: receipt) を含む連想配列。


返り値

成功した場合に true を、失敗した場合に false を返します。


注意

ヒント Stomp は本来非同期です。同期通信を実装するには receipt ヘッダを追加します。これを追加すると、サーバーがメッセージを受領するかタイムアウトに達するまではメソッドが何も返さないようになります。


例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);?>