JBoss没有为EJB 2.0项目创建JNDI

时间:2016-01-12 11:34:57

标签: jboss7.x ejb-2.x

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。

1 个答案:

答案 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。