2013-04-25 2 views
0

Я работаю над переносом приложения, написанного с использованием EJB3 persistence (JPA 1.0) на сервере SOA-сервера JBoss версии 5.2, так что он использует безопасные запросы типов и запросы критериев от JPA 2.0 (Hibernate Implementation). До сих пор я не мог полностью запустить EAR, потому что он не может найти правильную версию библиотек javax.persistence. Ошибка показывает, что он не может найти класс javax.persistence.criteria.Expression. Из того, что я вижу, загружается классы javax.persistence из библиотеки ejb3-persistence, которая встроена в JBoss. Я пробовал различные методы, которые, как предполагается, заставят JBoss сначала использовать библиотеки приложений, но безрезультатно. Любая помощь будет оценена по достоинству.Как я могу развернуть приложения JPA 2 на JBoss SOA 5.x?

Методы Я попытался:

  1. Добавление "< загрузчик-хранилище >" конфигурации в JBoss-app.xml файл
  2. Добавление JBoss-classloading.xml файл META-INF Ухо в folder
  3. Изменение файла ear-deployer-jboss-beans.xml для использования изолированных классов.

ответ

0

Ответ заключается в том, что файл «jboss-classloading.xml» будет работать для веб-приложения, но нет возможности переопределить загрузку классов для опубликованных EJB. Библиотеки для опубликованных EJB должны быть уникальными на уровне сервера, и поскольку JBoss aleady включает библиотеку, которая обрабатывает пространство имен java.persistence. *, Вы не можете использовать другие версии JPA в EJB.

Смежные вопросы