Как подключить Jms из PHP? - PullRequest
       6

Как подключить Jms из PHP?

5 голосов
/ 02 ноября 2010

Я пытаюсь реализовать в своих сайтах небольшую функцию чата, которую использует Facebook.Я использовал Html, PHP, JQuery и Apache.Я сделал несколько примеров с JMS, но не мог понять, как отправить сообщение на сервер JMS с PHP?

Для JMS я использовал Weblogic.

Ответы [ 2 ]

11 голосов
/ 02 ноября 2010

У вас есть несколько вариантов.Давайте рассмотрим их в порядке от худшего к худшему.

Сначала это Quercus , реализация PHP на Java.PHP-код, выполняемый в Quercus, может создавать экземпляры Java-классов и вызывать методы для них так же, как они были объектами PHP.Вы сможете работать с JMS так же, как с Java.У меня нет опыта работы с этим.

Второй - PHP / Java Bridge .Работать немного сложнее, но эффективно работает так же, как Quercus, в отношении кода.Вы сможете работать напрямую с любым старым Java API.У меня есть опыт с этим, и это не было приятно.Процессы Java в конечном итоге зависали в состоянии зомби после выхода из соответствующего потомка Apache + PHP.В конечном итоге нам пришлось написать сценарий cron для очистки всех рабочих процессов Java в ночное время, иначе серверу в конечном итоге не хватило бы доступной памяти.

В-третьих, мы будем рассматривать других поставщиков JMS, например ActiveMQ .Зачем?Поскольку ActiveMQ поддерживает множество API обмена сообщениями, в том числе Stomp , API обмена сообщениями, не зависящий от языка, который имеет расширение PHP .Возможно, что Weblogic может говорить на Stomp, но я не смог определить, так ли это.Единственные результаты Google были для Weblogic + ActiveMQ интеграция .

Четвертый будет не думать о JMS.JMS - это решение Java.PHP не является Java.Существует множество систем очереди сообщений, которые хорошо работают с PHP.ActiveMQ - только один пример.Я лично предпочитаю Gearman .Первоначально Gearman был разработан для выполнения удаленных вызовов процедур, но он одинаково хорошо работает и для простой передачи сообщений и имеет расширение PHP , а также привязки для большинства других языков под солнцем.

2 голосов
/ 11 декабря 2011

Просто чтобы дать две другие опции: OpenMQ (с использованием HTTP) и PHPMQ

(Мои два цента о принятом ответе) Отличный ответ, один спор:Gearman отлично подходит для удаленных вызовов процедур, но в отношении передачи сообщений JMS гораздо более надежен (постоянство и т. Д.).Цель для JMS в некотором роде была бы моим предложением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...