私はEJB3のGlassFish - JNDIルックアップがSerialContextに失敗しました - NameNotFoundExceptionが
@Stateless (mappedName="TestBean")
public class TestBean implements TestBeanRemote {
public int add(int a, int b){
return a+b;
}
}
とリモート・インタフェース
@Remote
public interface TestBeanRemote {
public int add(int a, int b);
}
リモートEJBを持ってEJB3、GlassFishの3.0.1を使用し、HELIOS
日食よ
application.xmlの
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" id="Application_ID" version="6">
<application-name>ear.proj</application-name>
<display-name>ear.proj</display-name>
<module>
<web>
<web-uri>war.proj</web-uri>
<context-root>/war</context-root>
</web>
</module>
<module>
<ejb>ejb.proj.jar</ejb>
</module>
</application>
は私が空の太陽のejb-jar.xmlのを持っていると私はそれが私がWEB
私と一緒にEARに私のEJBを入れているEJB3 ので、オプションだということを読んで私は、ejb-jar.xmlのを定義していませんでしたSerialContextに[ '::検索は、javaのために失敗したグローバル/ ear.proj/ejb.proj/TestBean私は次の例外に javax.naming.NamingExceptionのを取得するPOJOクラスに
InitialContext ic = new InitialContext();
ic.lookup("java:global/ear.proj/ejb.proj/TestBean");
をこのEJBを呼び出すしようとしていますルート例外はjavax.naming.NameNotFoundExceptionです:ear.proj]
私は問題がEJBの設定にあると思います私のEARは、GlassFish EJBのFAQにあるように、ポータブルキーワードが見つからないうちにポータブルグローバルJNDI名がserver.logに出力されます。
代わりに、私は以下を見ることができます INFO:アプリケーションバンドルでモジュールejb.proj.ejb.jarを見つけることができません
何かがありますか?
あなたのPojoクラスについて詳しく説明できますか?上のコードではEJB3を使用しているので、EJB3インジェクションを使用しない特別な理由はありますか? @EJB TestBeanRemote TestBeanRemote; –