0

私はjavax.naming.NoInitialContextExceptionHibernateのSessionFactory.buildSessionFactory()メソッドから取得しています。これは、コンテナーの外部でテストケースを実行しようとしているためです。
で構成されたローカル データソースを参照するコードが用意されていますapplicationContext.xml。問題は、ローカル データソース コードを実装する場所がわからないことです。SessionFactory クラスはコードの奥深くにあり、アプリケーションの設計に従って、すべての例外をキャッチせずにスロー
するため、内部に配置することはできません。メソッドをヒットする前に存在する かどうかを調べる方法はありますか?catch(NoInitialContextException)
InitialContextbuildSessionFactory

4

1 に答える 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 に答える