2013-03-08 4 views
1

Я хочу создать пакет службы сохранения OSGI с JPA 2.0. Я использую OpenJpa в качестве поставщика непрерывности.Как создать пакет OSGI JPA

Я попробовал образец пакета OSGI с поддержкой JPA, и я столкнулся с проблемой, когда мой клиент вызвал функцию сохранения. Служба не смогла создать EntityManagerFactory. Всегда он равен нулю.

Я использую Apache Karaf в качестве платформы для установки сервисов.

В настоящее время я создаю пакет OSGI в eclipse и экспортирую его в виде пакета и развертываю его в Karaf. Клиент может вызвать услугу. Но проблема в том, когда я получаю EntityManagerFactory.

Я использую следующий код, чтобы получить EntityManagerFactory.

OpenJPAEntityManagerFactory emf = OpenJPAPersistence.createEntityManagerFactory 
    ("StudentServiceProvider","META-INF/persistence.xml"); 

Просьба предоставить мне ясное представление о том, как создать набор привязок OSGI с OpenJPA.

ответ

5

Если вы используете Karaf, вам лучше использовать функцию Aries jpa для Karaf, которая обеспечивает приятную интеграцию JPA в среде OSGi. Это позволяет избежать многих проблем с загрузкой классов и позволяет вам использовать другие контейнерные службы, такие как управление транзакциями, если они вам нужны. Вы все еще можете использовать OpenJPA в качестве поставщика JPA. См. Например, tutorial on JaxEnter, или these slides which explain why JPA on its own has issues.

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