【问题标题】:JMS without any Third Party Messaging没有任何第三方消息的 JMS
【发布时间】:2014-11-13 23:01:18
【问题描述】:

我有几个基本的 dots。

我为 P-P 开发了一个 JMS 应用程序,并且消息正在存储在 Jboss 7.1 JMS 引擎中。我的问题如下。

1.对于任何 JMS 应用程序,我们是否需要任何消息传递引擎,如 IBM MQ、HornetQ、Active MQ 等

  1. 如果是,那么我们需要将 MQ 配置为连接到 Appserver 消息引擎。

3.如果否,那么我们需要创建一个消息消费者

【问题讨论】:

    标签: jms mq


    【解决方案1】:

    JMS 是消息传递接口的规范 - 以及在事务中如何处理消息的状态模型。

    jms.jar 包含几乎所有接口 - 没有实现。因此,虽然您可以针对 jms.jar 编写应用程序,但实际上无法运行它。

    您需要选择某种类型的消息传递提供商。这适合您的要求。 这不是这里的讨论,但请记住,它们每个都有可能的扩展和规范之外的功能行为,因此如果您想在提供者之间移植,请密切注意仅使用规范定义的功能。

    在 JavaEE 应用程序服务器中将有一个提供消息传递功能的 JMS 实现。因此,JBOSS 中的应用程序将是 MOM(消息传递或标识中间件)应用程序。如果您希望消息由不在 JavaEE 服务器中运行的应用程序访问,那么某些提供程序可以做到这一点。通常有一个 JavaEE 客户端容器。或者消息传递引擎将有一个可以使用的基于 JavaSE 的客户端。 (例如 WAS 瘦客户端)。

    请记住,对于 JavaEE 服务器,您不仅可以选择消息传递提供程序 - 您可以使用 JCA 接口直接插入外部消息传递实现。如果大量消息传递将在 JavaEE 服务器之外,这可能会提供更简单的路径。

    编辑 - 添加 JavaEE 注释

    【讨论】:

    • 谢谢卡拉奈。这是否意味着在没有任何第三方消息传递技术(IBM MQ、HornetQ、Active MQ 等)的情况下,我们的应用程序不能说是 MOM 应用程序,并且消息将保留在 APPserver 消息传递引擎中。
    • 当应用程序在 JavaEE 应用服务器中运行时,它将使用通过该应用服务器实现的 JMS 提供程序。 [除了使用 JCA 接口和资源适配器,您还有其他选择]。使用的消息传递引擎是一个完整的 JMS 实现,因此可以说是一个 MOM 应用程序。根据具体的实现,将决定将消息发送到不运行 JavaEE 应用服务器的应用程序的难易程度。您可能能够在外部编写 JavaSE 应用程序,或者必须将应用程序用作提供者之间的桥梁。视情况而定!
    猜你喜欢
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 2011-08-10
    • 2018-11-21
    相关资源
    最近更新 更多