gpt4 book ai didi

java - EJB 依赖于另一个 EJB?

转载 作者:行者123 更新时间:2023-12-01 04:54:04 27 4
gpt4 key购买 nike

我正在使用 Jboss 7,并且有两个单独的部署,它们都包含单例 EJB。

我需要一个 EJB 才能访问另一个 EJB 并能够调用其方法,但是,当应用程序服务器启动并尝试部署它们时,它似乎无法保证哪个 EJB 首先启动(即使您将其中之一设置为另一个的Dependencies:deployment.xxx.jar)。

我似乎无法使用 @DependsOn 注释,因为这命名了一个特定的 EJB,而该 EJB 似乎无法跨单独的部署执行,所以我只能使用 @ EJB(lookup=JNDI_STRING) 作为我唯一的选择。然而,这种注入(inject)似乎并不能保证您所依赖的 EJB 在查找发生时实际上会启动,从而导致 NPE。显然,如果您只是使用 @PostContruct 方法中的 InitialContext 通过 JNDI 查找第二个 EJB,也会发生这种情况。

因此,我基本上需要保证一个部署中的一个 EJB 将在同一应用程序服务器上的另一个部署中的另一个 EJB 之前启动。我认为,如果我从设置为启动时运行的 HttpServlet 延迟初始化依赖的 EJB,这可能会起作用,但这并不理想。

也许我缺少一些明智的方法来做到这一点?我真的不想在 EJB 启动之前轮询它。

最佳答案

可以在jboss-deployment-struct.xml中配置

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="deployment.app1.ear" />
</dependencies>
</deployment>
</jboss-deployment-structure>

来源mastertheboss

关于java - EJB 依赖于另一个 EJB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14463042/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com