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
