A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© y6814365 中级黑马   /  2018-5-11 10:58  /  820 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这里用mysql进行持久化,其他的都差不多

第一步:将MySQL的数据库驱动复制到activeMQ的lib目录下 (需要jar包找我)


第二步:在${activemq.base}/conf/activemq.xml文件中配置持久化适配器
createTablesOnStartup="false"    创建表
useDatabaseLock="false"    上锁(问题2)
<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="${activemq.base}/data" dataSource="#derby-ds"/>
</persistenceAdapter>

第三步:在${activemq.base}/conf/activemq.xml文件中配置数据源
<bean id="derby-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
配置会出现的问题:
1. Caused by: org.xml.sax.SAXParseException; lineNumber: 92; columnNumber: 92; cvc-complex-type.2.4.a: 发现了以 元素 'bean' 开头的无效内容。应以 '{"http://activemq.apache.org/schema/core":adminView,
...
WC[##other:"http://activemq.apache.org/schema/core"]}' 之一开头。
解决方案:
把bean放到 bean 标签那块


2. Failed to acquire lock.  Sleeping for 10000 milli(s) before trying again...
解决方案:
useDatabaseLock="false"    配置
<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="${activemq.base}/data" dataSource="#derby-ds"   useDatabaseLock="false"   />
</persistenceAdapter>

3.ActiveMQ添加了mysql的持久化后,发了消息,但是MSGS表中没有记录. 请看下一篇文章

五、ActiveMQ添加了mysql的持久化后,发了消息,但是MSGS表中没有记录

https://blog.csdn.net/mr_yangzc/article/details/80062162

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马