停用并置对象的Weblogic负载平衡优化
时间:2020-03-06 14:55:42 来源:igfitidea点击:
有没有一种方法可以取消对Weblogic默认用于特定EJB的并置对象的优化?
编辑:一些上下文:
我们有一个调度程序服务,该服务在群集的一个节点内运行。这是出于历史原因,目前无法更改。
该服务调用EJB,我们希望对这些调用进行负载平衡。不幸的是,由于问题中提到的优化,目前每个调用都在承载调度程序服务的节点上运行。
我当时在考虑编写一个自定义的负载平衡类,但是这种优化似乎是在负载平衡步骤发生之前完成的。
解决方案
不太熟悉Weblogic的勇气,但是阅读它们的材料,我会说,如果没有一些技巧,我们将无法做到。
看起来确实可以将JMS(MDB)外观放置在EJB的前面,而不遵守并置对象优化。
或者
如果调度程序是基于servlet的,则我们应该能够将其部署在容器内的单独的Web应用程序中,并使其执行对EJB集群的调用。
集群中有多少个节点?我们是否考虑过将EJB部署到除调度程序服务所在的节点之外的其他节点上?
假设我们正在尝试调用远程EJB(只能通过诸如Patrick提到的间接技巧来获得本地ejb上的负载平衡),则必须使用集群的地址而不是特定的服务器来创建新的InitialContext。这种新的IC将像我们是外国客户一样提供存根,并遵循与它们相同的负载平衡策略。
不幸的是,这意味着EJB3注入将不起作用。我们将必须自己进行查找。这是纯粹的推测,我们可以从集群IC上获得的那些存根是可序列化的。换句话说,可以绑定它们,然后使用@Resource将它们注入。