На моем karaf 4.0.8 я установил функцию pax-jdbc-postgresql
. DataFactory для PostgreSQL установлен:Создание источника данных PosgreSQL через конфигурационный файл pax-jdbc на karaf 4
org.osgi.service.jdbc.DataSourceFactory]
osgi.jdbc.driver.class org.postgresql.Driver
osgi.jdbc.driver.name PostgreSQL JDBC Driver
osgi.jdbc.driver.version PostgreSQL 9.4 JDBC4.1 (build 1203)
service.bundleid 204
service.scope singleton
Using Bundles com.eclipsesource.jaxrs.publisher (184)
Я создать файл etc/org.ops4j.datasource-psql-sandbox.cfg
:
osgi.jdbc.driver.class=org.postgresql.Driver
osgi.jdbc.driver.name=PostgreSQL
url=jdbc:postgresql://localhost:5432/sandbox
dataSourceName=psql-sandbox
user=sandbox
password=sandbox
После этого, я вижу подтверждение в karaf.log
, что файл был обработан:
2017-02-10 14: 54: 17,468 | ИНФО | 41-88b277ae0921) | DataSourceRegistration | 154 - org.ops4j.pax.jdbc.config - 0.9.0 | Обнаружен конфиг для файла psql-песочницы DataSource. Отслеживание DSF с фильтром (& (объектный = org.osgi.service.jdbc.DataSourceFactory) (osgi.jdbc.driver.class = org.postgresql.Driver) (osgi.jdbc.driver.name = PostgreSQL))
Однако я не вижу новых DataSource
в списке услуг в консоли. Что пошло не так? Я не вижу исключений в журнале ....
Т.вод. Название драйвера для подробного "PostgreSQL JDBC Driver"? Для feture «sqlite» это «sqlite», для «mysql» это «mysl», поэтому для «postgresql» я ожидал «postgresql» или, по крайней мере, что-то, что легко узнать ... –
Название может быть свободно выбранный тем, кто экспортирует DataSourceFactory. Таким образом, безопасный способ - просто перечислить службы DataSourceDactory и проверить, что они на самом деле используют. –
Невозможно заставить экспортеров DataSourceFactory сохранить предсказуемое соглашение? –