Postgresql liefert jetzt einen OSGi-kompatiblen Treiber. Es kann von Maven Central heruntergeladen werden:mvn:org.postgresql/postgresql/9.4-1203-jdbc41In Apache Karaf kann es mit installiert werden
feature:install pax-jdbc-postgresql
Das Bundle bietet eine DataSourceFactory als OSGi. Dies kann verwendet werden, um eine DataSource programmgesteuert zu erstellen.
Verwenden Sie service:list
um die Eigenschaften dieser DataSourceFactory anzuzeigen.
Alternativ können Sie pax-jdbc-config verwenden, um eine Datenquelle aus einer Konfiguration mit pax-jdbc-config
. Verwenden Sie osgi.jdbc.driver.class=org.postgresql.Driver
um den Postgresql-Treiber in der config. Wenn die Konfiguration korrekt verarbeitet werden kann, gibt es einen Dienst vom Typ DataSource, auf den Sie in Ihrem Code verweisen können.
Ich habe ein vollständiges Beispiel mit Derby und Hibernate das sollte recht einfach an postgresql anzupassen sein.