【发布时间】:2017-05-20 10:52:25
【问题描述】:
假设我想创建一个库,我将在未来的项目中使用它,但我还想在该库中包含引用其他 EJB 等的 EJB。该库还将包含简单的 java 类。最好的方法是什么?在这种情况下如何定义依赖关系?我想我会用注释来定义它们。如果库的用户想要配置其他依赖项,他可以通过在项目的 ejb-jar.xml 中覆盖它们来实现。过去有没有人做过这样的事情?在 Eclipse 中开发时,您会怎么做?
基本上我的问题是,据我所知,如果我只是创建一个 ejb-jar,我将把它包含在我的所有项目中,ejb 容器将实例化我的 e.g.部署时的 MDB,即使我不需要库中包含的所有 MDB,而只需要其中的一些。
不将 MDB 定义为带有注释的 EJB 或在 ejb-jar.xml 中但仅定义它们的依赖项的解决方案是什么?
会话 bean 呢?即使我不在项目中使用它们也会自动实例化吗?
【问题讨论】:
-
我不知道这是否是最好的方法,但我曾与一家公司合作,之前我们将所有内容打包为
.jar,然后将其作为 maven 依赖项包含在内。然后我们可以根据需要访问.jar中的EJB。同样,不确定这是否是最好的方法,但如果您想尝试,这是一个选择。 -
即使您不使用无状态 bean,也可以实例化它们,是的。 SLSB 必须是池化的,因此可以提前创建一些实例,而无需任何请求。
-
据我记得,对于市场上的大多数应用程序服务器,您可以将池配置为初始大小为零。这能解决你的问题吗?
-
@Leonardo 实际上我正在寻找一种以最佳方式组织 ejb 代码的方法。主要是创建一个 ejb 库,其依赖项在库中以某种方式定义,但也可以在其外部进行配置。我在想也许这是不可能的,但我对 ejbs 没有深入的了解。
标签: java jakarta-ee ejb code-reuse