我是否仍应该在Java EE6 +中为Web应用程序创建EJB JAR?

阿基米德·图拉真

从Java EE6开始,可以将EJB放入WAR文件中。仍然有很好的技术理由将它们分开吗?我正在专门寻找我只能使用EJB JAR来做的事情,而我实际上无法使用WAR中嵌入的EJB来做。

有人可能会说模块化,但是老实说,我发现使用单独的JAR文件进行模块化既浪费时间,又使只能一起使用的东西浪费很多时间和类路径问题(如果以后需要分离,那就只是一个问题了)如果需要,将其重构为单独的JAR)。诸如guava之类的额外依赖项是不同的,因为它们不是EJB。

将所有内容保留在WAR中的另一个好处是,如果您不想这样做,甚至不需要EAR文件(除了以标准方式设置上下文根之外)。WAR文件可以包含所有支持依赖项,例如guava和ilk。

另一个可能是针对不是“ Web应用程序”的应用程序,这是有意义的,但是无论如何,我使用的大多数东西都是Web应用程序,这就是为什么我限定“针对Web应用程序”这个问题的原因。

我没有列出EJB客户端应用程序及其接口。实际上,我将使用Web服务而不是某种特定的语言来处理这种形式的连接。

从理论上讲,我可以在EJB中进行Web服务,但是这不适用于所有容器,尤其是Websphere,这要求您构建一个Web Router项目,该项目基本上是另一个WAR文件。

因此,仍然有充分的技术理由将它们分开吗?

大卫·布莱文斯(David Blevins)

没有技术原因,没有。我们在EJB 3.1的规范级别上做得很好,引入该规范是为了使过渡尽可能平滑。

我们缺少的一个地方是关于ejb-jar.xml文件的主题一个Web应用程序只能有一个WEB-INF/ejb-jar.xml文件。即使在下的jar文件中有ejbs,也是如此WEB-INF/lib/如果这些罐子恰好包含META-INF/ejb-jar.xml文件,则将其忽略。

这是有目的的,因为它ejb-jar.xml包含以某种“全局”方式定义事物的功能,例如默认事务属性,安全约束,默认拦截器。最终决定以某种方式合并所有内容很尴尬。

我个人希望听到的抱怨比我们多-到目前为止,我还没有人提到他们发现整个Web应用程序只允许使用一个ejb-jar.xml作为限制。但是,如果人们突然开始抱怨,我们可以引入ejb-fragement.xml与Servlet相同概念,web-fragment.xml以便将配置与WEB-INF/lib/目录中的jar打包在一起

当然,如果您正在阅读本文,并且有个人偏好,请在下面评论。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Glassfish / Java EE6 / MySQL中的特殊字符问题

来自分类Dev

将 Java EE Web 应用程序导出为 JAR

来自分类Dev

什么时候应该在Java EE应用程序中使用POJO(而不是EJB)?

来自分类Dev

我应该在Netbeans中的哪里放置“ mysql-connector-java-5.1.31-bin.jar”文件?

来自分类Dev

我应该在哪个目录中运行java -jar my-webapp-0.1.0-standalone.jar?

来自分类Dev

为移动应用程序创建自定义API以访问您的Web应用程序(Java EE 6)

来自分类Dev

我是否应该在应用程序的存储库中包含测试框架的源代码?

来自分类Dev

我是否应该在应用程序的存储库中包含测试框架的源代码?

来自分类Dev

我应该开始在MVC 6 + EF7中编写新应用程序,还是应该在MVC 5 + EF6及更高版本中进行编写?

来自分类Dev

我是否应该在PHP中包含HTML

来自分类Dev

如果父pom具有Java EE BOM依赖关系,是否应该在子pom中明确提及所有依赖关系?

来自分类Dev

web.xml 应该在使用 Intellij IDEA IDE 的 Java EE 项目中的什么位置?

来自分类Dev

是否应该在Java中引用Object类?

来自分类Dev

我应该在Java中嵌套这些类吗?

来自分类Dev

我应该在angularjs应用程序中为HTML元素使用Ids吗

来自分类Dev

我应该在angularjs应用程序中为HTML元素使用Ids吗

来自分类Dev

我应该在哪里存储第 3 方 jar(Java 存档)文件?

来自分类Dev

我应该在哪里放置可执行jar?

来自分类Dev

我应该在Web应用程序中的哪里存储静态数据

来自分类Dev

我们是否应该在Java中为Mongodb使用OGM / ORM之类的休眠模式?

来自分类Dev

如何从jar文件为Java数据库应用程序创建exe文件?

来自分类Dev

是否可以将我的Web应用程序打包为JAR并将Web资源放在META-INF / resources下?

来自分类Dev

Java EE Web应用程序中的动态目录

来自分类Dev

Java ee Web应用程序中的Xform与Jsf

来自分类Dev

测试应用程序是否在Java的jar文件中运行

来自分类Dev

创建Java Web应用程序时,将自己的代码放入jar而不是放在classes文件夹中是否有好处?

来自分类Dev

我应该在Java EE中将注入的变量声明为临时变量吗?

来自分类Dev

我是否应该在SQL中针对这种情况使用嵌套选择或创建临时表?

来自分类Dev

Tomcat:Web应用程序Java类文件/ jar位置

Related 相关文章

  1. 1

    Glassfish / Java EE6 / MySQL中的特殊字符问题

  2. 2

    将 Java EE Web 应用程序导出为 JAR

  3. 3

    什么时候应该在Java EE应用程序中使用POJO(而不是EJB)?

  4. 4

    我应该在Netbeans中的哪里放置“ mysql-connector-java-5.1.31-bin.jar”文件?

  5. 5

    我应该在哪个目录中运行java -jar my-webapp-0.1.0-standalone.jar?

  6. 6

    为移动应用程序创建自定义API以访问您的Web应用程序(Java EE 6)

  7. 7

    我是否应该在应用程序的存储库中包含测试框架的源代码?

  8. 8

    我是否应该在应用程序的存储库中包含测试框架的源代码?

  9. 9

    我应该开始在MVC 6 + EF7中编写新应用程序,还是应该在MVC 5 + EF6及更高版本中进行编写?

  10. 10

    我是否应该在PHP中包含HTML

  11. 11

    如果父pom具有Java EE BOM依赖关系,是否应该在子pom中明确提及所有依赖关系?

  12. 12

    web.xml 应该在使用 Intellij IDEA IDE 的 Java EE 项目中的什么位置?

  13. 13

    是否应该在Java中引用Object类?

  14. 14

    我应该在Java中嵌套这些类吗?

  15. 15

    我应该在angularjs应用程序中为HTML元素使用Ids吗

  16. 16

    我应该在angularjs应用程序中为HTML元素使用Ids吗

  17. 17

    我应该在哪里存储第 3 方 jar(Java 存档)文件?

  18. 18

    我应该在哪里放置可执行jar?

  19. 19

    我应该在Web应用程序中的哪里存储静态数据

  20. 20

    我们是否应该在Java中为Mongodb使用OGM / ORM之类的休眠模式?

  21. 21

    如何从jar文件为Java数据库应用程序创建exe文件?

  22. 22

    是否可以将我的Web应用程序打包为JAR并将Web资源放在META-INF / resources下?

  23. 23

    Java EE Web应用程序中的动态目录

  24. 24

    Java ee Web应用程序中的Xform与Jsf

  25. 25

    测试应用程序是否在Java的jar文件中运行

  26. 26

    创建Java Web应用程序时,将自己的代码放入jar而不是放在classes文件夹中是否有好处?

  27. 27

    我应该在Java EE中将注入的变量声明为临时变量吗?

  28. 28

    我是否应该在SQL中针对这种情况使用嵌套选择或创建临时表?

  29. 29

    Tomcat:Web应用程序Java类文件/ jar位置

热门标签

归档