(PECL stomp >= 0.1.0)
Acknowledges consumption of a message
public bool Stomp::ack ( mixed $msg [, array $headers ] )
Object oriented style (method):
Procedural style:
bool stomp_ack ( resource
$link
, mixed $msg
[, array $headers
] )Acknowledges consumption of a message from a subscription using client acknowledgment.
Parameters:
link
Procedural style only: The stomp link identifier returned by stomp_connect().
msg
The message/messageId to be acknowledged.
headers
Associative array containing the additional headers (example: receipt).
Returns:
Returns TRUE
on success or FALSE
on failure.
Notes:
A transaction header may be specified, indicating that the message acknowledgment should be part of the named transaction.
Examples:
Object oriented style
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <?php $queue = '/queue/foo' ; $msg = 'bar' ; /* connection */ try { } catch (StompException $e ) { die ( 'Connection failed: ' . $e ->getMessage()); } /* send a message to the queue 'foo' */ $stomp ->send( $queue , $msg ); /* subscribe to messages from the queue 'foo' */ $stomp ->subscribe( $queue ); /* read a frame */ $frame = $stomp ->readFrame(); if ( $frame ->body === $msg ) { /* acknowledge that the frame was received */ $stomp ->ack( $frame ); } /* remove the subscription */ $stomp ->unsubscribe( $queue ); /* close connection */ unset( $stomp ); ?> |
Procedural style
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <?php $queue = '/queue/foo' ; $msg = 'bar' ; /* connection */ /* 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 , $msg , array ( 'transaction' => 't1' )); /* commit a transaction */ stomp_commit( $link , 't1' ); /* subscribe to messages from the queue 'foo' */ stomp_subscribe( $link , $queue ); /* read a frame */ $frame = stomp_read_frame( $link ); if ( $frame [ 'body' ] === $msg ) { /* acknowledge that the frame was received */ stomp_ack( $link , $frame [ 'headers' ][ 'message-id' ]); } /* remove the subscription */ stomp_unsubscribe( $link , $queue ); /* close connection */ stomp_close( $link ); ?> |
Please login to continue.