我有一个当前由EJB 2.1会话Bean组成的应用程序。我希望尽可能将它们传输到EJB 3.1注释。
不幸的是,这对所有人来说都是不可能的,所以我需要为不能使用注释的文件维护ejb-jar.xml
文件。
我添加了beans.xml
文件,但只要我有ejb-jar.xml
文件,注释就会被忽略。一旦我将其删除,注释就会起作用。
如何配置我的应用程序以使用存在的注释,并仅将ejb-jar.xml
文件用于其中配置的内容。据我了解文档,无论如何这应该是正常的情况。
答案 0 :(得分:2)
当您将应用程序从EJB-2.1转移到EJB-3.1时,您必须检查是否也将ejb-jar.xml
的版本设置为3.1。
使用the xsd中的此标头:
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
version="3.1">
然后也会考虑您的注释。
根本不需要beans.xml
。它是启用CDI所必需的(如果您只引用其他bean中的bean,则不需要它),请查看this post它是什么以及何时需要它。
您可能还需要对ejb-jar.xml
进行其他设置,但这是另一个问题的主题。