2013-01-22 83 views
0

什么产品/项目可以帮助我解决以下情况?在Java EE服务器之间共享数据

  • 多台服务器(同一地点)
  • 一些国家应该服务器之间(例如信息,如果计划任务运行和在什么服务器)共享。当然

显而易见的答案可能是数据库,但我们使用Seam和似乎没有成为一个Seam豆内嵌套事务的好办法,所以我需要找到一种方法,在这里我就不必须疯狂的配置(尝试使用EJB:s,但pe​​rsistence.xml之后并不美观)。所以我需要另一个解决这个问题的方法,直到Seam支持嵌套事务。

如果您需要更多详细信息,这与基本相同:https://community.jboss.org/thread/182126

任何想法?

回答

2

听起来像你需要做分布式作业管理。

现实情况是,在Java EE世界中,您将最终需要做队列,就像在MoM [Message-oriented Middleware]中一样。 Seam将与JMS一起工作,并且可以发布和预订队列。

在哪里你可能想要找一个替代品在阿卡。它使您能够使用透明的Actor/Agent模型在多台机器上分配作业。也就是说,无论您的代理处于同一实例还是跨网络,您的代理都可以相互合作,并且不会编写大量代码来实现此目的,或者必须专门处理消息上下的消息链。

Akka为此付出的另一件事是监督的概念,即前进和失败,或让它崩溃。这是一个想法(接下来是电信公司多年),系统将会失败,您应该设计它,并且有办法使事情具有弹性。

最后,Java世界中其他选择职位的状态是糟糕的。多年来一直使用Seam。这很好,但他们决定只是支持石英工作,这是没用的。

Akka也建立在Netty之上,它在并发和性能方面做了一些非常疯狂的事情。

[不是TypeSafe员工,btw ...]

+0

我可以让Seam在JMS或Akka中运行吗?我们非常喜欢我们的Seam-beans和他们所持有的逻辑。 – Roland

+0

当然。您可以让代理使用Seam中创建的组件。 – Rob