Hi JB,

> I guess you don't use stage in your boot features right ?
Can you elaborate on this? I am not sure I understand what you are asking. 

Regards,

Erwin

> 
> Regards
> JB
> 
>> On 28/05/2019 02:20, Erwin Hogeweg wrote:
>> Hi JB,
>> 
>> I poked around a bit more. This is what I found.
>> 
>> When I replace the jdbc feature in the bootFeatures section with only
>> the required features I do end up with a single DataSourceFactory and
>> two Datasources (which is expected)
>> 
>> <bootFeatures>
>> ...
>> <!--feature>jdbc</feature-->
>> <feature>pax-jdbc-spec</feature>
>> <feature>pax-jdbc-mysql</feature>
>> <feature>pax-jdbc-config</feature>
>> <feature>pax-jdbc-pool-dbcp2</feature>
>> ...
>> 
>> *karaf*@root()> services|grepDataSource
>> [javax.sql.*DataSource*]
>> [javax.sql.*DataSource*]
>> [org.osgi.service.jdbc.*DataSource*Factory]
>> [org.ops4j.pax.jdbc.pool.common.Pooled*DataSource*Factory]
>> [org.ops4j.pax.jdbc.pool.common.Pooled*DataSource*Factory]
>> 
>> But now I have lost the console commands. When I manually install the
>> jdbc feature I get the console commands back but now I also have
>> duplicate DSFactory again.
>> 
>> Just FYI.
>> 
>> 
>> Regards,
>> 
>> Erwin
>> 
>> 
>>> On May 22, 2019, at 09:39, Jean-Baptiste Onofré <[email protected]
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Hi Erwin,
>>> 
>>> Hmmm, that's weird. Let me try to reproduce on Karaf example using MySQL.
>>> 
>>> Regards
>>> JB
>>> 
>>>> On 22/05/2019 15:33, Erwin Hogeweg wrote:
>>>> Thanks JB…
>>>> 
>>>> Trying to get this to work by modding the feature.xml. This approach
>>>> doesn’t work because the the pax-jdbc feature is still pulled in as a
>>>> depended feature.
>>>> <!--feature version="1.3.1">pax-jdbc</feature>-->
>>>>         <feature version="1.3.1">pax-jdbc-config</feature>
>>>>         <feature version="1.3.1">pax-jdbc-pool-dbcp2</feature>
>>>>         <feature version="1.3.1">pax-jdbc-mysql</feature>
>>>> 
>>>> So I tried 1.3.5 as you recommended: 
>>>> <!--feature version="1.3.1">pax-jdbc</feature>-->
>>>>         <feature version="1.3.5">pax-jdbc-config</feature>
>>>>         <feature version="1.3.5">pax-jdbc-pool-dbcp2</feature>
>>>>         <feature version="1.3.5">pax-jdbc-mysql</feature>
>>>> 
>>>> But those 1.3.5 features don’t appear to exist yet. 
>>>> 
>>>> Next approach, just include the individual bundles: 
>>>> <!-- pax-jdbc 1.3.5 -->
>>>> <bundle
>>>> start-level="30">mvn:org.apache.commons/commons-dbcp2/2.6.0</bundle>
>>>>         <bundle
>>>> start-level="30">mvn:org.ops4j.pax.jdbc/pax-jdbc-config/1.3.5</bundle>
>>>>         <bundle
>>>> start-level="30">mvn:org.ops4j.pax.jdbc/pax-jdbc-pool-dbcp2/1.3.5</bundle>
>>>>         <bundle
>>>> start-level="30">mvn:org.ops4j.pax.jdbc/pax-jdbc-mysql/1.3.5</bundle>
>>>> 
>>>> But now I am ending up pulling in a bunch of depended bundles. I have no
>>>> problem to continue down this path but I am not sure this is the right
>>>> direction.
>>>> 
>>>> Please share your opinion.
>>>> 
>>>> 
>>>> Thanks, Erwin  
>>>> 
>>>>> On May 22, 2019, at 00:53, Jean-Baptiste Onofré <[email protected]
>>>>> <mailto:[email protected]>
>>>>> <mailto:[email protected]>> wrote:
>>>>> 
>>>>> Hi Erwin,
>>>>> 
>>>>> First, I'm suggesting to upgrade to Pax JDBC 1.3.5 containing fixes.
>>>>> 
>>>>> I guess you have both pax-jdbc-config feature and pax-jdbc bundle
>>>>> installed.
>>>>> pax-jdbc bundle is a wrapper that automatically detect and expose a
>>>>> factory.
>>>>> 
>>>>> It's similar to what I fixed in
>>>>> https://ops4j1.jira.com/browse/PAXJDBC-135.
>>>>> 
>>>>> You should not install pax-jdbc bundle IMHO as you are using
>>>>> pax-jdbc-mysql feature.
>>>>> 
>>>>> Regards
>>>>> JB
>>>>> 
>>>>>> On 22/05/2019 04:28, Erwin Hogeweg wrote:
>>>>>> Hi,
>>>>>> 
>>>>>> Not sure if I am doing something wrong or if this is a known issue.
>>>>>> I am
>>>>>> using Karaf-4.2.5 with pax-jdbc-1.3.1 and I end up with two identical
>>>>>> DataSourceFactories and 2 identical Data Sources. One from the
>>>>>> mysql-5.1.34 Oracle bundle and one from the pax-jdbc-mysql adapter
>>>>>> bundle.
>>>>>> 
>>>>>> When I use jdbc:ds-list I see 2 Datasources for ea. database and Karaf
>>>>>> even generates a warning msg that I have duplicate DataSources and that
>>>>>> I should check my config.
>>>>>> 
>>>>>> I only have ONE config file for ea. database.
>>>>>> 
>>>>>> Name           │ Product │ Version    │ URL                            
>>>>>>                                                             │ Status
>>>>>> ───────────────┼─────────┼────────────┼─────────────────────────────────────────────────────────────────────────────────────────────┼───────
>>>>>> jdbc/database1 │ MySQL   │ 5.5.61-cll │
>>>>>> jdbc:mysql://p.q.r.s:3306/Schema?useSSL=false&zeroDateTimeBehavior=convertToNull
>>>>>> │ OK
>>>>>> jdbc/database2 │ MySQL   │ 5.6.31-log │
>>>>>> jdbc:mysql://the_db_server:3306/schema?useSSL=false               
>>>>>>      
>>>>>>                     │ OK
>>>>>> jdbc/database2 │ MySQL   │ 5.6.31-log │
>>>>>> jdbc:mysql://the_db_server:3306/schema?useSSL=false               
>>>>>>      
>>>>>>                     │ OK
>>>>>> jdbc/databawe1 │ MySQL   │ 5.5.61-cll │
>>>>>> jdbc:mysql://p.q.r.s:3306/Schema?useSSL=false&zeroDateTimeBehavior=convertToNull
>>>>>> │ OK
>>>>>> 
>>>>>>   [pipe-jdbc:ds-list] WARN
>>>>>> org.apache.karaf.jdbc.internal.JdbcServiceImpl - Multiple JDBC
>>>>>> datasources found with the same service ranking for jdbc/myDB
>>>>>> 
>>>>>> 
>>>>>> [org.osgi.service.jdbc.DataSourceFactory]
>>>>>> -----------------------------------------
>>>>>>  osgi.jdbc.driver.class = com.mysql.jdbc.Driver
>>>>>>  osgi.jdbc.driver.name = com.mysql.jdbc
>>>>>>  osgi.jdbc.driver.version = 5.1.34
>>>>>>  service.bundleid = 172
>>>>>>  service.id <http://service.id> <http://service.id>
>>>>>> <http://service.id> = 415
>>>>>>  service.scope = singleton
>>>>>> *Provided by : 
>>>>>>  Oracle Corporation's JDBC Driver for MySQL (172)*
>>>>>> Used by: 
>>>>>>  OPS4J Pax JDBC Config (12)
>>>>>> 
>>>>>> [org.osgi.service.jdbc.DataSourceFactory]
>>>>>> -----------------------------------------
>>>>>>  osgi.jdbc.driver.class = com.mysql.jdbc.Driver
>>>>>>  osgi.jdbc.driver.name = mysql
>>>>>>  service.bundleid = 235
>>>>>>  service.id <http://service.id> <http://service.id>
>>>>>> <http://service.id> = 420
>>>>>>  service.scope = singleton
>>>>>> *Provided by : 
>>>>>>  OPS4J Pax JDBC MySQL Driver Adapter (235)*
>>>>>> Used by: 
>>>>>>  OPS4J Pax JDBC Config (12)
>>>>>> 
>>>>>> 
>>>>>> Kind Regards,
>>>>>> 
>>>>>> Erwin
>>>>> 
>>>>> -- 
>>>>> Jean-Baptiste Onofré
>>>>> [email protected] <mailto:[email protected]>
>>>>> <mailto:[email protected]>
>>>>> http://blog.nanthrax.net
>>>>> Talend - http://www.talend.com
>>>> 
>>> 
>>> -- 
>>> Jean-Baptiste Onofré
>>> [email protected] <mailto:[email protected]>
>>> http://blog.nanthrax.net
>>> Talend - http://www.talend.com
>> 
> 
> -- 
> Jean-Baptiste Onofré
> [email protected]
> http://blog.nanthrax.net
> Talend - http://www.talend.com

Reply via email to