IT. Expert System.

PHP

Acknowledges consumption of a message


Stomp::ack

stomp_ack

(PECL stomp >= 0.1.0)

Stomp::ack -- stomp_ackAcknowledges consumption of a message

Description

Object oriented style (method):

public bool Stomp::ack ( mixed $msg [, array $headers ] )

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).

Return Values

Returns TRUE on success or FALSE on failure.

Notes

Note:

A transaction header may be specified, indicating that the message acknowledgment should be part of the named transaction.

Tip

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.

Examples

Example #1 Object oriented style

<?php

$queue  
'/queue/foo';
$msg    'bar';

/* connection */
try {
    
$stomp = new Stomp('tcp://localhost:61613');
} 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);

?>

Example #2 Procedural style

<?php

$queue  
'/queue/foo';
$msg    'bar';

/* connection */
$link stomp_connect('ssl://localhost:61612');

/* 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);

?>



Content

Android Reference

Java basics

Java Enterprise Edition (EE)

Java Standard Edition (SE)

SQL

HTML

PHP

CSS

Java Script

MYSQL

JQUERY

VBS

REGEX

C

C++

C#

Design patterns

RFC (standard status)

RFC (proposed standard status)

RFC (draft standard status)

RFC (informational status)

RFC (experimental status)

RFC (best current practice status)

RFC (historic status)

RFC (unknown status)

IT dictionary

License.
All information of this service is derived from the free sources and is provided solely in the form of quotations. This service provides information and interfaces solely for the familiarization (not ownership) and under the "as is" condition.
Copyright 2016 © ELTASK.COM. All rights reserved.
Site is optimized for mobile devices.
Downloads: 10109 / . Delta: 0.04084 с