Hi Jochen,

I think you are correct. dependency=true is incorrect for postgresql.

I updated to a new postgres version at some point that contained the DataSourceFactory. Before we had a postgres adapter that refered to a postgres package.
So when it was still present this worked. Now quite possibly it does not.

I created the issue below and will commit a fix.
https://ops4j1.jira.com/browse/PAXJDBC-82

Btw. Ops4j is open for anyone willing to help. They do not have a voting for committers. So if you are interested to help out I can explain you how to get started.

Christian

Am 19.09.2015 um 14:59 schrieb jochenw:
Hi,

I just experienced the same behavior with Karaf 4.0.1 / pax-jdbc 0.7.0: the
PostgreSQL driver bundle is not installed, although there is no other DB
driver available. After manual installation, it works.

Would be nice if the pax-jdbc-postgresql feature would just work
"out-of-the-box". Is there already a Jira for this?

Is the dependendy=true correct at this place at all? What if I want to
connect to two different Databases from the same Karaf instance? If DB
driver 1 fulfills the depencencies needed by other bundles already, the
Postgres driver would never be installed. Or haven't I understood the
dependency mechanism correctly?

Best Regards,

Jochen


cschneider wrote
The adapter bundle is not necessary anymore for the newest postgresql
version as it already provides a DataSourceFactory.

I just tried to install pax-jdbc-postgresql 0.5.0 in karaf 4. The
problem seems to be that the postgres bundle is not being installed.
I only see the org.osgi.service.jdbc spec bundle.

The strange thing is that when I install the postgresql bundle by hand
it works fine.

install -s mvn:org.postgresql/postgresql/9.4-1200-jdbc41

When both are installed I see the DataSourceFactory.

service:list DataSourceFactory
[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 1200)
   service.bundleid = 54
   service.id = 126
   service.scope = singleton
Provided by :
   PostgreSQL JDBC Driver JDBC41 (54)

No idea why it does not work with the feature. You can work around the
problem by defining a feature for your own application that load the
bundles using the mvn urls from the pax-jdbc feature file.

Christian

On 08.05.2015 16:29, ellirael wrote:
Is there something wrong with pax-jdbc-postresql?

Compairing 4.0 and 5.0 feature files I found out that one bundle is
missed.


<feature name="pax-jdbc-postgresql" description="Provides JDBC PostgreSQL
  DataSourceFactory" version="0.5.0"
resolver="(obr)">
<feature>
transaction
</feature>
<feature>
pax-jdbc-spec
</feature>
<bundle
  dependency="true">mvn:org.postgresql/postgresql/9.4-1200-jdbc41
</bundle>
</feature>

<feature name="pax-jdbc-postgresql" description="Provides JDBC PostgreSQL
  DataSourceFactory" version="0.4.0"
resolver="(obr)">
<feature>
pax-jdbc
</feature>
<bundle
dependency="true">mvn:org.ancoron.postgresql/org.postgresql/9.1.901.jdbc4.1-rc9
</bundle>
<bundle>
mvn:org.ops4j.pax.jdbc/pax-jdbc-postgresql/0.4.0
</bundle>
</feature>
There is no more adapter bundle in 5.0 for postgress. And karaf doesn't
create DataSource without an adapter.

Then I checked git repo: https://github.com/ops4j/org.ops4j.pax.jdbc.
There is no mention about postgress.



--
View this message in context:
http://karaf.922171.n3.nabble.com/Karaf-JTA-and-JDBC-DataSource-tp4039081p4040239.html
Sent from the Karaf - User mailing list archive at Nabble.com.

--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com




--
View this message in context: 
http://karaf.922171.n3.nabble.com/Karaf-JTA-and-JDBC-DataSource-tp4039081p4042684.html
Sent from the Karaf - User mailing list archive at Nabble.com.

Reply via email to