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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to