我有一個運行在JBOSS 4.2.3GA上的EJB2應用程序,並且查找工作正常,使用:java:comp/env/ejb/MyEJB
。Java EJB2 JNDI從Jboss 4遷移到Jboss時查找失敗6
當移動到JBOSS AS 6.1.Final時,它突然打破了異常NameNotFoundException。
JNDI View顯示EJB綁定到正確的樹。在查找之前放置一個斷點,我可以觀察並確認它是綁定的。使用context.list("java:comp/env/ejb")
,我能夠在迭代器中看到MyEJB。使用context.lookup("java:comp/env/ejb")
也可以。但是context.lookup("java:comp/env/ejb/MyEJB")
在監視窗口上顯示NamingException(運行實際代碼時出現NameNotFoundException)。
有什麼改變,我不知道?很難找到關於這個EJB的信息,而且我發現的任何信息都會證明我正在做的是正確的,或者說使用ejb/MyEJB
,這根本不起作用。
在此先感謝。我感謝您的幫助。
ejb-jar.xml中:
<session>
<ejb-name>AdminSessionEJB</ejb-name>
<local-home>com.admin.ejb.business.AdminSessionHome</local-home>
<local>com.admin.ejb.business.AdminSession</local>
<ejb-class>com.admin.ejb.business.AdminSessionEJB</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-local-ref>
<ejb-ref-name>ejb/UserEJB</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<local-home>com.admin.ejb.entity.UserHome</local-home>
<local>com.admin.ejb.entity.User</local>
<ejb-link>UserEJB</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>ejb/UniqueKeyEJB</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<local-home>com.framework.ejb.entity.UniqueKeyHome</local-home>
<local>com.framework.ejb.entity.UniqueKey</local>
<ejb-link>UniqueKeyEJB</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>ejb/UserGroupEJB</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<local-home>com.admin.ejb.entity.UserGroupHome</local-home>
<local>com.admin.ejb.entity.UserGroup</local>
<ejb-link>UserGroupEJB</ejb-link>
</ejb-local-ref>
</session>
的jboss.xml:
<enterprise-beans>
<entity>
<ejb-name>UserEJB</ejb-name>
<local-jndi-name>ejb/UserHome</local-jndi-name>
<read-only>false</read-only>
<configuration-name>UserEJB Container Configuration</configuration-name>
<ejb-local-ref>
<ejb-ref-name>ejb/UserGroupEJB</ejb-ref-name>
<local-jndi-name>ejb/UserGroupHome</local-jndi-name>
</ejb-local-ref>
</entity>
</enterprise-beans>
在Github上找到一個工作示例請出示從您的ejb-jar.xml文件的EJB聲明,並從您的jboss.xml中的文件對應的XML XML聲明。 –
我已經發布了UserEJB的部分,這正是我正在測試的內容。讓我知道你是否需要更多。謝謝。 – user3758745
我認爲你需要從jboss.xml文件中刪除' ejb/UserHome local-jndi-name>',因爲容器應該從' UserEJB ' ejb-jar.xml文件。另外,把' ... ejb-local-ref>'放在jboss.xml文件中是沒有意義的(除非你試圖覆蓋ejb-jar的內容.xml文件)。 –