库中的EJB - 重用EJB

时间:2017-01-05 19:06:09

标签: java java-ee ejb code-reuse

让我们说我想创建一个库,我将在未来的项目中使用它,但我也希望在该库中包含引用其他EJB等的EJB。该库也包含简单的java类。最好的方法是什么?在这种情况下如何定义依赖项?我以为我会用注释定义它们。如果库的用户想要配置其他依赖项,他可以通过在项目的ejb-jar.xml中覆盖它们来实现。过去有没有人做过这样的事情?在Eclipse中开发时,你会怎么做呢?

基本上我的问题是,据我所知,如果我只是创建一个ejb-jar,我将包含在我的所有项目中,ejb容器将实例化我的例如部署时的MDB即使我不需要我的库中包含的所有MDB,但只需要其中的一部分。

是不是将MDB定义为带注释的EJB或者在ejb-jar.xml中但仅限于它们的依赖项的解决方案?

会话bean怎么样?即使我不在项目中使用它们,它们会自动实例化吗?

1 个答案:

答案 0 :(得分:2)

EAR文件。虽然不常见,但您可以将库及其依赖项包含在EAR文件中并进行分发。 我想做的是将库分布在自己的Jar文件中,并附带依赖文档(例如:Maven' POM文件或常春藤的xml文件)。无论哪种方式,您都需要一个依赖管理器。

还有一个选项可以构建一个胖JAR文件,其中所有依赖项都会被爆炸。我不是那么喜欢。如果我必须包含依赖项,我会使用EAR文件。