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

Reply via email to