初学activeMQ 持久化的问题(一)

这两天开始接触学习activeMQ,基础的学习那些我就不论述了,网上也很多资料,我现在是把自己学习中遇到的问题记录下来,我学习到持久化相关的问题。我学习的是mysql数据库,其他数据库配置网上也方法就上网搜了一下方法,基本的是配置activemq.xml。

配置如下:

<persistenceAdapter>
 <kahaDB directory="${activemq.data}/kahadb"/>
 </persistenceAdapter>

把这个改成

   <persistenceAdapter>
       <jdbcPersistenceAdapter dataDirectory="${activemq.data}" dataSource="#derby-ds"/>
    </persistenceAdapter>

然后在配置文件中的broker节点外增加:

<bean id="derby-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
		    <property name="url" value="jdbc:mysql://localhost:3306/activemq?relaxAutoCommit=true"/>
		    <property name="username" value="root"/>
		    <property name="password" value="root"/>
		    <property name="maxActive" value="200"/>
		    <property name="poolPreparedStatements" value="true"/>
</bean>
activemq 是你的数据库名字,要在数据库添加。这个配置也可以在conf/activemq-jdbc.xml下找到复制过去。
在把mysql-connector-java-commercial-5.1.25-bin.jar放入lib文件中
然后启动activemq.bat文件。我的是64位的,就启动64位文件夹里面的activemq.bat。
<strong><span style="color:#ff0000;">启动之后一闪就关了,报错了。数据库也没有生成表。报错截图如下:</span></strong>
<strong><span style="color:#ff0000;">
</span></strong>


信息大概是这样的

at org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport 
.java:27) 
        at org.apache.activemq.broker.BrokerFactory.createBrokerFactoryHandler(B 
rokerFactory.java:43) 
        at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.j 
ava:70) 
        at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.j 
ava:54) 
        at org.apache.activemq.console.command.StartCommand.startBroker(StartCom 
mand.java:115) 
        at org.apache.activemq.console.command.StartCommand.runTask(StartCommand 
.java:74) 
        ... 10 more 
Caused by: java.lang.NoClassDefFoundError: org/springframework/core/io/FileSyste 
mResource 

我就找原因,找了好多;也看了下配置;也没有错;后面看到了报spring相关的错误。想是不是缺少了spring相关的包。

然后就把spring相关的包放入lib文件夹里面。在重新启动;ok!!好了可以了。

至此持久化的第一步完成了;看看数据库也生成了三张表了。!!


所以在持久化的时候大家也还是看看不要忘记加入了spring的包。因为网上的方法大都是只是说了配置文件跟加入mysql链接相关的包。apache-activemq-5.8.0文件也自带了spring的包;但是就是不行;要把它放入lib文件夹里面才行。

顺带说一下我下载的是apache-activemq-5.8.0的版本。

这个是刚刚学习的遇到的一个问题,如有表述不当的大家指正咯!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章