Мы используем ActiveMQ, PHP и Stomp. И со stomp есть одна проблема - он не может обнаруживать ситуации когда потеряно соединение. Heartbeat в stomp добавлен только в версии 1.2, при этом ActiveMQ поддерживает только 1.1, а для php нет реализации свежее чем 1.0.
Также я попробовал Amqp, но для него php-реализация нашлась только в версии 0.9.1, а ActiveMQ использует версию 1.0. И когда консюмер пытается подключиться к брокеру он выдаёт ошибку:
WARN | Connection attempt from non AMQP v1.0 client. AMQP,0,0,9,1
WARN | Transport Connection to: tcp://127.0.0.1:42168 failed: org.apache.activemq.transport.amqp.AmqpProtocolException: Connection from client using unsupported AMQP attempted
Сейчас разбираюсь с этой замечательной штукой:
https://qpid.apache.org/releases/qpid-proton-0.8/m... но не могу понять где мне взять proton.php который у них инклудится. Впрочем, только успел собрать после правки make-файлов. Разбираюсь дальше.
Собственно вопрос, какой в этом окружении оптимально использовать транспорт, который мог бы автоматически переподключаться к брокеру?
PS: ещё не пробовал openwire, с ходу не нашёл для него php-реализации, буду искать.