修改activemq-jdbc.xml为activemq.xml
并修改内容
<jdbcPersistenceAdapter dataDirectory="${activemq.base}/data" dataSource="#derby-ds"/>
改为
<jdbcPersistenceAdapter dataDirectory="${activemq.base}/data" dataSource="#oracle-ds"/>
注释掉
<!--
<bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource">
<property name="databaseName" value="derbydb"/>
<property name="createDatabase" value="create"/>
</bean>
-->
打开注释并修改
<bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@192.168.19.254:1521:code"/>
<property name="username" value="nmmisscall"/>
<property name="password" value="nmmisscall"/>
<property name="maxActive" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
引入包到lib下
classes12.jar
commons-dbcp-1.4.jar
commons-pool-1.3.jar
启动activemq
启动Producer
数据库中会自动新建3张表,分别为ACTIVEMQ_MSGS、ACTIVEMQ_ACKS、ACTIVEMQ_LOCK。
以queue为例,数据会保存到ACTIVEMQ_MSGS,启动cusumer消息被处理之后,ACTIVEMQ_MSGS中的数据被清空。