2009-07-17 12 views
0

私はGlassfishにデプロイされた簡単なWebアプリケーションをEARとしてパッケージ化しています。 EARには、WebモジュールとEJBモジュールがあります。 Webモジュールには、フェイスページとManagedBeanがあります。 顔面ページにはボタンだけがあり、ボタンはManagedBeanのメソッドに関連付けられており、ボタンをクリックすると実際にメソッドが起動します。Faces BackingBeanからEJB3を呼び出す

管理Bean:

public class Bar { 

    public Bar() { 
    } 

    @EJB StudentProfileFacade f; 

    public void hello(ActionEvent evt) { 
     System.out.println("*** f: " + f); 
    } 
} 

EJBを注入取得されていない、私が手にエラーがある:

私は、WebモジュールがEJBを見つけるように、何をする必要がありますどのような
Exception attempting to inject Unresolved Ejb-Ref com.web.Bar/[email protected]: [email protected]@[email protected]@null into class com.web.Bar 

モジュール、およびその中のEJB

+0

EJBには、グローバルなJNDI名が割り当てられていますか? –

答えて

0

diの代わりにjndi lookupを実行してください。

StudentProfileFacadeIntStudentProfileFacadeのローカルinterfejsある
private StudentProfileFacadeInt getStudentProfileFacade() { 
try { 
    InitialContext ctx = new InitialContext(); 
    return (StudentProfileFacadeInt) ctx.lookup("<application_name>/StudentProfileFacade/local"); 
} catch (Exception e) { 
    e.printStackTrace(); 
    throw new RuntimeException("couldn't lookup StudentProfileFacade", e); 
} 
} 

:それは次のようになります。

関連する問題