posts - 9, comments - 8, trackbacks - 0, articles - 3
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
ActiveMQ4.1 +Spring2.0的POJO JMS方案(Jencks 版) 基础上增加了按照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>


请注意MSSQL(2000/2005)和HSQL由于不支持[SELECT  * ACTIVEMQ_LOCK FOR UPDATE ]
语法,因此不能使用默认的userDatabaseLock="true",只能设置成useDatabaseLock="false"

时在spring里面配置了多个数据源


1.SpringSide 使用内嵌的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>    

只有注册用户登录后才能发表评论。


网站导航: