разница междуа такжев Jboss.xml? - PullRequest
1 голос
/ 21 августа 2011

Я новичок в EJB и пытаюсь запустить несколько примеров EJB (2.0) в Jboss 5. Выполнение в порядке, но я нашел в jboss.xml следующие строки:

<jboss>
    <enterprise-beans>
        <session>
            <ejb-name>MyStatelessBean</ejb-name>
            <jndi-name>JNDIName</jndi-name>
            <local-jndi-name>LocalJNDIName</local-jndi-name>
        </session>
    </enterprise-beans>
</jboss>

Я пыталсяв Google, но не может найти объяснение различия между <jndi-name> и <local-jndi-name>, в то время как в коде автор использовал только имя, определенное в <jndi-name>?

Ответы [ 2 ]

1 голос
/ 21 августа 2011

EJB 2.x бины имеют как удаленный, так и локальный интерфейсы. Элемент <jndi-name> предназначен для привязки удаленного интерфейса, а элемент <local-jndi-name> - для привязки локального интерфейса.

Причина, по которой наименования противоречивы, заключается в том, что EJB 1.x имел только удаленные интерфейсы, поэтому был необходим только <jndi-name>.

1 голос
/ 21 августа 2011

Документацию можно найти в каталоге docs дистрибутива JBoss docs/schema/jboss_5_0.xsd.

Этим элементом является тип local-jndi-nameType, и вот описание для него:

Имя JNDI с локальным интерфейсом должно быть связано. Если это не так при условии, что jboss примет "jndi-name" = "beanClass / local"

...