Hi Benjamin,

With Pax JDBC 1.3.3 ?

I tested in Karaf and it's covered by Pax JDBC itest.

I checked in Derby code, and there's the Activator that register the
AutoloaderDriver with the factory.

Let me double check but I'm surprised.

What did you do ?
feature:install jdbc
feature:install pax-jdbc-derby

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