Skip to content

tochka-developers/stomp-adapter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

STOMP Adapter

Класс для работы с очередями по протоколу Stomp. Обертка для PHP-расширения Stomp.

Для чего?

  • При разрыве соединения на стороне сервера, либо любых других проблемах с соединением данный адаптер сам пересоздает подключение (при этом старое разрывает безопасно) и восстанавливает все активные подписки.
  • Поддерживает Stomp 1.2.
  • Просто так удобнее:
$stomp = new \Tochka\Esb\Stomp\StompAdapter($url, $login, $password);

// Отправка сообщения
$stomp->send('queue_1', 'Data');

// Подписываемся сразу на несколько очередей
$stomp->subscribe('queue_1');
$stomp->subscribe('queue_2');

// Ждем сообщений
while (true) {
    // Каждые две секунды проверяем, есть ли сообщения
    sleep(2);
    
    while ($frame = $stomp->getNextMessage()) {
        // Что-нибудь делаем с сообщением
        // ...
        
        // Отвечает серверу, что все ок
        $stomp->ack($frame);
        // или что-то пошло не так
        // $stomp->nack($frame);
    }
}
  • При уничтожении объекта сам отписывается от всех активных подписок и закрывает соединение