pax-jdbc installs the pax-jdbc-spec bundle, that's why. Regards JB
On 04/02/2019 20:59, Benjamin Graf wrote: > This way pax-jdbc-derby also need pax-jdbc feature to get installed! > > Am 04.02.2019 um 20:57 schrieb Benjamin Graf: >> Hi JB, >> >> I install pax-jdbc-config and pax-jdbc-derby. After installing pax-jdbc >> I got the derby DataSourceFactory. IMHO pax-jdbc is not mandatory to >> install and pooling seems to not work either. >> >> Regards >> >> Benjamin >> >> Am 04.02.2019 um 20:44 schrieb Jean-Baptiste Onofré: >>> 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