ActiveMQ4.1 +Spring2.0的POJO JMS方案(Jencks+持久化 版)
Posted on 2006-12-18 21:44 Dr.Water 閱讀(1017) 評(píng)論(0) 編輯 收藏 所屬分類: SpringSide在ActiveMQ4.1 +Spring2.0的POJO JMS方案(Jencks 版)?基礎(chǔ)上增加了按照spring 2.0 新方式的持久化配置
在<amq:broker>里面增加了
?
??
<amq:persistenceAdapter>
????????????<amq:jdbcPersistenceAdapter?id="jdbcAdapter"?dataSource="#hsql-ds"?createTablesOnStartup="true"?useDatabaseLock="false"/>
????????????<!--?
????????????????Mysql?can?setup?useDatabaseLock="true",this?is?defualt
????????????????HSQLDB,MSSQL?plz?setup?useDatabaseLock="false",
????????????????if?u?setup?useDatabaseLock="true",u?will?catch?error:
????????????????MSSQL?Error?Info:FOR?UPDATE?clause?allowed?only?for?DECLARE?CURSOR?
????????????????HSQLDB?Error?Info:FOR?in?statement?[SELECT?*?FROM?ACTIVEMQ_LOCK?FOR?UPDATE]

????????????????see?http://www.nabble.com/ActiveMQ-JDBC-Persistence-with-SQL-Server-tf2022248.html#a5560296
????????????-->
????????</amq:persistenceAdapter>
請(qǐng)注意MSSQL(2000/2005)和HSQL由于不支持[SELECT? * ACTIVEMQ_LOCK FOR UPDATE ]
語(yǔ)法,因此不能使用默認(rèn)的userDatabaseLock="true",只能設(shè)置成useDatabaseLock="false"
時(shí)在spring里面配置了多個(gè)數(shù)據(jù)源
1.SpringSide 使用內(nèi)嵌的HSQL
?<!--?The?HSQL?Datasource?that?will?be?used?by?the?Broker?-->
????<bean?id="hsql-ds"?class="org.apache.commons.dbcp.BasicDataSource"?destroy-method="close">
????????<property?name="driverClassName">
????????????<value>org.hsqldb.jdbcDriver</value>
????????</property>
????????<property?name="url">
????????????<!--springside?use?HSQL,table?info?see?hsql/activemq.script-->
????????????<value>jdbc:hsqldb:res:hsql/activemq</value>
????????</property>
????????<property?name="username">
????????????<value>sa</value>
????????</property>
????????<property?name="password">
????????????<value></value>
????????</property>
????????<property?name="poolPreparedStatements">
????????????<value>true</value>
????????</property>
????</bean>
2.MySql
?<!--?MySql?DataSource?Sample?Setup?-->
????<bean?id="mysql-ds"?class="org.apache.commons.dbcp.BasicDataSource"?destroy-method="close">
????????<property?name="driverClassName">
????????????<value>com.mysql.jdbc.Driver</value>
????????</property>
????????<property?name="url">
????????????<value>jdbc:mysql://localhost/myproject?relaxAutoCommit=true</value>
????????</property>
????????<property?name="username">
????????????<value>activemq</value>
????????</property>
????????<property?name="password">
????????????<value>activemq</value>
????????</property>
????</bean>
3.MSSQL
<!--?The?MSSQL?Datasource?Sample?Setup?-->
????<bean?id="mssql-ds"?class="org.apache.commons.dbcp.BasicDataSource"?destroy-method="close">
????????<property?name="driverClassName">
????????????<value>net.sourceforge.jtds.jdbc.Driver</value>
????????</property>
????????<property?name="url">
????????????<value>jdbc:jtds:sqlserver://127.0.0.1:1433/YourDataBase</value>
????????</property>
????????<property?name="username">
????????????<value>yourusername</value>
????????</property>
????????<property?name="password">
????????????<value>youruserpassword</value>
????????</property>
????????<property?name="poolPreparedStatements">
????????????<value>true</value>
????????</property>
????</bean>????
在<amq:broker>里面增加了
?
??












請(qǐng)注意MSSQL(2000/2005)和HSQL由于不支持[SELECT? * ACTIVEMQ_LOCK FOR UPDATE ]
語(yǔ)法,因此不能使用默認(rèn)的userDatabaseLock="true",只能設(shè)置成useDatabaseLock="false"
時(shí)在spring里面配置了多個(gè)數(shù)據(jù)源
1.SpringSide 使用內(nèi)嵌的HSQL



















2.MySql















3.MSSQL

















