Java EE 6的一个最大特性是能够在WAR中打包EJB。到目前为止,我已经为一些项目做了这件事。我正在使用Java EE 6,Glassfish 3.1并将我的应用程序部署为WAR。我希望能够控制应用服务器创建的bean数量。以前我会通过在我的EAR中的EJB jar中的sun-ejb-jar.xml文件中指定正确的值来实现。
当我在我的WAR中将/ sun-ejb-jar.xml文件放在/ WEB-INF / classes /时,它似乎没有得到Glassfish的尊重。
想法?
谢谢, -Jay
答案 0 :(得分:0)
我在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 / lib目录下。企业bean可以 也可以通过 WEB-INF / ejb-jar.xml中。
这个非常复杂的句子的第一部分是讨论类文件;不是部署描述符。
由于ejb-jar.xml和sun-ejb-jar.xml文件经常被视为“在一起”,因此您可能希望将文件WEB-INF放在ejb-jar.xml和web.xml旁边。
答案 1 :(得分:0)
我定义的bean是MDB,我忘了包含这些信息。一旦我这样做,该文件似乎被Glassfish接收。