2013-10-16 72 views
1

我收到一條錯誤NamingContext.lookup試圖找到ejb/ebj001ini我解決不了。的配置如下:命名上下文和EJB-JAR在TomEE

豆:iportal.Sp001iniB.java

EJB-jar.xml中:(試圖將其放置在META-INF和WEB-INF,得到同樣的錯誤)

<enterprise-beans> 
    <session> 
     <display-name>ejb000ini</display-name> 
     <ejb-name>ejb000ini</ejb-name> 
     <home>iportal.Sp000iniH</home> 
     <remote>iportal.Sp000iniS</remote> 
     <ejb-class>iportal.Sp000iniB</ejb-class> 
     <session-type>Stateless</session-type> 
     <transaction-type>Bean</transaction-type> 
    </session> 
    </enterprise-beans> 

    <assembly-descriptor> 
    <container-transaction> 
     <method> 
     <ejb-name>ejb000ini</ejb-name> 
     <method-name>*</method-name> 
     </method> 
     <trans-attribute>Supports</trans-attribute> 
    </container-transaction> 
    </assembly-descriptor> 

的Servlet調用初始化EJB:

InitialContext ctx = new InitialContext(); 
Sp000iniH ih = (Sp000iniH)ctx.lookup("java:comp/env/ejb/ejb000ini"); 
Sp000ini myEjb = ih.create(); 

謝謝!

+0

你試過聲明豆名爲「EJB/ejb000ini」?或者查找:c.lookup(「java:comp/env/ejb000ini」)。 – Sergio

+0

從來就試用過,但沒有工作..也正在改變所有的名字SpXXXini .. I'm丟失,如果你提供像一些代碼 – darioaxel

+0

會更容易:接口和EJB聲明 – Sergio

回答

0

我有點困惑與部署遞減,如果您使用TOMEE您使用EJB 3.X是不是?在這種情況下嘗試使用描述符的EJB 3.x版,在這裏你能找到一個例子>http://tomee.apache.org/examples-trunk/simple-stateless-with-descriptor/README.html

+0

沒有,我沒有使用ejb3.x.那就是問題所在。我想部署一個在tomee中使用ejb 2.0描述符的舊應用程序。由於我無法工作,我現在試圖將舊的ejb改寫成Ejb3.0。我做了一些測試,他們似乎工作,希望整個應用程序的作品也只是需要我幾天。 – darioaxel

+0

如果已解決,請不要忘記關閉該問題 – Sergio