2011-08-06 43 views
1

我需要在我们的系统中实现JMS的正确方法有一些明确。实现Hornetq

目前我们已经在负载均衡的最终用户交易的目的,我们正在扩展基于交易中的各种事件的通知提供两种JBoss服务器。为了使其工作已经决定使用以下方法,hornetQ将被嵌入到事务Jboss服务器中,并且MDB将被连接到相同的JBoss服务器中以调用另一个JBoss服务器,该服务器将有一些业务代码来分类要发送的用户,最后该服务器将与适当的用户呼叫XMPP服务器。

这里我的疑问是,在交易JBoss服务器部署MDB(事件消费者)是不错的办法或移动到MDB专用于通知章节目标JBoss服务器。请提出一些更好的方法。

问候, Vairam

回答

0

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

你的问题是赚不到太大的意义。也许这是语言障碍?

+0

2交易Jboss应用服务器(允许有JB1),它可以处理的事务相关的请求即创造新的订单,编辑和保存行动的预订。我们将在同一台服务器上部署MDB,如果有任何jms请求发送到MDB,MDB将调用另一个jboss服务器(jb2)来处理细节,即获取与预订+用户列表有关的详细信息以传递消息。在jb2或jb2发生任何事务失败的情况下,这种情况将由MDB事务管理处理。是否这种设置很好实施。 – vairam

+0

没有像MDB事务管理那样的事情。 在应用程序服务器上有事务管理器。 另外,您说“将调用另一个JBoss服务器”,但你没有说 如何......这可能意味着n Things的.... 实际上,有没有这样的东西调用另一个JBoss服务器。你可以调用EJB另一台服务器上,您可以将消息发送到另一台服务器...等等... 看来你需要收集有关应用程序开发的几个概念。 无论如何,如果您正确配置它,交易管理器应该管理您拥有的多个XA分支。 –

+0

你说得对,我会在另一个jboss中调用ejb。 – vairam

2

正如我刚才所说的问题在这里是写得不好,但我真的想帮你...

所以,它总是一个不错的选择,部署的MDB处理交易,而不是直接使用数据库因为您要异步执行TX。

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

如果您需要更多的帮助,请重新编辑你的问题,确保您使用的是正确的术语。我不认为你有语言障碍..你只是使用错误的术语..就像你不能在交易中嵌入HornetQ,这只是一些不存在的东西。

+0

谢谢Clebert先生。 – vairam

+0

你能编辑你最初的问题吗?也许我可以帮助你更好 –