websphere 7 и (на основе приложения) open-jpa 2

Я не хочу использовать встроенный jpa-плагин Websphere 7, вместо этого использую приложение WEB-INF / lib / open-jpa 2 и проприетарный поставщик сохраняемости. Я не могу установить пакет функций OSGI и JPA 2 для Websphere.

Изначально я получал ошибку синтаксического анализа sax, просто пытаясь загрузить persistence.xml (версия = "2" не поддерживается). Ошибка была выдана классом в open-jpa 1.2.3. Когда я запускаю websphere / appserver / bin / wsjpaversion.bat, отображается jar-файл open-jpa 1.2.3. По умолчанию он заменяет jar-файл open-jpa 2 в приложении. Я создал общую библиотеку, содержащую jar-файл open-jpa 2, с установленной опцией конфигурации: «Использовать изолированный загрузчик классов для этой общей библиотеки». Я установил загрузчик классов приложения так, чтобы родительский элемент загружался последним, и назначил ему новый ресурс общей библиотеки. Ошибка «версия 2» исчезла, но возникла другая проблема. Когда я пытаюсь инициализировать EntityManager, я получаю сообщение об ошибке:

Caused by: javax.persistence.PersistenceException: Failed to load provider from META-INF/services
    at javax.persistence.spi.PersistenceProviderResolverHolder$DefaultPersistenceProviderResolver.getPersistenceProviders(PersistenceProviderResolverHolder.java:121)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:91)
    at java.lang.J9VMInternals.initializeImpl(Native Method)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
    ... 2 more
Caused by: java.lang.ClassCastException: com.ibm.websphere.persistence.PersistenceProviderImpl incompatible with javax.persistence.spi.PersistenceProvider
    at javax.persistence.spi.PersistenceProviderResolverHolder$DefaultPersistenceProviderResolver.getPersistenceProviders(PersistenceProviderResolverHolder.java:110)
    ... 11 more

Еще одна деталь: внутри persistence.xml элемент поставщика установлен на собственный PersistenceProviderImpl, а не на поставщик постоянства Websphere по умолчанию. Итак, откуда взялась эта веб-сфера по умолчанию и как ее предотвратить? (еще одно важное замечание: когда я полностью удаляю persistence.xml, я получаю ту же ошибку )

Спасибо

5
задан Morgan Dowell 25 August 2011 в 04:30
поделиться