Hi JB, I would suggest to add pax-jdbc feature as dependency to pax-jdbc-derby feature as it would work without. Just keep pax features independent from possible installed karaf feature.
What do you think? Regards Benjamin Am 04.02.2019 um 21:20 schrieb Jean-Baptiste Onofré: > Hi Benjamin, > > Previously, pax-jdbc-derby feature also needed pax-jdbc feature. > > I directly installed the derby bundle, it uses dynamic import, that's > why it works with pax-jdbc-spec IMHO (with the package with > DataSourceFactory is there). > > So, I'm not sure to see your point: in previous version, you also need > pax-jdbc to get the adapter working. > > What are you suggesting ? > > Regards > JB > > On 04/02/2019 21:08, Benjamin Graf wrote: >> Hu JB, >> >> Just to summarize: >> >> Karaf jdbc installs pax-jdbc and pax-jdbc-config sub features. pax-jdbc >> is needed to get a DataSourceFactory instance for Driver only >> installations like Derby. Derby does not register a DataSourceFactory >> directly. But if you do not install jdbc and/or pax-jdbc you won't get >> the DataSourceFactory for Derby anymore. That IMHO is a break to >> previous versions using the pax-jdbc-derby adaptor. >> >> Regards >> >> Benjamin >> >> Am 04.02.2019 um 21:03 schrieb Jean-Baptiste Onofré: >>> 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é <[email protected] >>>>>>>>>> <mailto:[email protected]>> 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é >>>>>>>>>>> <[email protected] <mailto:[email protected]> >>>>>>>>>>> <mailto:[email protected]>>: >>>>>>>>>>> >>>>>>>>>>> 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é >>>>>>>>>>> <[email protected] <mailto:[email protected]> >>>>>>>>>>> <mailto:[email protected]> >>>>>>>>>>>>>> <mailto:[email protected] <mailto:[email protected]>>> 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é >>>>>>>>>>> <[email protected] <mailto:[email protected]> >>>>>>>>>>> <mailto:[email protected]> >>>>>>>>>>>>>>>> <mailto:[email protected] <mailto:[email protected]>> >>>>>>>>>>>>>>>> <mailto:[email protected] <mailto:[email protected]>>> 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é >>>>>>>>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>>>> <mailto:[email protected]> >>>>>>>>>>>>>>>> <mailto:[email protected] >>>>>>>>>>> <mailto:[email protected]>> <mailto:[email protected] >>>>>>>>>>> <mailto:[email protected]>> >>>>>>>>>>>>>>>> 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é >>>>>>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>>>>> <mailto:[email protected]> >>>>>>>>>>> <mailto:[email protected] <mailto:[email protected]>> >>>>>>>>>>>>>> http://blog.nanthrax.net <http://blog.nanthrax.net/> >>>>>>>>>>>>>> Talend - http://www.talend.com <http://www.talend.com/> >>>>>>>>>>> -- >>>>>>>>>>> Jean-Baptiste Onofré >>>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>>> <mailto:[email protected]> >>>>>>>>>>> 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é >>>>>>>>>> [email protected] <mailto:[email protected]> >>>>>>>>>> http://blog.nanthrax.net >>>>>>>>>> Talend - http://www.talend.com
signature.asc
Description: OpenPGP digital signature
