International PHP Conference Munich 2021

Класс Stomp

(PECL stomp >= 0.1.0)

Введение

Представляет связь между PHP и Stomp совместимым брокером сообщений (Message Broker).

Обзор классов

Stomp {
/* Методы */
public abort(string $transaction_id, array $headers = ?): bool
public ack(mixed $msg, array $headers = ?): bool
public begin(string $transaction_id, array $headers = ?): bool
public commit(string $transaction_id, array $headers = ?): bool
public __construct(
    string $broker = ini_get("stomp.default_broker_uri"),
    string $username = ?,
    string $password = ?,
    array $headers = ?
)
public __destruct(): bool
public error(): string
public getReadTimeout(): array
public getSessionId(): string|false
public hasFrame(): bool
public readFrame(string $class_name = "stompFrame"): stompframe
public send(string $destination, mixed $msg, array $headers = ?): bool
public setReadTimeout(int $seconds, int $microseconds = ?): void
public subscribe(string $destination, array $headers = ?): bool
public unsubscribe(string $destination, array $headers = ?): bool
}

Содержание

  • Stomp::abort — Отменяет выполнение текущей транзакции
  • Stomp::ack — Подтверждает получение сообщения
  • Stomp::begin — Создаёт транзакцию
  • Stomp::commit — Выполняет текущую транзакцию
  • Stomp::__construct — Открывает соединение
  • Stomp::__destruct — Закрывает Stomp-соединение
  • Stomp::error — Возвращает последнюю ошибку Stomp
  • Stomp::getReadTimeout — Возвращает время максимального ожидания операции чтения
  • Stomp::getSessionId — Возвращает идентификатор текущей сессии Stomp
  • Stomp::hasFrame — Проверяет, возможно ли чтение фрейма
  • Stomp::readFrame — Выполняет операцию чтения следующего фрейма
  • Stomp::send — Отправляет сообщение
  • Stomp::setReadTimeout — Устанавливает предельное время ожидания операции чтения
  • Stomp::subscribe — Регистрирует подписку на указанную рассылку
  • Stomp::unsubscribe — Удаляет существующую подписку
add a note add a note

User Contributed Notes 1 note

up
1
guilherme dot geronimo at gmail dot com
3 years ago
In some cases (E.g. ActiveMQ), when you have many consumers you need to identify your "client-id" during the connection process, otherwise the server can misunderstand your connection and create new topics/queues:

<?php
$stomp
= new Stomp($url, $user, $password, array('client-id'=> $clientId ));
?>
To Top