You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by dpravin <pr...@gmail.com> on 2016/05/20 17:28:17 UTC

pax-jdbc-dbcp2 connection pool properties

Hello,

I am using pax-jdbc-pool-dbcp2 for handling connection pooling. I referred
to the documentation and trying to set pool properties for Oracle database
as following.

dataSourceName=oraDS
osgi.jndi.service.name=jdbc/oraDS
osgi.jdbc.driver.name=oracle-pool
url=jdbc:oracle:thin:@//<<hostname>>:14550/<<servicename>>
user=user
password=password
pool.initialSize=2
pool.validationQuery=select 1 from dual
pool.accessToUnderlyingConnectionAllowed=true

However I get following errors. I also need access to underlying connection
object. Appreciate if someone can help resolve this issue.


Error in the log file are as

ERROR | 95-c3bea8270b85) | DbcpPooledDataSourceFactory      | 269 -
org.ops4j.pax.jdbc.pool.dbcp2 - 0.9.0.SNAPSHOT | Error creating pooled
datasourceError setting property validationQuery:No setter in class
org.apache.commons.pool2.impl.GenericObjectPoolConfig for property
validationQuery
java.lang.IllegalArgumentException: Error setting property
validationQuery:No setter in class
org.apache.commons.pool2.impl.GenericObjectPoolConfig for property
validationQuery
        at
org.ops4j.pax.jdbc.pool.common.impl.BeanConfig.trySetProperty(BeanConfig.java:84)[270:org.ops4j.pax.jdbc.pool.common:0.9.0.SNAPSHOT]
        at
org.ops4j.pax.jdbc.pool.common.impl.BeanConfig.configure(BeanConfig.java:58)[270:org.ops4j.pax.jdbc.pool.common:0.9.0.SNAPSHOT]
        at
org.ops4j.pax.jdbc.pool.dbcp2.impl.ds.DbcpPooledDataSourceFactory.createDataSource(DbcpPooledDataSourceFactory.java:121)[269:org.ops4j.pax.jdbc.pool.dbcp2:0.9.0.SNAPSHOT]
        at
org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.createDs(DataSourceRegistration.java:111)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
        at
org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.<init>(DataSourceRegistration.java:72)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
        at
org.ops4j.pax.jdbc.config.impl.DataSourceFactoryTracker.addingService(DataSourceFactoryTracker.java:42)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
        at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)[karaf.jar:2.4.0.redhat-621084]
        at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)[karaf.jar:2.4.0.redhat-621084]
        at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[karaf.jar:2.4.0.redhat-621084]
        at
org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)[karaf.jar:2.4.0.redhat-621084]
        at
org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317)[karaf.jar:2.4.0.redhat-621084]
        at
org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)[karaf.jar:2.4.0.redhat-621084]
        at
org.ops4j.pax.jdbc.config.impl.DataSourceConfigManager.updated(DataSourceConfigManager.java:78)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
        at
org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159)[7:org.apache.felix.configadmin:1.8.4]
        at
org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93)[7:org.apache.felix.configadmin:1.8.4]
        at
org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1747)[7:org.apache.felix.configadmin:1.8.4]
        at
org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)[7:org.apache.felix.configadmin:1.8.4]
        at java.lang.Thread.run(Thread.java:744)[:1.7.0_45]
Caused by: java.lang.IllegalArgumentException: No setter in class
org.apache.commons.pool2.impl.GenericObjectPoolConfig for property
validationQuery
        at
org.ops4j.pax.jdbc.pool.common.impl.BeanConfig.trySetProperty(BeanConfig.java:66)[270:org.ops4j.pax.jdbc.pool.common:0.9.0.SNAPSHOT]
        ... 17 more
22:11:07,883 | ERROR | 95-c3bea8270b85) | configadmin                      |
7 - org.apache.felix.configadmin - 1.8.4 |
[org.osgi.service.cm.ManagedServiceFactory, id=623,
bundle=271/mvn:org.ops4j.pax.jdbc/pax-jdbc-config/0.9.0-SNAPSHOT]:
Unexpected problem updating configuration
org.ops4j.datasource.4e5e4317-b86c-474e-a495-c3bea8270b85
java.lang.IllegalArgumentException: Error setting property
validationQuery:No setter in class
org.apache.commons.pool2.impl.GenericObjectPoolConfig for property
validationQuery
        at
org.ops4j.pax.jdbc.pool.common.impl.BeanConfig.trySetProperty(BeanConfig.java:84)[270:org.ops4j.pax.jdbc.pool.common:0.9.0.SNAPSHOT]
        at
org.ops4j.pax.jdbc.pool.common.impl.BeanConfig.configure(BeanConfig.java:58)[270:org.ops4j.pax.jdbc.pool.common:0.9.0.SNAPSHOT]
        at
org.ops4j.pax.jdbc.pool.dbcp2.impl.ds.DbcpPooledDataSourceFactory.createDataSource(DbcpPooledDataSourceFactory.java:121)[269:org.ops4j.pax.jdbc.pool.dbcp2:0.9.0.SNAPSHOT]
        at
org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.createDs(DataSourceRegistration.java:111)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
        at
org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.<init>(DataSourceRegistration.java:72)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
        at
org.ops4j.pax.jdbc.config.impl.DataSourceFactoryTracker.addingService(DataSourceFactoryTracker.java:42)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
        at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)[karaf.jar:2.4.0.redhat-621084]
        at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)[karaf.jar:2.4.0.redhat-621084]
        at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[karaf.jar:2.4.0.redhat-621084]
        at
org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)[karaf.jar:2.4.0.redhat-621084]
        at
org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317)[karaf.jar:2.4.0.redhat-621084]
        at
org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)[karaf.jar:2.4.0.redhat-621084]
        at
org.ops4j.pax.jdbc.config.impl.DataSourceConfigManager.updated(DataSourceConfigManager.java:78)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
        at
org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159)[7:org.apache.felix.configadmin:1.8.4]
        at
org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93)[7:org.apache.felix.configadmin:1.8.4]
        at
org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1747)[7:org.apache.felix.configadmin:1.8.4]
        at
org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)[7:org.apache.felix.configadmin:1.8.4]
        at java.lang.Thread.run(Thread.java:744)[:1.7.0_45]
Caused by: java.lang.IllegalArgumentException: No setter in class
org.apache.commons.pool2.impl.GenericObjectPoolConfig for property
validationQuery
        at
org.ops4j.pax.jdbc.pool.common.impl.BeanConfig.trySetProperty(BeanConfig.java:66)[270:org.ops4j.pax.jdbc.pool.common:0.9.0.SNAPSHOT]
        ... 17 more 



--
View this message in context: http://karaf.922171.n3.nabble.com/pax-jdbc-dbcp2-connection-pool-properties-tp4046701.html
Sent from the Karaf - User mailing list archive at Nabble.com.

Re: pax-jdbc-dbcp2 connection pool properties

Posted by Achim Nierbeck <bc...@googlemail.com>.
Hi Pravin,

very simple processes here ...
create yourself an account, you should have karma to edit the confluence[1]
wiki easily (if not come back to me ... we had some automatic rights
assignment issues in the past)
update the documentation where you think it fits best.
If you want to provide patches to code, create a jira issue first [2] and
reference that jira id in your commit message.
If the pull-request looks ok, we'll either apply it our give you the karma
to do it yourself.
We also have a jenkins ci [3] which might want to take a look at to make
sure your PR didn't break anything ...
so just regular "good" behavior when coming to a project :)


regards, Achim

[1] - https://ops4j1.jira.com/wiki/
[2] - https://ops4j1.jira.com/secure/Dashboard.jspa
[3] - http://ci.ops4j.org/jenkins/




2016-05-26 22:17 GMT+02:00 dpravin <pr...@gmail.com>:

> Achim,
>
> I will try and test the pool parameters as can update the documentation as
> per my findings, however appreciate if you could let me know if I need to
> follow any specific process to do it.
>
> Regards,
> Pravin
>
>
>
> --
> View this message in context:
> http://karaf.922171.n3.nabble.com/pax-jdbc-dbcp2-connection-pool-properties-tp4046701p4046720.html
> Sent from the Karaf - User mailing list archive at Nabble.com.
>



-- 

Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

Software Architect / Project Manager / Scrum Master

Re: pax-jdbc-dbcp2 connection pool properties

Posted by dpravin <pr...@gmail.com>.
Achim,

I will try and test the pool parameters as can update the documentation as
per my findings, however appreciate if you could let me know if I need to
follow any specific process to do it.

Regards,
Pravin



--
View this message in context: http://karaf.922171.n3.nabble.com/pax-jdbc-dbcp2-connection-pool-properties-tp4046701p4046720.html
Sent from the Karaf - User mailing list archive at Nabble.com.

Re: pax-jdbc-dbcp2 connection pool properties

Posted by Achim Nierbeck <bc...@googlemail.com>.
Hi,

if you see room for improvements at the documentation at [1] or [2], feel
free to add it.
It's OPS4j (Open Participation 4 java - meaning everybody should
participate to improve it)

regards, Achim

[1] - https://ops4j1.jira.com/wiki/display/PAXJDBC/Documentation
[2] - https://github.com/ops4j/org.ops4j.pax.jdbc




2016-05-24 22:39 GMT+02:00 dpravin <pr...@gmail.com>:

> I went through the code for pax-jdbc-pool-dbcp2 and found out that you can
> set pool properties with prefix "pool." and "factory." I tried using
> setting
> the validation query with "factory." and it worked. However if we have some
> documentation on the prefix to be used to set specific pool properties it
> will help.
>
> Regards,
> Pravin
>
>
>
> --
> View this message in context:
> http://karaf.922171.n3.nabble.com/pax-jdbc-dbcp2-connection-pool-properties-tp4046701p4046706.html
> Sent from the Karaf - User mailing list archive at Nabble.com.
>



-- 

Apache Member
Apache Karaf <http://karaf.apache.org/> Committer & PMC
OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
Project Lead
blog <http://notizblog.nierbeck.de/>
Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>

Software Architect / Project Manager / Scrum Master

Re: pax-jdbc-dbcp2 connection pool properties

Posted by dpravin <pr...@gmail.com>.
I went through the code for pax-jdbc-pool-dbcp2 and found out that you can
set pool properties with prefix "pool." and "factory." I tried using setting
the validation query with "factory." and it worked. However if we have some
documentation on the prefix to be used to set specific pool properties it
will help. 

Regards,
Pravin



--
View this message in context: http://karaf.922171.n3.nabble.com/pax-jdbc-dbcp2-connection-pool-properties-tp4046701p4046706.html
Sent from the Karaf - User mailing list archive at Nabble.com.

Re: pax-jdbc-dbcp2 connection pool properties

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi,

it sounds like a bug as no setter setValidateQuery seems to exist in 
GenericObjectPoolConfig. It may depends to the commons-pool version.

Regards
JB

On 05/20/2016 07:28 PM, dpravin wrote:
> Hello,
>
> I am using pax-jdbc-pool-dbcp2 for handling connection pooling. I referred
> to the documentation and trying to set pool properties for Oracle database
> as following.
>
> dataSourceName=oraDS
> osgi.jndi.service.name=jdbc/oraDS
> osgi.jdbc.driver.name=oracle-pool
> url=jdbc:oracle:thin:@//<<hostname>>:14550/<<servicename>>
> user=user
> password=password
> pool.initialSize=2
> pool.validationQuery=select 1 from dual
> pool.accessToUnderlyingConnectionAllowed=true
>
> However I get following errors. I also need access to underlying connection
> object. Appreciate if someone can help resolve this issue.
>
>
> Error in the log file are as
>
> ERROR | 95-c3bea8270b85) | DbcpPooledDataSourceFactory      | 269 -
> org.ops4j.pax.jdbc.pool.dbcp2 - 0.9.0.SNAPSHOT | Error creating pooled
> datasourceError setting property validationQuery:No setter in class
> org.apache.commons.pool2.impl.GenericObjectPoolConfig for property
> validationQuery
> java.lang.IllegalArgumentException: Error setting property
> validationQuery:No setter in class
> org.apache.commons.pool2.impl.GenericObjectPoolConfig for property
> validationQuery
>          at
> org.ops4j.pax.jdbc.pool.common.impl.BeanConfig.trySetProperty(BeanConfig.java:84)[270:org.ops4j.pax.jdbc.pool.common:0.9.0.SNAPSHOT]
>          at
> org.ops4j.pax.jdbc.pool.common.impl.BeanConfig.configure(BeanConfig.java:58)[270:org.ops4j.pax.jdbc.pool.common:0.9.0.SNAPSHOT]
>          at
> org.ops4j.pax.jdbc.pool.dbcp2.impl.ds.DbcpPooledDataSourceFactory.createDataSource(DbcpPooledDataSourceFactory.java:121)[269:org.ops4j.pax.jdbc.pool.dbcp2:0.9.0.SNAPSHOT]
>          at
> org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.createDs(DataSourceRegistration.java:111)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
>          at
> org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.<init>(DataSourceRegistration.java:72)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
>          at
> org.ops4j.pax.jdbc.config.impl.DataSourceFactoryTracker.addingService(DataSourceFactoryTracker.java:42)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
>          at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)[karaf.jar:2.4.0.redhat-621084]
>          at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)[karaf.jar:2.4.0.redhat-621084]
>          at
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[karaf.jar:2.4.0.redhat-621084]
>          at
> org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)[karaf.jar:2.4.0.redhat-621084]
>          at
> org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317)[karaf.jar:2.4.0.redhat-621084]
>          at
> org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)[karaf.jar:2.4.0.redhat-621084]
>          at
> org.ops4j.pax.jdbc.config.impl.DataSourceConfigManager.updated(DataSourceConfigManager.java:78)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
>          at
> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159)[7:org.apache.felix.configadmin:1.8.4]
>          at
> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93)[7:org.apache.felix.configadmin:1.8.4]
>          at
> org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1747)[7:org.apache.felix.configadmin:1.8.4]
>          at
> org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)[7:org.apache.felix.configadmin:1.8.4]
>          at java.lang.Thread.run(Thread.java:744)[:1.7.0_45]
> Caused by: java.lang.IllegalArgumentException: No setter in class
> org.apache.commons.pool2.impl.GenericObjectPoolConfig for property
> validationQuery
>          at
> org.ops4j.pax.jdbc.pool.common.impl.BeanConfig.trySetProperty(BeanConfig.java:66)[270:org.ops4j.pax.jdbc.pool.common:0.9.0.SNAPSHOT]
>          ... 17 more
> 22:11:07,883 | ERROR | 95-c3bea8270b85) | configadmin                      |
> 7 - org.apache.felix.configadmin - 1.8.4 |
> [org.osgi.service.cm.ManagedServiceFactory, id=623,
> bundle=271/mvn:org.ops4j.pax.jdbc/pax-jdbc-config/0.9.0-SNAPSHOT]:
> Unexpected problem updating configuration
> org.ops4j.datasource.4e5e4317-b86c-474e-a495-c3bea8270b85
> java.lang.IllegalArgumentException: Error setting property
> validationQuery:No setter in class
> org.apache.commons.pool2.impl.GenericObjectPoolConfig for property
> validationQuery
>          at
> org.ops4j.pax.jdbc.pool.common.impl.BeanConfig.trySetProperty(BeanConfig.java:84)[270:org.ops4j.pax.jdbc.pool.common:0.9.0.SNAPSHOT]
>          at
> org.ops4j.pax.jdbc.pool.common.impl.BeanConfig.configure(BeanConfig.java:58)[270:org.ops4j.pax.jdbc.pool.common:0.9.0.SNAPSHOT]
>          at
> org.ops4j.pax.jdbc.pool.dbcp2.impl.ds.DbcpPooledDataSourceFactory.createDataSource(DbcpPooledDataSourceFactory.java:121)[269:org.ops4j.pax.jdbc.pool.dbcp2:0.9.0.SNAPSHOT]
>          at
> org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.createDs(DataSourceRegistration.java:111)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
>          at
> org.ops4j.pax.jdbc.config.impl.DataSourceRegistration.<init>(DataSourceRegistration.java:72)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
>          at
> org.ops4j.pax.jdbc.config.impl.DataSourceFactoryTracker.addingService(DataSourceFactoryTracker.java:42)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
>          at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)[karaf.jar:2.4.0.redhat-621084]
>          at
> org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)[karaf.jar:2.4.0.redhat-621084]
>          at
> org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[karaf.jar:2.4.0.redhat-621084]
>          at
> org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)[karaf.jar:2.4.0.redhat-621084]
>          at
> org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317)[karaf.jar:2.4.0.redhat-621084]
>          at
> org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)[karaf.jar:2.4.0.redhat-621084]
>          at
> org.ops4j.pax.jdbc.config.impl.DataSourceConfigManager.updated(DataSourceConfigManager.java:78)[271:org.ops4j.pax.jdbc.config:0.9.0.SNAPSHOT]
>          at
> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159)[7:org.apache.felix.configadmin:1.8.4]
>          at
> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93)[7:org.apache.felix.configadmin:1.8.4]
>          at
> org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1747)[7:org.apache.felix.configadmin:1.8.4]
>          at
> org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:103)[7:org.apache.felix.configadmin:1.8.4]
>          at java.lang.Thread.run(Thread.java:744)[:1.7.0_45]
> Caused by: java.lang.IllegalArgumentException: No setter in class
> org.apache.commons.pool2.impl.GenericObjectPoolConfig for property
> validationQuery
>          at
> org.ops4j.pax.jdbc.pool.common.impl.BeanConfig.trySetProperty(BeanConfig.java:66)[270:org.ops4j.pax.jdbc.pool.common:0.9.0.SNAPSHOT]
>          ... 17 more
>
>
>
> --
> View this message in context: http://karaf.922171.n3.nabble.com/pax-jdbc-dbcp2-connection-pool-properties-tp4046701.html
> Sent from the Karaf - User mailing list archive at Nabble.com.
>

-- 
Jean-Baptiste Onofr
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Re: pax-jdbc-dbcp2 connection pool properties

Posted by dpravin <pr...@gmail.com>.
Appreciate if anyone could help me on this.



--
View this message in context: http://karaf.922171.n3.nabble.com/pax-jdbc-dbcp2-connection-pool-properties-tp4046701p4046704.html
Sent from the Karaf - User mailing list archive at Nabble.com.