【问题标题】:How to connect Jms from PHP ?如何从 PHP 连接 Jms?
【发布时间】:2016-11-23 22:59:57
【问题描述】:

我正在尝试实现我的网站小聊天功能,如 facebook 使用。我使用了 Html、PHP、JQuery 和 Apache。我之前用 JMS 做了一些例子,但我不知道如何用 PHP 向 JMS 服务器发送消息?

对于 JMS,我使用了 Weblogic。

【问题讨论】:

    标签: php jms


    【解决方案1】:

    您有几个选择。让我们按照从最差到最差的顺序来介绍它们。

    首先是Quercus,它是Java 中的PHP 实现。在 Quercus 中运行的 PHP 代码可以实例化 Java 类并调用它们的方法,就像它们是 PHP 对象一样。您可以像在 Java 中使用 JMS 一样使用 JMS。我没有这方面的经验。

    第二个是the PHP/Java Bridge。开始工作有点复杂,但在代码方面,它的工作方式与 Quercus 相同。您可以直接使用任何旧的 Java API。我有这方面的经验,但并不愉快。在相应的 Apache+PHP 子进程退出后,Java 进程最终处于僵尸状态。我们最终不得不编写一个 cron 脚本来每晚清理所有工作的 Java 进程,否则服务器最终会耗尽可用内存。

    第三个是查看不同的 JMS 提供程序,例如 ActiveMQ。为什么?因为 ActiveMQ 支持许多消息 API,包括 Stomp,这是一种与语言无关的消息 API,恰好有 a PHP extension。 Weblogic 可能会说 Stomp,但我无法确定是否是这种情况。唯一的 Google 结果是Weblogic + ActiveMQ integration

    Fourth 不会考虑 JMS。 JMS 是一种Java 解决方案。 PHP 不是 Java。有很多消息队列系统可以很好地与 PHP 配合使用。 ActiveMQ 只是一个例子。我个人更喜欢Gearman。 Gearman 最初设计用于执行分片远程过程调用,但它同样适用于简单的消息传递,并且具有a PHP extension 以及大多数其他语言的绑定。

    【讨论】:

      【解决方案2】:

      只提供另外两个选项:OpenMQ (using HTTP)PHPMQ

      (我对已接受答案的两分钱) 很好的答案,一个小问题:Gearman 非常适合远程过程调用,但对于消息传递,JMS 更加健壮(持久性等)。以某种方式瞄准 JMS 是我的建议。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-21
      • 2011-04-06
      • 2014-01-24
      • 2017-05-26
      • 1970-01-01
      • 2014-11-23
      • 2012-08-27
      • 1970-01-01
      相关资源
      最近更新 更多