Hu JB,

Just to summarize:

Karaf jdbc installs pax-jdbc and pax-jdbc-config sub features. pax-jdbc
is needed to get a DataSourceFactory instance for Driver only
installations like Derby. Derby does not register a DataSourceFactory 
directly. But if you do not install jdbc and/or pax-jdbc you won't get
the DataSourceFactory for Derby anymore. That IMHO is a break to
previous versions using the pax-jdbc-derby adaptor.

Regards

Benjamin

Am 04.02.2019 um 21:03 schrieb Jean-Baptiste Onofré:
> 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é <[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