日期:2014-05-17  浏览次数:20693 次

不显示删除回复显示所有回复显示星级回复显示得分回复 spring和Hibernate使用动态数据源AbstractRoutingDataSource出问题
这是我写的一个测试例子,程序要求在test和tests两个库中切换,spring主要配置如下:
<bean id="ParentDataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="driver" >
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="user">
<value>root</value>
</property>
<property name="password" >
<value>123</value>
</property>
<!-- 最少保持的空闲连接数 (默认5个)-->
<property name="prototypeCount">
<value>5</value>
</property>
<!-- 最大连接数 (默认15个)指因没有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受 -->
<property name="maximumConnectionCount">
<value>100</value>
</property>
<!-- 最小连接数 (默认5个) -->
<property name="minimumConnectionCount">
<value>15</value>
</property>
<!-- 侦察时间间隔 proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->
<property name="houseKeepingSleepTime">
<value>604800</value>
</property>
<!-- 测试的SQL执行语句 -->
<property name="houseKeepingTestSql">
<value>select CURRENT_DATE</value>
</property>
<!-- 执行语句是否要记录 -->
<property name="trace">
<value>false</value>
</property>
<!-- 记录执行的详细信息 -->
<property name="verbose">
<value>false</value>
</property>
<!-- 最大活动时间(超过此时间线程将被kill,默认为5分钟) -->
<property name="maximumActiveTime">
<value>5</value>
</property>
</bean>
  <bean id="DataSourcetest" parent="ParentDataSource">
  <property name="driverUrl">
  <value>jdbc:mysql://127.0.0.1:3306/test?user=root&amp;password=123&amp;useUnicode=true&amp;characterEncoding=utf-8</value>
  </property>
  </bean>
  <bean id="DataSourcetests" parent="ParentDataSource">
  <property name="driverUrl">
  <value>jdbc:mysql://127.0.0.1:3306/tests?user=root&amp;password=123&amp;useUnicode=true&amp;characterEncoding=utf-8</value>
  </property>
  </bean>
  <bean id="dynamicDataSource" class="com.test.datasource.DynamicDataSource">
  <property name="targetDataSources">
  <map key-type="java.lang.String">
  <entry value-ref="DataSourcetest" key="test"></entry>
  <entry value-ref="DataSourcetests" key="tests"></entry>
  </map>
  </property>
  <property name="defaultTargetDataSource" ref="DataSourcetests"></property>
  </bean>
  <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource">
  <ref bean="dynamicDataSource"/>
  </property>
  <property name="hibernateProperties">
  <props>
  <prop key="hibernate.dialect">org.hibernate.