EJB-jar.xml中
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.1"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
<display-name>EjbEntity</display-name>
<enterprise-beans>
<entity>
<ejb-name>Demo</ejb-name>
<home>com.trantor.iface.EmployeeHome</home>
<remote>com.trantor.iface.EmployeeRemote</remote>
<ejb-class>com.trantor.EmployeeBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>com.trantor.EmployeePK</prim-key-class>
<reentrant>false</reentrant>
<cmp-field>
<field-name>empNo</field-name>
</cmp-field>
<cmp-field>
<field-name>empName</field-name>
</cmp-field>
<cmp-field>
<field-name>salary</field-name>
</cmp-field>
<primkey-field>empNo</primkey-field>
</entity>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>Demo</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
当我在JBoss上部署它时,JBoss没有为此创建JNDI名称。我努力但未能解决此问题..
当我部署它时。它正在部署,但JBoss正在将其部署为一个简单的应用程序。没有为应用程序创建jndi。
答案 0 :(得分:1)
JBoss处理EJB 2.x与处理EJB 3.x的方式截然不同。处理会话与实体bean的方式也存在差异
您可能需要创建一个jboss-ejb3.xml文件并将res-ref-names映射到jndi-name。
更多细节可以在这里找到 - https://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/4/html/The_CMP_Engine-Entity_Beans.html
您还需要使用standalone-full.xml而不是standalone.xml来实现实体bean。