Ok, it just became more interesting!  Will try it today.

I'm still wanting to know how to get configuration properties for the pool
to the pool using Pax-JDBC though.

On Wed, Mar 1, 2017 at 7:50 AM, Timothy Ward <tim.w...@paremus.com> wrote:

> Actually, the JDBC providers in Apache Aries Transaction Control do use
> HikariCP for their connection pooling support, it’s just abstracted by the
> ResourceProvider so that you don’t see it (which is surely a good thing!).
>
> Tim
>
> On 1 Mar 2017, at 15:46, Kevin Schmidt <ktschm...@gmail.com> wrote:
>
> I will take a look at Transaction Control, but my first scan shows it is
> implementing its own connection pool?  I wish to continue to use HikariCP
> as my pool, thus the source of my question.  But let me give a little more
> background.
>
> I presently use Blueprint to define datasource XML files that are placed
> in the deploy directory.  These files configure the datasource, wrap it in
> a pool, and register it in JNDI where applications then look it up.  I
> understand this isn't necessarily the recommended approach anymore, so was
> looking at alternatives and it appeared Pax-JDBC is one of if not the
> recommended approach now.  And when I saw support for HikariCP as a pool
> with 1.0, I took a deeper look.
>
> So I have the necessary Pax features installed and have
> my org.ops4j.datasource-<name>.cfg file created and I do get a data
> source created and pool created for it.  My file is:
>
> osgi.jdbc.driver.name=mysql
> pool=hikari
> databaseName=person_trunk
> user=<removed>
> password=<removed>
> dataSourceName=mydatasource
>
> This works, but I'd like to control some of the HikariCP pool settings.
>
> The link pointed to earlier (https://ops4j1.jira.com/wiki/
> display/PAXJDBC/Pooling+and+XA+support+in+1.0.0) says:
>
> In addition you can also set pooling properties that start with "pool.".
> These will be forwarded to the pooling library.
>
> Thus, I tried setting pool.minimumIdle=5 and jdbc.pool.minimumIdle=5 but
> both result in errors as the setting is forwarded to the MySQL data source
> factory.
>
> So, how can I specify my pool settings in a way that they are forwarded to
> the pooling library?
>
> If there is a alternate/better way to configure Pax-JDBC and use HikariCP
> as the pool, or other alternatives to Pax-JDBC, I'm all ears.
>
> Thanks,
>
> Kevin
>
> On Wed, Mar 1, 2017 at 2:42 AM, Timothy Ward <tim.w...@paremus.com> wrote:
>
>> Transaction Control can already be used with a DataSource, Driver,
>> DataSourceFactory, you name it. It also doesn’t have special configuration,
>> it’s config admin just like everything else.
>>
>> The scoped connection is also not special, and can be passed to all
>> manner of other libraries. You can even wrap it in a DataSource which hands
>> out the same connection to everyone, just like Spring do with their
>> SingleConnectionDataSource.
>>
>> Regards,
>>
>> Tim
>>
>>
>>
>> On 1 Mar 2017, at 10:28, Christian Schneider <ch...@die-schneider.net>
>> wrote:
>>
>> It would be nice if the transaction control service would also support
>> DataSources as services. So would would only need to teach people one
>> variante to configure them.
>> Transaction control is special in its config and it can not be reused for
>> other usages of a database.
>>
>> Christian
>>
>> 2017-03-01 10:44 GMT+01:00 Timothy Ward <tim.w...@paremus.com>:
>>
>>> Again, I can recommend the OSGi Transaction Control service. The Aries
>>> implementation has support for configuration defined resources, which make
>>> connection and pooling configuration extremely easy. See
>>> http://aries.apache.org/modules/tx-control/localJDBC.htm
>>> l#creating-a-resource-using-a-factory-configuration for details.
>>>
>>> The Aries Transaction Control implementation also has support for XA
>>> transactions if that’s of interest to you.
>>>
>>> Best Regards,
>>>
>>> Tim Ward
>>>
>>> Author, Enterprise OSGi in Action https://www.manning.com/cummins
>>>
>>>
>>>
>>> On 1 Mar 2017, at 08:11, schmke <ktschm...@gmail.com> wrote:
>>>
>>> I too am trying out the HikariCP pooling and haven't figured out how to
>>> change/specify pool settings.
>>>
>>> I have a .cfg file that creates a pooled data source just fine, with
>>> TRACE
>>> logging on I see HikariCP initializing and all the default settings.  And
>>> the pool is used as I use the data source.
>>>
>>> But when I try to specify pooling configuration in the .cfg file, the
>>> property I set is passed on to the underlying data source factory, not
>>> the
>>> pool.  For example, I want to set the minimumIdle to 5 rather than the
>>> default 10.
>>>
>>> If I specify pool.minimumIdle=5 I see this in the log:
>>>
>>> 2017-03-01T00:08:13,848 | WARN  | CM Configuration Updater
>>> (ManagedServiceFactory Update: factoryPid=[org.ops4j.datasource]) |
>>> DataSourceRegistration           | 76 - org.ops4j.pax.jdbc.config -
>>> 1.0.1 |
>>> cannot set properties [pool.minimumIdle]
>>> java.sql.SQLException: cannot set properties [pool.minimumIdle]
>>> at
>>> org.ops4j.pax.jdbc.mysql.impl.MysqlDataSourceFactory.setProp
>>> erties(MysqlDataSourceFactory.java:71)
>>> [77:org.ops4j.pax.jdbc.mysql:1.0.1]
>>>
>>> If I instead specify jdbc.pool.minimumIdle=5, the same thing:
>>>
>>> 2017-03-01T00:09:04,034 | WARN  | CM Configuration Updater
>>> (ManagedServiceFactory Update: factoryPid=[org.ops4j.datasource]) |
>>> DataSourceRegistration           | 76 - org.ops4j.pax.jdbc.config -
>>> 1.0.1 |
>>> cannot set properties [pool.minimumIdle]
>>> java.sql.SQLException: cannot set properties [pool.minimumIdle]
>>> at
>>> org.ops4j.pax.jdbc.mysql.impl.MysqlDataSourceFactory.setProp
>>> erties(MysqlDataSourceFactory.java:71)
>>> [77:org.ops4j.pax.jdbc.mysql:1.0.1]
>>>
>>> So how are the properties to be specified so they get passed to the pool
>>> and
>>> not the underlying JDBC data source?
>>>
>>>
>>>
>>> --
>>> View this message in context: http://karaf.922171.n3.nabble.
>>> com/PAX-JDBC-1-0-1-pools-tp4049649p4049697.html
>>> Sent from the Karaf - User mailing list archive at Nabble.com
>>> <http://nabble.com/>.
>>>
>>>
>>>
>>
>>
>> --
>> --
>> Christian Schneider
>> http://www.liquid-reality.de
>> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.liquid-reality.de>
>>
>> Open Source Architect
>> http://www.talend.com
>> <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.talend.com>
>>
>>
>>
>
>

Reply via email to