FYI: I did Pax JDBC 1.3.3 release yesterday, and Karaf 4.2.3-SNAPSHOT is already updated. So it will be included in 4.2.3 release that will be on vote tonight.
Regards JB On 04/02/2019 16:27, Alex Soto wrote: > 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 >> <mailto: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> <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 <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 <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/> >>>>>>>>> <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/> >>>>>>>>> <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 >>> <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 <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> >>> <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 <mailto:jbono...@apache.org> >> http://blog.nanthrax.net >> Talend - http://www.talend.com > -- Jean-Baptiste Onofré jbono...@apache.org http://blog.nanthrax.net Talend - http://www.talend.com