Oh and one, more I think there is a redis OSGi client available from the servicemix bundles. Might want to look at that too. Could be that you need to split your application a lot faster then you thought :D
regards, Achim 2015-04-28 13:59 GMT+02:00 Achim Nierbeck <bcanh...@googlemail.com>: > hi Jurgen, > > a quick googling for Redis + OSGi gave me this [1]. > > Looks like someone is using jedis to connect to his redis server via > blueprint. > Might want to take a look at this. > > regards, Achim > > [1] - > https://github.com/sneakybeaky/jedis-osgi/blob/master/example-datasource/src/main/resources/OSGI-INF/blueprint/local-redis-datasource.xml > > 2015-04-28 13:56 GMT+02:00 Jurgen Voorneveld < > jurgen.voornev...@redsocks.nl>: > >> I have no idea how Redis uses this library, I haven't read the code. My >> code does this: >> >> new JedisPool(new JedisPoolConfig(), redis_driver[0], >> Integer.parseInt(redis_driver[1]), 1800, password); >> >> On 04/28/2015 01:41 PM, Guillaume Nodet wrote: >> > Not sure what the exact usage of command-pool is, but given the stack >> > trace, it could be that a class is loaded from its name (i suspect it >> > comes from the configuration). In such a case, to make it work in OSGi, >> > the correct class loader needs to be used, one can't rely on the thread >> > context class loader, or even the current class' classloader, which may >> > have no visibility to the package. >> > It may require a fix in some code loading the class to behave properly >> > in OSGi. >> > >> > 2015-04-28 13:31 GMT+02:00 Jurgen Voorneveld >> > <jurgen.voornev...@redsocks.nl <mailto:jurgen.voornev...@redsocks.nl>>: >> > >> > I couldn't get the Apache Commons Pool libary to load under Karaf >> so I >> > tried rewriting the app to use BoneCP instead of HikariCP. Bone >> doesn't >> > have this dependency. >> > >> > This appears to work. BoneCP does want to load. Unfortunately I also >> > have a Redis database which also has the dependency on Apache >> Commons >> > Pool. So I'm back to the same error just one line down in my code. >> > >> > It doesn't look like there are any alternative connection pool >> libraries >> > for Redis. >> > >> > I want to be able to connect to my Redis db using a connection pool, >> > anyone know how to do that? >> > >> > On 04/23/2015 05:14 PM, Jurgen Voorneveld wrote: >> > > I got the maven install to work and installed a bunch of bundles: >> > > >> > > karaf@root()> list >> > > START LEVEL 100 , List Threshold: 50 >> > > ID | State | Lvl | Version | Name >> > > >> > > >> > >> >> ----------------------------------------------------------------------------- >> > > 102 | Resolved | 80 | 2.3.0 | Apache Commons Pool >> > > >> > > 107 | Resolved | 80 | 2.3.6 | HikariCP >> > > >> > > 110 | Resolved | 80 | 3.19.0.GA <http://3.19.0.GA> | Javassist >> > > >> > > 111 | Resolved | 80 | 5.1.35 | Oracle Corporation's JDBC >> > Driver for >> > > MySQL >> > > 113 | Resolved | 80 | 01.00.46 | Analyzer >> > > >> > > >> > > Unfortunately this doesn't actually solve the problem. I'm still >> > getting >> > > the same error: >> > > >> > > Caused by: java.lang.ClassNotFoundException: >> > > org.apache.commons.pool2.impl.DefaultEvictionPolicy >> > > >> > > despite it existing in the exports list: >> > > >> > > karaf@root()> package:exports | grep commons >> > > org.apache.commons.pool2.impl | 2.3.0 | 102 | >> > > org.apache.commons.pool2 >> > > org.apache.commons.pool2.proxy | 2.3.0 | 102 | >> > > org.apache.commons.pool2 >> > > org.apache.commons.pool2 | 2.3.0 | 102 | >> > > org.apache.commons.pool2 >> > > >> > > and being included in the Import-Package in the manifest. >> > > >> > > running out of ideas... >> > > >> > > Jurgen >> > > >> > > On 04/23/2015 12:51 PM, Morgan Hautman wrote: >> > >> Sorry for the typo, it changed to "package" in Karaf 3. >> > >> >> > >> You should install one package that export this service too. >> > >> >> > >> Try this: install mvn:com.zaxxer/HikariCP/x.x.x (version you want >> > to use) >> > >> >> > >> Regards >> > >> Morgan >> > >> >> > >> On 23/04/2015 12:37, Jurgen Voorneveld wrote: >> > >>> Should have paid more attention. >> > >>> >> > >>> karaf@root()> package:exports | grep HikariConfig >> > >>> >> > >>> Returns empty. Which I guess makes sense; there is no library in >> > Karaf >> > >>> exporting these classes by default. >> > >>> But I don't see how that could make it fail. The class is >> > available in >> > >>> the bundle itself. >> > >>> >> > >>> For completeness this is the imports in the manifest: >> > >>> >> > >>> Import-Package: org.osgi.framework, javax.naming >> > >>> >> > >>> Jurgen >> > >>> >> > >>> On 04/23/2015 12:30 PM, Jurgen Voorneveld wrote: >> > >>>> Helo Morgan, >> > >>>> >> > >>>> I get this: >> > >>>> >> > >>>> karaf@root()> packages:exports | grep HikariConfig >> > >>>> pipe: org.apache.felix.gogo.runtime.CommandNotFoundException: >> > Command >> > >>>> not found: packages:exports >> > >>>> >> > >>>> I have no idea what this means. >> > >>>> >> > >>>> Jurgen >> > >>>> >> > >>>> On 04/23/2015 12:18 PM, Morgan Hautman wrote: >> > >>>>> Hello Jurgen, >> > >>>>> >> > >>>>> What do you get when you're doing a "packages:exports | grep >> > >>>>> HikariConfig"? >> > >>>>> >> > >>>>> Regards >> > >>>>> Morgan >> > >>>>> >> > >>>>> On 23/04/2015 11:58, Jurgen Voorneveld wrote: >> > >>>>>> Dear list, >> > >>>>>> >> > >>>>>> I have Apache Karaf installed on a production system here at >> > work and >> > >>>>>> I'm trying to install a bundle into it. This is fairly new to >> > me as >> > >>>>>> previously the code was simply running as standalone >> > applications. >> > >>>>>> >> > >>>>>> I'm getting an exception when I try to load the bundle: >> > >>>>>> >> > >>>>>> karaf@root()> list >> > >>>>>> START LEVEL 100 , List Threshold: 50 >> > >>>>>> ID | State | Lvl | Version | Name >> > >>>>>> ----------------------------------------- >> > >>>>>> 87 | Resolved | 80 | 01.00.27 | Analyzer >> > >>>>>> karaf@root()> start 87 >> > >>>>>> Error executing command: Error executing command on bundles: >> > >>>>>> Unable to execute command on bundle 87: Activator start >> > error in >> > >>>>>> bundle >> > >>>>>> nl.redsocks.farm.analyzer [87]. >> > >>>>>> karaf@root()> log:display >> > >>>>>> 2015-04-23 11:48:28,700 | ERROR | h for user karaf | >> ShellUtil >> > >>>>>> | 25 - org.apache.karaf.shell.console - >> 3.0.3 | >> > >>>>>> Exception >> > >>>>>> caught while executing command >> > >>>>>> org.apache.karaf.shell.console.MultiException: Error >> > executing command >> > >>>>>> on bundles: >> > >>>>>> Unable to execute command on bundle 87: Activator start >> > error in >> > >>>>>> bundle >> > >>>>>> nl.redsocks.farm.analyzer [87]. >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.shell.console.MultiException.throwIf(MultiException.java:92) >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.bundle.command.BundlesCommandWithConfirmation.doExecute(BundlesCommandWithConfirmation.java:58) >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.bundle.command.BundlesCommand.doExecute(BundlesCommand.java:50) >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.bundle.command.BundlesCommandWithConfirmation.doExecute(BundlesCommandWithConfirmation.java:41) >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.shell.console.AbstractAction.execute(AbstractAction.java:33)[25:org.apache.karaf.shell.console:3.0.3] >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:39)[25:org.apache.karaf.shell.console:3.0.3] >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.shell.commands.basic.AbstractCommand.execute(AbstractCommand.java:33)[25:org.apache.karaf.shell.console:3.0.3] >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> Proxy5f648166_9983_4f8f_acb1_23f0c1d1ea3b.execute(Unknown >> > >>>>>> Source)[:] >> > >>>>>> at >> Proxy5f648166_9983_4f8f_acb1_23f0c1d1ea3b.execute(Unknown >> > >>>>>> Source)[:] >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)[25:org.apache.karaf.shell.console:3.0.3] >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)[25:org.apache.karaf.shell.console:3.0.3] >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)[25:org.apache.karaf.shell.console:3.0.3] >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[25:org.apache.karaf.shell.console:3.0.3] >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)[25:org.apache.karaf.shell.console:3.0.3] >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[25:org.apache.karaf.shell.console:3.0.3] >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:92) >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.shell.console.impl.jline.ConsoleImpl.run(ConsoleImpl.java:208) >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.shell.ssh.ShellFactoryImpl$ShellImpl$1.runConsole(ShellFactoryImpl.java:158)[52:org.apache.karaf.shell.ssh:3.0.3] >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.shell.ssh.ShellFactoryImpl$ShellImpl$1$1.run(ShellFactoryImpl.java:133) >> > >>>>>> >> > >>>>>> >> > >>>>>> at java.security.AccessController.doPrivileged(Native >> > >>>>>> Method)[:1.8.0_25] >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.jaas.modules.JaasHelper.doAs(JaasHelper.java:57)[26:org.apache.karaf.jaas.modules:3.0.3] >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.shell.ssh.ShellFactoryImpl$ShellImpl$1.run(ShellFactoryImpl.java:129)[52:org.apache.karaf.shell.ssh:3.0.3] >> > >>>>>> >> > >>>>>> >> > >>>>>> Caused by: java.lang.Exception: Unable to execute command on >> > bundle >> > >>>>>> 87: >> > >>>>>> Activator start error in bundle nl.redsocks.farm.analyzer >> [87]. >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.bundle.command.BundlesCommandWithConfirmation.doExecute(BundlesCommandWithConfirmation.java:55) >> > >>>>>> >> > >>>>>> >> > >>>>>> ... 20 more >> > >>>>>> Caused by: org.osgi.framework.BundleException: Activator >> start >> > >>>>>> error in >> > >>>>>> bundle nl.redsocks.farm.analyzer [87]. >> > >>>>>> at >> > >>>>>> >> org.apache.felix.framework.Felix.activateBundle(Felix.java:2196) >> > >>>>>> at >> > org.apache.felix.framework.Felix.startBundle(Felix.java:2064) >> > >>>>>> at >> > >>>>>> >> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955) >> > >>>>>> at >> > >>>>>> >> org.apache.felix.framework.BundleImpl.start(BundleImpl.java:942) >> > >>>>>> at >> > >>>>>> >> > org.apache.karaf.bundle.command.Start.executeOnBundle(Start.java:27) >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.karaf.bundle.command.BundlesCommandWithConfirmation.doExecute(BundlesCommandWithConfirmation.java:53) >> > >>>>>> >> > >>>>>> >> > >>>>>> ... 20 more >> > >>>>>> Caused by: java.lang.NoClassDefFoundError: Could not >> > initialize class >> > >>>>>> com.zaxxer.hikari.HikariConfig >> > >>>>>> at >> > nl.redsocks.farm.common.services.MySQL.init(MySQL.java:29) >> > >>>>>> at >> > >>>>>> >> nl.redsocks.farm.analyzer.core.Analyzer.start(Analyzer.java:250) >> > >>>>>> at >> > >>>>>> >> > >> >> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645) >> > >>>>>> >> > >>>>>> >> > >>>>>> at >> > >>>>>> >> org.apache.felix.framework.Felix.activateBundle(Felix.java:2146) >> > >>>>>> ... 25 more >> > >>>>>> >> > >>>>>> karaf@root()> >> > >>>>>> >> > >>>>>> sorry for the wrapping. It looks like the problem is with >> > HikariCP; >> > >>>>>> "Caused by: java.lang.NoClassDefFoundError: Could not >> > initialize class >> > >>>>>> com.zaxxer.hikari.HikariConfig" >> > >>>>>> >> > >>>>>> I checked the jar and this class is in there. And the code >> also >> > >>>>>> functions without problems when run standalone. >> > >>>>>> >> > >>>>>> Right now I'm creating bundles by creating one massive jar >> > with all >> > >>>>>> dependencies packaged together. Perhaps I should try >> installing >> > >>>>>> HikariCP >> > >>>>>> as a library inside its own bundle? >> > >>>>>> >> > >>>>>> How can I solve the problem? >> > >>>>>> >> > >>>>>> thanks >> > >>>>>> Jurgen >> > >>>>>> >> > >>>>>> versions: >> > >>>>>> >> > >>>>>> $ java -version >> > >>>>>> java version "1.8.0_25" >> > >>>>>> Java(TM) SE Runtime Environment (build 1.8.0_25-b17) >> > >>>>>> Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed >> mode) >> > >>>>>> >> > >>>>>> $ uname -a >> > >>>>>> Linux farm 3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 >> > 11:16:15 UTC >> > >>>>>> 2015 >> > >>>>>> x86_64 x86_64 x86_64 GNU/Linux >> > >>>>>> >> > >>>>>> $ awk 'NR>=17&&NR<=20{print}NR>=21{exit}' RELEASE-NOTES >> > >>>>>> >> > >>>>>> Apache Karaf 3.0.3 >> > >>>>>> ================== >> > >>>>>> >> > >>>>>> >> > >> > >> > > > > -- > > Apache Member > Apache Karaf <http://karaf.apache.org/> Committer & PMC > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & > Project Lead > blog <http://notizblog.nierbeck.de/> > Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> > > Software Architect / Project Manager / Scrum Master > > -- Apache Member Apache Karaf <http://karaf.apache.org/> Committer & PMC OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead blog <http://notizblog.nierbeck.de/> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> Software Architect / Project Manager / Scrum Master