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

Reply via email to