在JavaEE服务器之间共享数据

在JavaEE服务器之间共享数据,java,jakarta-ee,seam,shared-state,Java,Jakarta Ee,Seam,Shared State,在以下情况下,哪些产品/项目可以帮助我 多台服务器(同一位置) 某些状态应该在服务器之间共享(例如,计划任务是否正在运行以及在哪个服务器上运行的信息) 当然,显而易见的答案可能是数据库,但我们使用的是Seam,而且似乎没有一种好的方法在SeamBean中嵌套事务,因此我需要找到一种不必过度配置的方法(尝试使用EJB:s,但后来persistence.xml并不好)。所以我需要另一种方法来解决这个问题,直到Seam支持嵌套事务 如果您需要更多详细信息,这与我的场景基本相同: 有什么想法吗?听起

在以下情况下,哪些产品/项目可以帮助我

  • 多台服务器(同一位置)
  • 某些状态应该在服务器之间共享(例如,计划任务是否正在运行以及在哪个服务器上运行的信息)
当然,显而易见的答案可能是数据库,但我们使用的是Seam,而且似乎没有一种好的方法在SeamBean中嵌套事务,因此我需要找到一种不必过度配置的方法(尝试使用EJB:s,但后来persistence.xml并不好)。所以我需要另一种方法来解决这个问题,直到Seam支持嵌套事务

如果您需要更多详细信息,这与我的场景基本相同:


有什么想法吗?

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

事实上,在JavaEE世界中,您将不得不执行队列,就像在MoM(面向消息的中间件)中一样。Seam将使用JMS,您可以拥有发布和订阅队列

你可能想在阿克卡寻找替代品。它使您能够使用透明的参与者/代理模型跨机器分发作业。也就是说,您的代理可以相互合作,无论它们是在同一实例上还是在网络上,您都不需要编写大量代码来实现这一点,也不需要在消息链上下进行特殊处理

Akka的另一个目标是监督的概念,也就是说,继续前进并失败,或者让它崩溃。这是一个想法(电信运营商多年来一直遵循这个想法),即系统将出现故障,您应该为此进行设计,并有一种方法使系统具有弹性

最后,Java世界中其他职业选择的状况令人沮丧。我已经使用Seam多年了。这很好,但他们决定只支持Quartz的工作,这是没有用的

Akka也是基于Netty构建的,Netty在并发性和性能方面做了一些非常疯狂的事情


[顺便说一句,不是TypeSafe员工]

我可以让Seam在JMS或Akka中运行吗?我们非常喜欢Seam Bean及其逻辑。当然。您可以让代理使用Seam制造的组件。