Freeman, yep this was one of the blogs I ran into. Since I wasn't repackaging a JAR, I couldn't quite follow what you had.
On Thu, Nov 21, 2013 at 9:24 PM, Freeman Fang <[email protected]> wrote: > 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 >
