【问题标题】:sun-ejb-jar.xml inside a Java EE 6 WARJava EE 6 WAR 中的 sun-ejb-jar.xml
【发布时间】:2010-12-17 19:24:08
【问题描述】:

Java EE 6 的最大特点之一是能够将 EJB 打包到 WAR 中。直到现在,我已经为几个项目顺利完成了这项工作。我正在使用 Java EE 6、Glassfish 3.1 并将我的应用程序部署为 WAR。我希望能够控制应用服务器正在创建的 bean 的数量。以前我会通过在我的 EJB jar 中的 sun-ejb-jar.xml 文件中指定正确的值来做到这一点,该 jar 位于我的 EAR 中。

当我将 sun-ejb-jar.xml 文件放入我的 WAR 中的 /WEB-INF/classes/ 时,Glassfish 似乎不尊重它。

想法?

谢谢, -杰

【问题讨论】:

    标签: java-ee-6 glassfish-3 war ejb-3.1


    【解决方案1】:

    我在 EJB 3.1 规范中看到了这一点。第20章“包装”;第 4 部分(您可以从 JCP 网站下载的规范 pdf 第 589 页:http://jcp.org/aboutJava/communityprocess/final/jsr318/index.html)

    企业 bean 类具有 组件定义注释定义 一个企业 bean 组件,当 打包在 WEB-INF/classes 中 目录或 .jar 文件中 WEB-INF/库。企业 bean 可以 也可以通过定义 WEB-INF/ejb-jar.xml。

    这个极其复杂的句子的第一部分是在谈论类文件;不是部署描述符。

    由于 ejb-jar.xml 和 sun-ejb-jar.xml 文件经常被“放在一起”,您可能希望将文件 WEB-INF 放在 ejb-jar.xml 和 web.xml 旁边。

    【讨论】:

    • 感谢 vkraemer,是的,我同意,规范定义有点复杂。我相信我已经弄清楚了这个问题。我试图控制的 bean 是一个 MDB,我没有在部署描述符中指定它。这样做似乎有效。我没有我预期的确切行为,但该文件现在似乎已被识别。
    【解决方案2】:

    我定义的 bean 是一个 MDB,我忘记包含信息了。一旦我这样做了,文件似乎就被 Glassfish 拾取了。

    【讨论】:

      猜你喜欢
      • 2015-10-12
      • 2014-01-28
      • 2011-04-25
      • 2012-06-04
      • 1970-01-01
      • 2019-07-08
      • 2013-11-02
      • 2013-04-10
      • 2011-01-02
      相关资源
      最近更新 更多