By the way, a simple workaround is to stop or even remove the pax-jdbc-derby bundle, and use only the derby bundle (or the opposite).
Regards JB On 02/02/2019 06:55, Jean-Baptiste Onofré wrote: > OK, I think I found the problem: installing the pax-jdbc-derby feature > actually registers two DataSourceFactory services: > > 1. a DataSourceFactory service coming from pax-jdbc-derby bundle (which > is normal) (org.apache.derby.jdbc.EmbeddedDriver) > 2. a DataSourceFactory service coming from directly Derby bundle > (org.apache.derby.jdbc.AutoloadedDriver). > > Both using the same derby value for osgi.jdbc.driver.name service property. > > So pax-jdbc-config sees two factory and so it creates one datasource per > factory. > > That's why it's only when you use derby and actually, the two datasource > services come from the two factories. > > I'm fixing that. > > Regards > JB > > On 01/02/2019 19:10, Alex Soto wrote: >> Oh, thanks! >> >> Can you suggest a work around? >> What s the ETA for a fix? >> I have a release deadline looming and I am afraid I can't wait too long. >> >> Thank you for the prompt response. >> >> Best regards, >> Alex soto >> >> >> >> >>> On Feb 1, 2019, at 1:05 PM, Jean-Baptiste Onofré <j...@nanthrax.net >>> <mailto:j...@nanthrax.net>> wrote: >>> >>> Indeed, I can reproduce the issue embedded: >>> >>> Name │ Service Id │ Product │ Version │ URL >>> │ Status >>> ────────┼────────────┼──────────────┼───────────────────────┼───────────────────────────────┼─────── >>> querier │ 91 │ Apache Derby │ 10.13.1.1 - (1765088) │ >>> jdbc:derby:derby-data/querier │ OK >>> querier │ 92 │ Apache Derby │ 10.13.1.1 - (1765088) │ >>> jdbc:derby:derby-data/querier │ OK >>> >>> I will fix that. >>> >>> Regards >>> JB >>> >>> On 01/02/2019 19:01, Alex Soto wrote: >>>>> How to do you provision the datasource cfg file ? >>>>> Using a feature or by dropping the file in the etc folder ? >>>> >>>> >>>> Dropping file in the etc/ directory >>>> >>>> Best regards, >>>> Alex soto >>>> >>>> >>>> >>>> >>>>> On Feb 1, 2019, at 12:57 PM, Jean-Baptiste Onofré <j...@nanthrax.net >>>>> <mailto:j...@nanthrax.net> >>>>> <mailto:j...@nanthrax.net>> wrote: >>>>> >>>>> Hi, >>>>> >>>>> I just did a blog where I'm using a derby datasource (on Karaf >>>>> 4.2.3-SNAPSHOT): http://blog.nanthrax.net/?p=874 >>>>> >>>>> If you install an unique provider (only derby or derbyclient, but not >>>>> both), then, it should work. >>>>> >>>>> I did: >>>>> >>>>> feature:install pax-jdbc-derbyclient >>>>> >>>>> then: >>>>> >>>>> jdbc:ds-create -dn derbyclient -url jdbc:derby://localhost:1527/foo foo >>>>> >>>>> And I see only one datasource service: >>>>> >>>>> karaf@root()> jdbc:ds-list >>>>> Name │ Service Id │ Product │ Version │ URL >>>>> │ Status >>>>> ────┼────────────┼──────────────┼───────────────────────┼───────────────────────────────────────┼─────── >>>>> foo │ 91 │ Apache Derby │ 10.14.2.0 - (1828579) │ >>>>> jdbc:derby://localhost:1527/scheduler │ OK >>>>> >>>>> In your case, it seems that pax-jdbc-config is in cause, like it >>>>> bootstrap two db. How to do you provision the datasource cfg file ? >>>>> Using a feature or by dropping the file in the etc folder ? >>>>> >>>>> I will check when my build is complete. >>>>> >>>>> Regards >>>>> JB >>>>> >>>>> On 01/02/2019 18:48, Alex Soto wrote: >>>>>> Hello, >>>>>> >>>>>> I am experiencing a problem where /pax-jdbc-config/ (version 1.3.0) is >>>>>> creating duplicate Derby Data Sources. I copy the data source >>>>>> configuration file to Karaf's /etc/ /directory, after a while I >>>>>> can see >>>>>> it created two identical Data Sources. >>>>>> >>>>>> The configuration file: /org.ops4j.datasource-querier.cfg/ >>>>>> >>>>>> osgi.jdbc.driver.name = derby >>>>>> dataSourceName=querier >>>>>> url=jdbc:derby:derby-data/querier;create=true >>>>>> >>>>>> user=enquery >>>>>> password=XXXX >>>>>> databaseName=querier >>>>>> >>>>>> ops4j.preHook=querierDB >>>>>> >>>>>> >>>>>> It creates duplicate Data Sources: >>>>>> >>>>>> karaf@root()> service:list DataSource >>>>>> >>>>>> >>>>>> >>>>>> [javax.sql.DataSource] >>>>>> ---------------------- >>>>>> databaseName = querier >>>>>> dataSourceName = querier >>>>>> felix.fileinstall.filename = >>>>>> file:/Users/asoto/test/etc/org.ops4j.datasource-querier.cfg >>>>>> ops4j.preHook = querierDB >>>>>> osgi.jdbc.driver.name = derby >>>>>> osgi.jndi.service.name = querier >>>>>> password = enquery >>>>>> pax.jdbc.managed = true >>>>>> service.bundleid = 169 >>>>>> service.factoryPid = org.ops4j.datasource >>>>>> service.id >>>>>> <http://service.id/> <http://service.id/> <http://service.id >>>>>> <http://service.id/> >>>>>> <http://service.id/>> = 238 >>>>>> service.pid = >>>>>> org.ops4j.datasource.b161e768-e5f8-40bb-b19f-40cab9111316 >>>>>> service.scope = singleton >>>>>> url = jdbc:derby:derby-data/querier;create=true >>>>>> user = enquery >>>>>> Provided by : >>>>>> OPS4J Pax JDBC Config (169) >>>>>> Used by: >>>>>> JPA (22) >>>>>> [javax.sql.DataSource] >>>>>> ---------------------- >>>>>> databaseName = querier >>>>>> dataSourceName = querier >>>>>> felix.fileinstall.filename >>>>>> = file:/Users/asoto/test/etc/org.ops4j.datasource-querier.cfg >>>>>> ops4j.preHook = querierDB >>>>>> osgi.jdbc.driver.name = derby >>>>>> osgi.jndi.service.name = querier >>>>>> password = enquery >>>>>> pax.jdbc.managed = true >>>>>> service.bundleid = 169 >>>>>> service.factoryPid = org.ops4j.datasource >>>>>> service.id >>>>>> <http://service.id/> <http://service.id/> <http://service.id >>>>>> <http://service.id/> >>>>>> <http://service.id/>> = 282 >>>>>> service.pid = >>>>>> org.ops4j.datasource.b161e768-e5f8-40bb-b19f-40cab9111316 >>>>>> service.scope = singleton >>>>>> url = jdbc:derby:derby-data/querier;create=true >>>>>> user = enquery >>>>>> Provided by : >>>>>> OPS4J Pax JDBC Config (169) >>>>>> >>>>>> >>>>>> Also: >>>>>> >>>>>> karaf@root()> jdbc:ds-list >>>>>> Name │ Product │ Version │ URL >>>>>> │ Status >>>>>> >>>>>> ────────┼──────────────┼───────────────────────┼───────────────────────────────┼─────── >>>>>> querier │ Apache Derby │ 10.13.1.1 - (1765088) │ >>>>>> jdbc:derby:derby-data/querier │ OK >>>>>> querier │ Apache Derby │ 10.13.1.1 - (1765088) │ >>>>>> jdbc:derby:derby-data/querier │ OK >>>>>> >>>>>> >>>>>> >>>>>> I think it must be specific to Derby, as the same works fine if the >>>>>> driver is MariaDB. >>>>>> Any clues? >>>>>> >>>>>> Best regards, >>>>>> Alex soto >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> -- >>>>> Jean-Baptiste Onofré >>>>> jbono...@apache.org >>>>> <mailto:jbono...@apache.org> <mailto:jbono...@apache.org> >>>>> http://blog.nanthrax.net >>>>> <http://blog.nanthrax.net/> <http://blog.nanthrax.net/> >>>>> Talend - http://www.talend.com >>>>> <http://www.talend.com/> <http://www.talend.com/> >>>> >>> >>> -- >>> Jean-Baptiste Onofré >>> jbono...@apache.org <mailto:jbono...@apache.org> >>> http://blog.nanthrax.net <http://blog.nanthrax.net/> >>> Talend - http://www.talend.com <http://www.talend.com/> >> > -- Jean-Baptiste Onofré jbono...@apache.org http://blog.nanthrax.net Talend - http://www.talend.com