2012-04-14 9 views

Antwort

3

Die meisten Unterschiede kommen davon, wie OSGi-aware der Anbieter ist. Beispielsweise müssen Sie möglicherweise die Hibernate-Jars als OSGi-Bundles verpacken (oder einen Satz verwenden, den ein anderer bereits eingepackt hat - es gibt einige, die im Web herumschweben).

Gelegentlich versuchen und führen die Anbieter das Classloading so durch, dass es in einer OSGi-Umgebung nicht funktioniert. Dies ist etwas, worauf Sie achten sollten, wenn Sie Ihre eigenen oder Off-Piste-Funktionen des Hauptprogramms verwenden Anbieter.

Sie müssen auch sicherstellen, dass der Anbieter sich selbst als OSGi-Dienst registriert. Dies funktioniert nur mit OpenJPA, und in der Aries-Codebase gibt es einen EclipseLink-Adapter. Ich nehme an, dass die Hibernate-Bundles, die Leute geteilt haben, dies auch tun. Es gibt Anweisungen, wie dies bei anderen Anbietern (Datanucleus insbesondere) zu tun in diesem Thread:

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

+0

Der Link verweist nicht auf einen Thread, sondern auf das vollständige Archiv. Sollte es http://www.mail-archive.com/[email protected]/msg00251.html sein? –

+0

Whoops! Ja, sollte es. Das habe ich jetzt korrigiert. Vielen Dank. –

1

Ich habe tatsächlich getestet Anbieter so dass ich Ihnen nicht eine theoretische Antwort zu geben.

Für Widder JPA Version 1.0.0

  • OpenJPA arbeitet
  • Hibernate nicht
  • Eclipse haben

Hibernate funktioniert nicht, weil ein Problem protokolliert hier nicht versucht funktioniert: https://issues.apache.org/jira/browse/ARIES-978

Grundsätzlich deplo Aufgrund eines fehlenden Bündelkontextes schlägt das Paket fehl. Ich denke, es wäre sicher anzunehmen, dass Aries nur OpenJPA unterstützt, bis sie Hibernate und EclipseLink in ihren Regressionstests/Samples enthalten. Ich werde aufpassen, wenn/wenn das passiert.

Verwandte Themen