1

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

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

想法?

谢谢,-杰

4

2 回答 2

1

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

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

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

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

于 2010-12-18T00:57:34.223 回答
0

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

于 2010-12-19T18:06:54.697 回答