Yeah, it works - thanks! I misunderstood that I cannot pass the original
pooling parameters for the basic datasource (postgres). And the pool prefix
of course also doesn't work with the postgres settings.

Now I'm facing the next problem: when using pax-jdbc to create the
datasource (IMHO a very elegant way), my persistence bundle cannot find the
datasource on startup (it is in one of my boot features) and throws an
exception. It is shown as active, but another bundle using the persistence
api goes immediately in "Failure". When I restart this bundle, the
persistence bundle finds the datasource and all works well. Same thing when
I remove these bundles from the boot features and install + start them after
Karaf has come up. When I do it the "classic" way, defining the datasource
in a blueprint.xml, the startup works correctly.

Any idea what's going wrong there?

By the way: with Karaf 4.0.1, data sources defined via blueprint.xml are no
longer shown with jdbc:ds-list. In Karaf 3.0.3, the data sources were listed
with jdbc:datasources.

Best Regards,
Jochen


cschneider wrote
> The pooling configs must be prefixed with "pool." like described here.
> https://ops4j1.jira.com/wiki/display/PAXJDBC/Pooling+and+XA+support+for+DataSourceFactory
> Unfortunately I think this can be easily missed when reading the docs. 
> Maybe I need to emphasize this better.
> 
> Christian
> 
> 
> Am 19.09.2015 um 16:44 schrieb jochenw:
>> Hello,
>>
>> another thing related to this thread: when trying to create a pooled data
>> source for PostgreSQL with the driver name PostgreSQL JDBC Driver-pool,
>> the
>> parameters related to the pooling don't work. It looks like the
>> PostgreSQL
>> JDBC Driver-pool tries to create a PGSimpleDataSource instead of a
>> PGPoolingDataSource. Am I doing something wrong in the configuration?
>>
>> The config:
>>
>> dataSourceName = myDataSource
>> osgi.jdbc.driver.name = PostgreSQL JDBC Driver-pool
>> serverName = localhost
>> portNumber = 5432
>> databaseName = test
>> user = testuser
>> password = ***
>> initialConnections = 2
>> maxConnections = 10
>>
>> And from the Karaf log:
>>
>> 2015-09-19 15:47:11,538 | ERROR | s4j.datasource]) |
>> DbcpPooledDataSourceFactory      | 287 - org.ops4j.pax.jdbc.pool.dbcp2 -
>> 0.7.0 | Error creating pooled datasourceUnsupported property name:
>> maxConnections
>> org.postgresql.util.PSQLException: Unsupported property name:
>> maxConnections
>>      at
>> org.postgresql.ds.common.BaseDataSource.setProperty(BaseDataSource.java:993)[299:org.postgresql.jdbc41:9.4.0.build-1200]
>>      at
>> org.postgresql.osgi.PGDataSourceFactory.configureBaseDataSource(PGDataSourceFactory.java:90)[299:org.postgresql.jdbc41:9.4.0.build-1200]
>>      at
>> org.postgresql.osgi.PGDataSourceFactory.createSimpleDataSource(PGDataSourceFactory.java:127)[299:org.postgresql.jdbc41:9.4.0.build-1200]
>>      at
>> org.postgresql.osgi.PGDataSourceFactory.createDataSource(PGDataSourceFactory.java:149)[299:org.postgresql.jdbc41:9.4.0.build-1200]
>>      at
>> org.ops4j.pax.jdbc.pool.dbcp2.impl.ds.DbcpPooledDataSourceFactory.createDataSource(DbcpPooledDataSourceFactory.java:117)[287:org.ops4j.pax.jdbc.pool.dbcp2:0.7.0]
>>      at
>> org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.createDs(DataSourceRegistration.java:111)[285:org.ops4j.pax.jdbc.config:0.7.0]
>>      at
>> org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.
> <init>
> (DataSourceRegistration.java:72)[285:org.ops4j.pax.jdbc.config:0.7.0]
>>      at
>> org.ops4j.pax.jdbc.config.impl.DataSourceFactoryTracker.addingService(DataSourceFactoryTracker.java:40)[285:org.ops4j.pax.jdbc.config:0.7.0]
>>      at
>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)[org.osgi.core-6.0.0.jar:]
>>      at
>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870)[org.osgi.core-6.0.0.jar:]
>>      at
>> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[org.osgi.core-6.0.0.jar:]
>>      at
>> org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)[org.osgi.core-6.0.0.jar:]
>>      at
>> org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:318)[org.osgi.core-6.0.0.jar:]
>>      at
>> org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)[org.osgi.core-6.0.0.jar:]
>>      at
>> org.ops4j.pax.jdbc.config.impl.DataSourceConfigManager.updated(DataSourceConfigManager.java:74)[285:org.ops4j.pax.jdbc.config:0.7.0]
>>      at
>> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159)[3:org.apache.felix.configadmin:1.8.4]
>>      at
>> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93)[3:org.apache.felix.configadmin:1.8.4]
>>      at
>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.provide(ConfigurationManager.java:1597)[3:org.apache.felix.configadmin:1.8.4]
>>      at
>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run(ConfigurationManager.java:1540)[3:org.apache.felix.configadmin:1.8.4]
>>      at
>> org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)[3:org.apache.felix.configadmin:1.8.4]
>>      at java.lang.Thread.run(Thread.java:745)[:1.8.0_40]
>> 2015-09-19 15:47:11,538 | WARN  | s4j.datasource]) |
>> DataSourceRegistration
>> | 285 - org.ops4j.pax.jdbc.config - 0.7.0 | Unsupported property name:
>> maxConnections
>> org.postgresql.util.PSQLException: Unsupported property name:
>> maxConnections
>>      at
>> org.postgresql.ds.common.BaseDataSource.setProperty(BaseDataSource.java:993)[299:org.postgresql.jdbc41:9.4.0.build-1200]
>>      at
>> org.postgresql.osgi.PGDataSourceFactory.configureBaseDataSource(PGDataSourceFactory.java:90)[299:org.postgresql.jdbc41:9.4.0.build-1200]
>>      at
>> org.postgresql.osgi.PGDataSourceFactory.createSimpleDataSource(PGDataSourceFactory.java:127)[299:org.postgresql.jdbc41:9.4.0.build-1200]
>>      at
>> org.postgresql.osgi.PGDataSourceFactory.createDataSource(PGDataSourceFactory.java:149)[299:org.postgresql.jdbc41:9.4.0.build-1200]
>>      at
>> org.ops4j.pax.jdbc.pool.dbcp2.impl.ds.DbcpPooledDataSourceFactory.createDataSource(DbcpPooledDataSourceFactory.java:117)[287:org.ops4j.pax.jdbc.pool.dbcp2:0.7.0]
>>      at
>> org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.createDs(DataSourceRegistration.java:111)[285:org.ops4j.pax.jdbc.config:0.7.0]
>>      at
>> org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.
> <init>
> (DataSourceRegistration.java:72)[285:org.ops4j.pax.jdbc.config:0.7.0]
>>      at
>> org.ops4j.pax.jdbc.config.impl.DataSourceFactoryTracker.addingService(DataSourceFactoryTracker.java:40)[285:org.ops4j.pax.jdbc.config:0.7.0]
>>      at
>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)[org.osgi.core-6.0.0.jar:]
>>      at
>> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870)[org.osgi.core-6.0.0.jar:]
>>      at
>> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[org.osgi.core-6.0.0.jar:]
>>      at
>> org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)[org.osgi.core-6.0.0.jar:]
>>      at
>> org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:318)[org.osgi.core-6.0.0.jar:]
>>      at
>> org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)[org.osgi.core-6.0.0.jar:]
>>      at
>> org.ops4j.pax.jdbc.config.impl.DataSourceConfigManager.updated(DataSourceConfigManager.java:74)[285:org.ops4j.pax.jdbc.config:0.7.0]
>>      at
>> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159)[3:org.apache.felix.configadmin:1.8.4]
>>      at
>> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93)[3:org.apache.felix.configadmin:1.8.4]
>>      at
>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.provide(ConfigurationManager.java:1597)[3:org.apache.felix.configadmin:1.8.4]
>>      at
>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run(ConfigurationManager.java:1540)[3:org.apache.felix.configadmin:1.8.4]
>>      at
>> org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)[3:org.apache.felix.configadmin:1.8.4]
>>      at java.lang.Thread.run(Thread.java:745)[:1.8.0_40]
>>
>>
>> Best Regards,
>> Jochen
>>
>>
>>
>> cschneider wrote
>>> You need to specify:
>>>
>>> osgi.jdbc.driver.name = PostgreSQL JDBC Driver-pool-xa
>>>
>>> For the other properties you should be able to use:
>>> https://jdbc.postgresql.org/documentation/92/ds-ds.html
>>>
>>> Also check the logs if there is an error creating the DataSource.
>>>
>>> Christian
>>>
>>> On 08.05.2015 21:42, ellirael wrote:
>>>> Christian, the DataSourceFactory is created and registered. I use karaf
>>>> 3.0.3. The problem is it doesn't react to my config described
>>>> DataSource
>>>> properties. May be you provide some config example for postrgesql
>>>> pooled
>>>> xa
>>>> datasource?
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://karaf.922171.n3.nabble.com/Karaf-JTA-and-JDBC-DataSource-tp4039081p4040243.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-tp4039081p4042686.html
>> Sent from the Karaf - User mailing list archive at Nabble.com.





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

Reply via email to