【问题标题】:Implementing Hornetq实现 Hornetq
【发布时间】:2011-10-21 08:27:48
【问题描述】:

我需要弄清楚在我们的系统中实施 JMS 的正确方法。

目前我们有两个负载平衡的 JBoss 服务器用于最终用户事务目的,我们正在扩展基于事务中各种事件的通知功能。为了使其正常工作,决定使用以下方法,hornetQ 将嵌入事务 Jboss 服务器中,MDB 将附加在同一 JBoss 服务器中进行侦听并调用另一个 JBoss 服务器,该服务器将具有一些业务代码来对要发送的用户进行分类,最后该服务器将使用适当的用户调用 XMPP 服务器。

我的疑问是,在事务 JBoss 服务器中部署 MDB(事件使用者)是一种好方法,或者将 MDB 移动到专用于通知目的的 JBoss 服务器。请提出一些想法以获得更好的方法。

问候, 维拉姆

【问题讨论】:

    标签: jboss hornetq message-driven-bean


    【解决方案1】:

    正如我之前所说,您在这里的问题写得不好,但我真的很想帮助您...

    因此,部署 MDB 来处理事务总是一个不错的选择,而不是直接使用数据库,因为您要异步执行 TX。

    当您将数据从一个 MDB 发送到另一个应用程序服务器时,您可以将这两个操作作为同一个 TX 的一部分,因此您可以使用 XA 来确保消息的处理以及之后所做的任何事情(另一条消息发送,另一个 EJB 调用或另一个 DB 操作)将作为同一 TX 的一部分完成。

    如果您需要更多帮助,请重新编辑您的问题,确保使用正确的术语。我认为您没有语言障碍..您只是使用了错误的术语..例如,您不能将 HornetQ 嵌入事务中,那只是不存在的东西。

    【讨论】:

    • 你能编辑你最初的问题吗?也许我可以更好地帮助你
    【解决方案2】:

    您的问题有点难以理解。如何在事务中部署 MDB?您在应用程序服务器上部署 MDB。

    你的问题没有多大意义。也许是语言障碍?

    【讨论】:

    • 2 用于交易的 Jboss 应用服务器(让我们拥有 jb1),它处理与交易相关的请求,即创建新预订、编辑和保存预订中的操作。我们将在同一台服务器上部署 MDB,如果有任何 jms 请求,它将被传递到 MDB,MDB 将调用另一个 jboss 服务器(jb2)来处理详细信息,即获取与预订相关的详细信息 + 用户列表以传递消息。如果 jb2 中的任何事务失败或 jb2 关闭,这种情况将由 MDB 事务管理处理。请问这种设置好用吗?
    • 没有像 MDB 事务管理这样的东西。应用服务器上有事务管理器。另外,您说“将调用另一个 jboss 服务器”,但您没有说如何......这可能意味着 N 件事......实际上没有调用另一个 jboss 服务器这样的事情。您可以在另一台服务器上调用 EJB,您可以向另一台服务器发送消息……等等……看来您需要收集一些有关应用程序开发的概念。无论如何,如果您正确配置,事务管理器应该管理您拥有的多个 XA 分支。
    猜你喜欢
    • 2017-10-03
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 2011-11-17
    • 2017-12-26
    • 2015-01-30
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多