Создание EntityManagerFactory с GWT, JPA и Tomcat - PullRequest
0 голосов
/ 28 января 2011

Я использую GWT с JPA и Hibernate в контейнере Tomcat Apache. Когда я пытаюсь протестировать соединение дао и базы данных из автономного Java-приложения, оно работает нормально. Однако, когда я использую его в серверной среде, иногда это работает, а иногда нет. Вот сокращенная последовательность logevents:

org.hibernate.type.BasicTypeRegistry - Добавление регистрации типа логическое -> org.hibernate.type.BooleanType@82b436 ИНФОРМАЦИЯ org.hibernate.cfg.Environment - Hibernate 3.6.0.Final 42937 [btpool0-0] INFO org.hibernate.cfg.Environment -hibernate.properties не найден 42940 [btpool0-0] ИНФОРМАЦИЯ org.hibernate.cfg.Environment -Bytecode имя поставщика: javassist [btpool0-0] INFO org.hibernate.cfg.Environment - использование JDK 1.4 java.sql.Timestamp 43038 [btpool0-0] DEBUG org.hibernate.id.factory.DefaultIdentifierGeneratorFactor - Регистрация стратегии IdentifierGenerator [uuid2] -> [класс org.hibernate.id.UUIDGenerator] 43069 [btpool0-0] ИНФОРМАЦИЯ org.hibernate.ejb.Version - Hibernate EntityManager 3.6.0.Final

43090 [btpool0-0] DEBUG org.hibernate.type.BasicTypeRegistry - Добавление регистрационного текста типа -> org.hibernate.type.TextType@1cf00aa43106 [btpool0-0] DEBUG org.hibernate.ejb.Ejb3Configuration - Посмотрите на единицу постоянства: необязательные транзакции 43269 [btpool0-0] DEBUG org.hibernate.ejb.Ejb3Configuration Определить класс: true; обнаружить HBM: правда

43285 [btpool0-0] DEBUG org.hibernate.ejb.packaging.AbstractJarVisitor - Поиск сопоставленных объектов в jar / par: file: // xxxxx 43378

[btpool0-0] DEBUG org.hibernate.ejb.packaging.AbstractJarVisitor - Фильтрация: com.demo.server.hello 43492 [btpool0-0] DEBUG org.hibernate.ejb.packaging.AbstractJarVisitor - Фильтр элемента Java, соответствующий для com.demo.server.hello 43505

[btpool0-0] DEBUG org.hibernate.ejb.Ejb3Configuration - Определить класс: правда; обнаружить HBM: правда

43505 [btpool0-0] DEBUG org.hibernate.ejb.Ejb3Configuration - Создание фабрики: сделки факультативные

После этого я не получаю сообщения журнала, и мой уровень клиента не может общаться со слоем базы данных. Когда мой клиентский уровень может общаться со слоем базы данных, запись, следующая за записью в журнале, выглядит следующим образом:

1063 [main] DEBUG org.hibernate.cfg.Configuration - обработка файлов hbm.xml

Если бы вы могли указать, что может пойти не так, я буду очень признателен. Я не могу понять, была ли это ошибка компиляции затмения, или какая-то проблема в плагине GWT или (скорее всего) моя программная ошибка.

1 Ответ

0 голосов
/ 28 января 2011

Вы уверены, что используете JPA? Я не знаком с GWT, но я предполагаю, что оно развертывает ваше приложение в виде файла WAR. Если это так, проверьте, содержит ли ваш WAR-файл файл META-INF / persistence.xml, и проверьте информацию о подключении оттуда.

1063 [main] DEBUG org.hibernate.cfg.Configuration - обработка файлов hbm.xml

Кажется, что Hibernate создает сеанс каждый раз, когда ваш клиент может общаться с базой данных. Тот факт, что иногда он называется (и работает), указывает на то, что это не проблема с Hibernate. В противном случае вы бы увидели последовательное поведение. Итак, я бы перепроверил, если запросы не сбои, прежде чем достичь Hibernate. Например, я бы попытался добавить некоторые записи журнала отладки до и после вызова Hibernate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...