HI Oliver,

I will check for next PAX JDBC (maybe SMX bundle) release.

I will keep you posted.

Regards
JB

> Le 15 oct. 2021 à 08:38, Oliver Fürniß <oliver.fuern...@virtimo.de> a écrit :
> 
> Hi JB,
> 
> > Let me provide a wrapping to you as workaround.
> Would be great if you would provide a workaround. :-)
> 
> Oliver
> 
> Am Do., 7. Okt. 2021 um 11:01 Uhr schrieb Jean-Baptiste Onofré 
> <j...@nanthrax.net>:
> Hi Oliver,
> 
> I think that the Oracle driver headers are not fully correct.
> 
> Let me provide a wrapping to you as workaround.
> 
> Regards
> JB
> 
> On 07/10/2021 10:52, Oliver Fürniß wrote:
> > 
> > Hi John,
> > 
> > Thanks for your response. I tried your suggestion, but it does not work 
> > due to a wiring error when I try to install the bundle:
> > 
> > bundle:install -s mvn:org.ops4j.pax.jdbc/pax-jdbc-oracle/1.5.0
> > Bundle ID: 266
> > Error executing command: Error installing bundles:
> > Unable to start bundle mvn:org.ops4j.pax.jdbc/pax-jdbc-oracle/1.5.0: 
> > org.osgi.framework.BundleException: Unable to resolve 
> > org.ops4j.pax.jdbc.oracle [266](R 266.0): missing requirement 
> > [org.ops4j.pax.jdbc.oracle [266](R 266.0)] osgi.wiring.package; 
> > (osgi.wiring.package=oracle.jdbc.datasource.impl) Unresolved 
> > requirements: [[org.ops4j.pax.jdbc.oracle [266](R 266.0)] 
> > osgi.wiring.package; (osgi.wiring.package=oracle.jdbc.datasource.impl)]
> > 
> > In the pax-jdbc-oracle-1.5.0.jar/META-INF/MANIFEST.MF is an 
> > Import-Package statement for the "oracle.jdbc.datasource.impl" package, 
> > but this package does not exist in older Oracle JDBC drivers. Just in 
> > the latest. :-(
> > 
> > Oliver
> > 
> > Am Mi., 6. Okt. 2021 um 17:24 Uhr schrieb John Taylor 
> > <jtt77...@gmail.com <mailto:jtt77...@gmail.com>>:
> > 
> >     Hi Oliver,
> >     I had the same problem with mssql-jdbc.
> >     But it's not exactly the same because the pax-jdbc-mssql feature
> >     only depends on pax-jdbc-spec and only includes the driver
> >     mvn:com.microsoft. . .    And that means there's no wrapper around
> >     the driver needed for osgi and nothing is needed specially to
> >     configure it from pax.
> > 
> >     But the pax-jdb-oracle feature includes the driver from oracle
> >     (wrapped as wrap:mvn: because it's not an osgi bundle) and a wrapper
> >     from pax mvn:org.ops4j.pax.jdbc/pax-jdbc-oracle/1.5.0
> > 
> >     So you could try not installing the bundle and just install the
> >     pax-jdbc-spec and the mvn:org.ops4j.pax.jdbc bundle along with the
> >     driver jar you put in deploy.
> > 
> >     -John
> > 
> >     On Wed, Oct 6, 2021 at 11:13 AM Oliver Fürniß
> >     <oliver.fuern...@virtimo.de <mailto:oliver.fuern...@virtimo.de>> wrote:
> > 
> >         Hello,
> > 
> >         I'm trying to upgrade from Karaf 4.2.8 to 4.3.3.
> > 
> >         With 4.2.8 I was able to place the required Oracle driver to the
> >         deploy-folder and do a "feature:install pax-jdbc-oracle". With
> >         4.3.3 it seems to be a little bit different. When I place the
> >         ojdbc6.jar or ojdbc7.jar or ojdbc8.jar in the deploy folder I
> >         will get the error below (at the end) after "feature:install
> >         pax-jdbc-oracle".
> > 
> >         It works when I do not place a specific Oracle driver to the
> >         deploy folder and just do "feature:install pax-jdbc-oracle". In
> >         this case it installs the latest Oracle driver by using maven.
> > 
> >         This is different to 4.2.8 and not the expected behaviour. IMO
> >         the latest Oracle driver cannot be used for all Oracle versions.
> >         Even Oracle provides specific downloads of their JDBC driver for
> >         different DB versions:
> >         
> > https://www.oracle.com/de/database/technologies/appdev/jdbc-downloads.html
> >         
> > <https://www.oracle.com/de/database/technologies/appdev/jdbc-downloads.html>
> > 
> >         In the ops4j features.xml file details is written, that "This
> >         feature requires actual Oracle JDBC driver installed",
> >         which conflicts with the auto bundle dependency installation of
> >         the latest Oracle driver. This line does not exist in 4.2.8.
> > 
> >         <feature name="pax-jdbc-oracle" description="Provides JDBC
> >         Oracle DataSourceFactory" version="${project.version}">
> > 
> >              <details>This feature requires actual Oracle JDBC driver 
> > installed</details>
> >              <feature>pax-jdbc-spec</feature>
> > 
> >              <bundle 
> > dependency="true">wrap:mvn:com.oracle.database.jdbc/ojdbc8/${version.com.oracle.database.jdbc}</bundle>
> >              
> > <bundle>mvn:org.ops4j.pax.jdbc/pax-jdbc-oracle/${project.version}</bundle>
> >         </feature>
> > 
> >         Is there a reason why the latest and not with all Oracle
> >         versions compatible driver gets installed? Am I able to install
> >         somehow a different version of the Oracle driver?
> > 
> >         All the best,
> >           Oliver
> > 
> > 
> >         karaf@root()> feature:install pax-jdbc-oracle
> >         org.apache.karaf.features.internal.util.MultiException: Error
> >         restarting bundles:
> >         Activator start error in bundle org.ops4j.pax.jdbc.oracle [223].
> >         at
> >         
> > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1049)
> >         at
> >         
> > org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069)
> >         at
> >         
> > org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004)
> >         at
> >         java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> >         at
> >         
> > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> >         at
> >         
> > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> >         at java.base/java.lang.Thread.run(Thread.java:829)
> >         Suppressed: org.osgi.framework.BundleException: Activator start
> >         error in bundle org.ops4j.pax.jdbc.oracle [223].
> >         at org.apache.felix.framework.Felix.activateBundle(Felix.java:2452)
> >         at org.apache.felix.framework.Felix.startBundle(Felix.java:2308)
> >         at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
> >         at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)
> >         at
> >         
> > org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165)
> >         at
> >         
> > org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1160)
> >         at
> >         
> > org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1041)
> >         ... 6 more
> >         Caused by: java.lang.NoClassDefFoundError:
> >         oracle/jdbc/internal/Monitor
> >         at java.base/java.lang.ClassLoader.defineClass1(Native Method)
> >         at
> >         java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2312)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClassParallel(BundleWiringImpl.java:2130)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2064)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1533)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:78)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1950)
> >         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1343)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1586)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1516)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:78)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1950)
> >         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
> >         at org.ops4j.pax.jdbc.oracle.impl.Activator.start(Activator.java:29)
> >         at
> >         
> > org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:698)
> >         at org.apache.felix.framework.Felix.activateBundle(Felix.java:2402)
> >         ... 12 more
> >         Caused by: java.lang.ClassNotFoundException:
> >         oracle.jdbc.internal.Monitor not found by ojdbc7.jar [222]
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1565)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:78)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1950)
> >         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1343)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1586)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1516)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:78)
> >         at
> >         
> > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1950)
> >         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
> >         ... 30 more
> >         Error executing command: Error restarting bundles:
> >         Activator start error in bundle org.ops4j.pax.jdbc.oracle [223].
> > 

Reply via email to