Ошибка инициализации HibernateUtil на веб-сервере - PullRequest
0 голосов
/ 01 декабря 2011

У меня есть веб-сервер, и когда я пытаюсь использовать утилиту hibernate, я получаю исключение (возвращается клиенту):

SoapFault - faultcode: 'soapenv:Server' faultstring: 'Could not initialize class com.test.data.HibernateUtil' faultactor: 'null' detail: org.kxml2.kdom.Node@4054db90

На моем локальном компьютере все работало нормально. Как я могу узнать причину этого?

I have the following code:
public class HibernateUtil {
    private static final SessionFactory sessionFactory;

    static {
        try {
            // Create the SessionFactory from hibernate.cfg.xml
            sessionFactory = new Configuration().configure().buildSessionFactory();
        } catch (Throwable ex) {
            // Make sure you log the exception, as it might be swallowed
//            System.err.println("Initial SessionFactory creation failed." + ex);
            throw new ExceptionInInitializerError(ex);
        }
    }

    public static SessionFactory getSessionFactory() {
        return sessionFactory;
    }
}

Действительно очень нужна помощь с этим ... может предоставить любой необходимый код.

Я обновил HibernateUtil без try / catch, теперь я получаю точное исключение:

SoapFault - faultcode: 'soapenv:Server' faultstring: 'org.slf4j.impl.StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;' faultactor: 'null' detail: org.kxml2.kdom.Node@4054b2c0

Но банка развернута ...

1 Ответ

1 голос
/ 01 декабря 2011

Из моего опыта использования статического блока для инициализации sessionFactory ваша проблема заключается в следующей строке кода:

sessionFactory = new Configuration().configure().buildSessionFactory();

Похоже, что он не может получить источник данных при сборке sessionFactory.

Можете ли вы зарегистрировать исключение, раскомментируйте эту строку и посмотрите, что печатается:

 System.err.println("Initial SessionFactory creation failed." + ex);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...