2012-04-14 3 views

ответ

3

Большинство отличий исходит от того, насколько OSGi-осведомлен провайдер. Например, вам может понадобиться обернуть баннеры Hibernate как пакеты OSGi самостоятельно (или использовать набор, который еще кто-то уже завернул - в Интернете есть несколько плавающих).

Иногда поставщики услуг выполняют загрузку классов таким образом, что они не будут работать в среде OSGi, так что это то, на что нужно обратить внимание, если вы оберните свои собственные или используете функции «вне трассы» основного поддерживаемого провайдеры.

Вам также необходимо убедиться, что поставщик зарегистрировался как служба OSGi. Это просто работает с OpenJPA, и есть адаптер EclipseLink в кодовой базе Овна. Я предполагаю, что совместное использование Hibernate, которые люди поделили, также делает это. Есть инструкции о том, как это сделать для других провайдеров (DataNucleus в частности) в этой теме:

http://www.mail-archive.com/[email protected]/msg00251.html

+0

Ссылка не идет ни о чем, но в полный архив. Должно ли быть http://www.mail-archive.com/[email protected]/msg00251.html? –

+0

Упс! Да, должно. Я исправила это сейчас. Благодарю. –

1

Я на самом деле испытанные провайдеров, так что я не даю вам теоретический ответ.

Для Овна JPA версии 1.0.0

  • OpenJPA работает
  • Hibernate не работает
  • EclipseLink не пробовал

Hibernate не работает из-за проблем вошли здесь: https://issues.apache.org/jira/browse/ARIES-978

В основном deplo из-за недостающего контекста пакета. Я думаю, было бы безопасно предположить, что Овен поддерживает OpenJPA, пока они не включат Hibernate и EclipseLink в свои регрессионные тесты/образцы. Я буду смотреть, когда/если это произойдет.