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. I understand the question now, and indeed, I do not. I am not sure how this could/should solve this issue though. I doesn’t seem to matter in which order these bundles are installed.
Erwin > > 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 >
