初學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的版本。

這個是剛剛學習的遇到的一個問題,如有表述不當的大家指正咯!

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