Yep, FYI, I've write a blog[1] to explain more about this issue [1]http://freemanfang.blogspot.com/2012/03/how-to-use-jdbc-driver-in-osgi.html ------------- Freeman(Yue) Fang
Red Hat, Inc. FuseSource is now part of Red Hat On 2013-11-22, at 上午10:21, John D. Ament wrote: > nevermind, turns out I need to turn on dev:dynamic-import for dbcp. > > On Thu, Nov 21, 2013 at 9:14 PM, John D. Ament <[email protected]> wrote: >> Hi all >> >> I'm trying to enable MySQL support for ActiveMQ persistence. >> Following a few blog posts I found, I ended up installing a few >> modules. I added dbcp and mysql drivers to my installation. I tried >> playing around my module setup in activemq-broker.xml, changing these >> lines: >> >> >> However, I end up with this stack trace. Makes me think that DBCP >> isn't able to see MySQL. >> >> 2013-11-21 21:08:45,347 | ERROR | rint Extender: 1 | >> BlueprintContainerImpl | 10 - org.apache.aries.blueprint - >> 0.3.2 | Unable to start blueprint container for bundl >> e activemq-broker.xml >> org.osgi.service.blueprint.container.ComponentDefinitionException: >> Unable to intialize bean broker >> at >> org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:640)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:726)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:60)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BeanRecipe.instantiateExplicitDependencies(BeanRecipe.java:181)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:706)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:60)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:813)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:787)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:768)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:722)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:631)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:337)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:230)[10:org.apache.aries.blueprint:0.3.2] >> at >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_45] >> at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_45] >> at >> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)[:1.7.0_45] >> at >> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)[:1.7.0_45] >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_45] >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_45] >> at java.lang.Thread.run(Thread.java:744)[:1.7.0_45] >> Caused by: java.io.IOException: Cannot load JDBC driver class >> 'com.mysql.jdbc.Driver' >> at >> org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:45) >> at >> org.apache.activemq.store.jdbc.TransactionContext.getConnection(TransactionContext.java:65) >> at >> org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.loadAdapter(JDBCPersistenceAdapter.java:440) >> at >> org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.createAdapter(JDBCPersistenceAdapter.java:423) >> at >> org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.getAdapter(JDBCPersistenceAdapter.java:368) >> at >> org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.init(JDBCPersistenceAdapter.java:289) >> at >> org.apache.activemq.broker.LockableServiceSupport.preStart(LockableServiceSupport.java:79) >> at >> org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:54) >> at >> org.apache.activemq.broker.BrokerService.doStartPersistenceAdapter(BrokerService.java:623) >> at >> org.apache.activemq.broker.BrokerService.startPersistenceAdapter(BrokerService.java:612) >> at >> org.apache.activemq.broker.BrokerService.start(BrokerService.java:577) >> at >> org.apache.activemq.broker.BrokerService.autoStart(BrokerService.java:539) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native >> Method)[:1.7.0_45] >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_45] >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_45] >> at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_45] >> at >> org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:225)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:838)[10:org.apache.aries.blueprint:0.3.2] >> at >> org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:638)[10:org.apache.aries.blueprint:0.3.2] >> ... 26 more >> Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot load >> JDBC driver class 'com.mysql.jdbc.Driver' >> at >> org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1142) >> at >> org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:881) >> at >> org.apache.activemq.store.jdbc.TransactionContext.getConnection(TransactionContext.java:58) >> ... 43 more >> Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver >> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)[:1.7.0_45] >> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)[:1.7.0_45] >> at java.security.AccessController.doPrivileged(Native >> Method)[:1.7.0_45] >> at >> java.net.URLClassLoader.findClass(URLClassLoader.java:354)[:1.7.0_45] >> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)[:1.7.0_45] >> at >> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)[:1.7.0_45] >> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_45] >> at >> org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1135) >> ... 45 more >> >> Any thoughts? >> >> John
