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]. > >