EJB的故障转移?

时间:2012-07-04 18:27:39

标签: java-ee jboss glassfish ejb-3.0 failover

Java EE应用程序容器为EJB提供“故障转移”支持,在他们的文档中,从来没有引用任何理由,以便您首先需要对EJB进行故障转移!

这些“故障转移”条件何时发生以及是什么原因引起的?这只是抛出异常的情况吗?或者,应用容器是否可能实际“丢失”或“中断”EJB?

通常,当我在过去谈到故障转移时,它就像服务器这样的网络组件因某种原因而崩溃。我只是在这里有一个心理障碍试图想象会导致部署的软件死亡和“故障转移”的原因。

具体例子的奖励点,而不仅仅是模糊,模糊,抽象的描述(!)。

2 个答案:

答案 0 :(得分:0)

Java EE通常不会提供您所谈论的此类故障转移。如果它完全受支持,那么它是特定实现的专有功能。

通常,此类故障转移适用于在某些服务器上运行的远程EJB,由于网络问题,该服务器本身可能会崩溃或变得不可用。在这种情况下,客户端应用程序服务器可以指定多个故障转移URL,这样,如果一个服务器变得无响应,则会自动使用另一个服务器,而这种方式对于想要与所述bean通信的代码是透明的。

相同的机制也可用于基本的负载平衡。如果您的代码想要联系的远程EJB所在的服务器处于高负载状态,则客户端AS可以自动选择运行相同远程Bean的服务器,但负载较低。

答案 1 :(得分:0)

"clustered EJBs" in JBoss的情况下,您可以查看故障转移的详细说明。

您需要通用故障转移并超越JEE和EJB的原因 - 单个服务器可能变得不可用。