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>:

> 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 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>> 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>> 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 = 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 = derby
> >>>>>>     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/>> = 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 = derby
> >>>>>>     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/>> = 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>
> >>>>> 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>
> >>> http://blog.nanthrax.net <http://blog.nanthrax.net/>
> >>> Talend - http://www.talend.com <http://www.talend.com/>
> >>
> >
>
> --
> Jean-Baptiste Onofré
> 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

Reply via email to