Я развернул свое приложение на 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 только для того, чтобы регистрация работала?Если это так, то это выглядит довольно небрежно.