Thank you all, The workaround worked, i.e., removed feature pax-jdbc-derby and adding only the derby feature.
Best regards, Alex soto > On Feb 2, 2019, at 1:48 AM, Jean-Baptiste Onofré <j...@nanthrax.net> wrote: > > That's what I'm testing: still keeping pax-jdbc-derby feature but just > installing the derby bundle (not the pax-jdbc wrapper bundle). > > Regards > JB > > On 02/02/2019 07:35, Christian Schneider wrote: >> If derby now provides a DataSourceFactory then we should remove >> pax-jdbc-derby from the feature. >> >> I guess at some point derby started providing the DSF and we just forgot >> to remove the adapter bundle. >> >> Christian >> >> Am Sa., 2. Feb. 2019 um 07:19 Uhr schrieb Jean-Baptiste Onofré >> <j...@nanthrax.net <mailto:j...@nanthrax.net>>: >> >> 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 >> <http://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> >>>>> <mailto: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 <mailto: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 <http://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 <http://osgi.jdbc.driver.name> = derby >>>>>>>> osgi.jndi.service.name <http://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/> >>>>>>>> <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 <http://osgi.jdbc.driver.name> = derby >>>>>>>> osgi.jndi.service.name <http://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/> >>>>>>>> <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 >> <mailto: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> >> <mailto: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 <mailto:jbono...@apache.org> >> http://blog.nanthrax.net >> Talend - http://www.talend.com >> >> >> >> -- >> -- >> Christian Schneider >> http://www.liquid-reality.de >> >> Computer Scientist >> http://www.adobe.com >> > > -- > Jean-Baptiste Onofré > jbono...@apache.org > http://blog.nanthrax.net > Talend - http://www.talend.com