By the way, Karaf example itest (jdbc example) use Derby without problem. Regards JB
On 04/02/2019 20:23, Benjamin Graf wrote: > Hi JB, > > if I install pax-jdbc-derby on a fresh Karaf 4.2.3-SNAPSHOT I do not get > a DataSourceFactory registered. I also do not found any code in derby > sources that does anything about that if do not install pax-jdbc to get > the Driver instrumented. > > Regards > > Benjamin > > Am 04.02.2019 um 16:30 schrieb Jean-Baptiste Onofré: >> 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