私はjavax.naming.NoInitialContextExceptionHibernateのSessionFactory.buildSessionFactory()メソッドから取得しています。これは、コンテナーの外部でテストケースを実行しようとしているためです。
 
で構成されたローカル データソースを参照するコードが用意されていますapplicationContext.xml。問題は、ローカル データソース コードを実装する場所がわからないことです。SessionFactory クラスはコードの奥深くにあり、アプリケーションの設計に従って、すべての例外をキャッチせずにスロー
するため、内部に配置することはできません。メソッドをヒットする前に存在する
かどうかを調べる方法はありますか?catch(NoInitialContextException)InitialContextbuildSessionFactory
1 に答える
            0        
        
		
ここで説明されているように、InitialContextがあるかどうかを確認するためにルックアップを実行できますか: http://docs.jboss.org/jbossas/getting_started/v4/html/hibernate.htmlSessionFactory
try {
    InitialContext ctx = new InitialContext();
    ctx.lookup("java:/hibernate/SessionFactory");
catch (NamingException e) {
    //here you can assume that buildSessionFactory won't work
    ...
}
于 2013-04-01T16:03:51.380   に答える