Hi Benjamin,

Previously, pax-jdbc-derby feature also needed pax-jdbc feature.

I directly installed the derby bundle, it uses dynamic import, that's
why it works with pax-jdbc-spec IMHO (with the package with
DataSourceFactory is there).

So, I'm not sure to see your point: in previous version, you also need
pax-jdbc to get the adapter working.

What are you suggesting ?

Regards
JB

On 04/02/2019 21:08, Benjamin Graf wrote:
> 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é <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