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.
