OpenJPA не регистрируется при развертывании на WAS 7 - PullRequest
4 голосов
/ 03 ноября 2010

Я развернул свое приложение на WebSphere Application Server 7, оно использует библиотеку OpenJPA 1.2.2 по умолчанию на сервере приложений, однако я не могу заставить ее регистрироваться, у меня это есть в файле persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
  xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence    http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="SvcsLogic" transaction-type="JTA">
   <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
   <jta-data-source>jdbc/mydatasource</jta-data-source>
   <exclude-unlisted-classes>true</exclude-unlisted-classes>
   <properties>
   <property name="openjpa.log" value="log4j, DefaultLevel=TRACE" />
   <property name="openjpa.Log" value="log4j, DefaultLevel=TRACE" />

   <property name="openjpa.jdbc.SynchronizeMappings"
      value="buildSchema(SchemaAction='add',foreignKeys=true)" />
   </properties>
</persistence-unit>
</persistence>

Тем не менее, он будет игнорировать тот факт, что я хочу, чтобы он регистрировался с использованием log4j, даже если я удалю настройку log4j, он не изменит каналы регистрации в журналах и трассировке WAS.У меня все настроено для записи всего, просто чтобы убедиться, и это не работает.

Документ Инфоцентра WAS по журналированию JPA говорит, однако Избегайте неприятностей: «свойство openjpa.Log »будет игнорироваться, если оно определено в управляемом контейнером модуле постоянства, использующем поставщиков постоянства, предоставляемых сервером приложений.В этом случае вы должны использовать стандартную спецификацию трассировки для сервера приложений.

Означает ли это, что я должен изменить свою реализацию JPA только для того, чтобы регистрация работала?Если это так, то это выглядит довольно небрежно.

1 Ответ

12 голосов
/ 08 апреля 2011

По моему мнению, единственный способ увидеть, что OpenJPA делает за кулисами в WebSphere v7, - включить трассировку в консоли администратора.

Чтобы активировать трассировку OpenJPA в консоли администратора, перейдите к разделу Устранение неполадок- Журналы и трассировка - [ваш сервер] - Диагностическая трассировка.На странице конфигурации нажмите «Изменить уровни детализации журнала» с правой стороны.Разверните дерево компонентов и выберите уровни детализации журнала OpenJPA или , введите

*=info: openjpa.Query=all: openjpa.jdbc_JDBC=all: openjpa.jdbc_SQL=all

в текстовое поле.Нажмите «ОК», а затем «Сохранить».Вы должны перезагрузить сервер.

...