配置双数据源出错,求大神
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
<context:annotation-config />
<!-- 自动扫描Dao -->
<context:component-scan base-package="com.yunyueweixin.dao"></context:component-scan>
<!-- 自动扫描Service -->
<context:component-scan base-package="com.yunyueweixin.services"></context:component-scan>
<!-- 自动扫描Action -->
<context:component-scan base-package="com.yunyueweixin.action"></context:component-scan>
<!-- 配置数据源 -->
<context:property-placeholder
location="classpath:druid.properties,classpath:redis.properties" />
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close">
<!-- 数据库基本信息配置 -->
<property name="driverClassName" value="${druid.driverClassName}" />
<property name="url" value="${druid.url}" />
<property name="username" value="${druid.username}" />
<property name="password" value="${druid.password}" />
<property name="connectionInitSqls" value="${druid.initConnectionSqls}" />
<!-- 初始化连接数 -->
<property name="initialSize" value="${druid.initialSize}" />
<!-- 最小空闲连接数 -->
<property name="minIdle" value="${druid.minIdle}" />
<!-- 最大并发连接数 -->
<property name="maxActive" value="${druid.maxActive}" />
<!-- 配置获取连接等待超时的时间,单位是毫秒 -->
<property name="maxWait" value="${druid.maxWait}" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="${druid.timeBetweenEvictionRunsMillis}" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="${druid.minEvictableIdleTimeMillis}" />
<property name="validationQuery" value="${druid.validationQuery}" />
<property name="testWhileIdle" value="${druid.testWhileIdle}" />
<property name="testOnBorrow" value="${druid.testOnBorrow}" />
<property name="testOnReturn" value="${druid.testOnReturn}" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小(Oracle使用) <property name="poolPreparedStatements"
value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize"
value="20" /> -->
<!-- 配置监控统计拦截的filters -->
<property name="filters" value="${druid.filters}" />
</bean>
<!-- 配置Jdbc模板 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!--5 采用@Transactional注解方式使用事务 -->
<tx:annotation-driven transaction-manager="txManager" />
<!-- 配置oracle数据源开始 -->
<bean id="dataSourceOracle" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close">
<!--数据库基本信息配置 -->
<property name="driverClassName" value="${druid.driverClassNameForOracle}" />
<property name="url" value="${druid.urlForOracle}" />
<property name="username" value="${druid.usernameForOracle}" />
<property name="password" value="${druid.passwordForOracle}" />
<property name="connectionInitSqls" value="${druid.initConnectionSqls}" />
<!--初始化连接数 -->
<property name="initialSize" value="${druid.initialSize}" />
<!--最小空闲连接数 -->
<property name="minIdle" value="${druid.minIdle}" />
<!--最大并发连接数 -->
<property name="maxActive" value="${druid.maxActive}" />
<!--配置获取连接等待超时的时间,单位是毫秒 -->
<property name="maxWait" value="${druid.maxWait}" />
<!--配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="${druid.timeBetweenEvictionRunsMillis}" />
<!--配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="${druid.minEvictableIdleTimeMillis}" />
<property name="validationQuery" value="${druid.validationQuery}" />
<property name="testWhileIdle" value="${druid.testWhileIdle}" />
<property name="testOnBorrow" value="${druid.testOnBorrow}" />
<property name="testOnReturn" value="${druid.testOnReturn}" />
<!--打开PSCache,并且指定每个连接上PSCache的大小(Oracle使用) -->
<property name="poolPreparedStatements"
value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize"
value="20" />
<!-- 配置监控统计拦截的filters -->
<property name="filters" value="${druid.filters}" />
</bean>
<!-- 配置Jdbc模板 -->
<bean id="jdbcTemplateOracle" class="org.springframework.jdbc.core.JdbcTemplate" >
<property name="dataSource" ref="dataSourceOracle"></property>
</bean>
<bean id="txManagerOracle"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSourceOracle" />
</bean>
<!--5 采用@Transactional注解方式使用事务 -->
<tx:annotation-driven transaction-manager="txManagerOracle" />
<!-- 配置oracle数据源结束 -->
<!-- redis配置 -->
<bean id="redisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="${redis.pool.maxIdle}" /> <!-- 最大能够保持idel状态的对象数 -->
<property name="maxTotal" value="${redis.pool.maxTotal}" /> <!-- 最大分配的对象数 -->
<property name="maxWaitMillis" value="${redis.pool.maxWaitMillis}" /> <!-- 当池内没有返回对象时,最大等待时间(毫秒) -->
<property name="testOnBorrow" value="${redis.pool.testOnBorrow}" /> <!-- 当调用borrow Object方法时,是否进行有效性检查 -->
</bean>
<bean id="redisConFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.ip}" />
<property name="port" value="${redis.port}" />
<property name="password" value="${redis.password}" />
<property name="usePool" value="true" />
<property name="poolConfig" ref="redisPoolConfig" />
</bean>
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="redisConFactory" />
<property name="keySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="valueSerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="HashKeySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer"></bean>
</property>
<property name="HashValueSerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer"></bean>
</property>
</bean>
</beans>
...全文
相关推荐
Spring Boot多数据源(JdbcTemplate)配置与使用
配置数据源:在`application.properties`或`application.yml`中为每个数据源定义配置。
配置ODBC用户数据源
虽然这种方法可以直接操作底层注册表,但对于开发者而言,这种方式较为复杂且容易出错。#### 方法二:使用ODBC API使用ODBC API是一种更为推荐的方式,因为它更加高效且易于维护。
ODBC数据源自动配置与测试方法的实现
然而,在实际应用中,经常需要手动配置ODBC数据源,尤其是在系统重装或数据库路径改变的情况下,这不仅耗时且容易出错。因此,实现ODBC数据源的自动配置对于提高软件的可用性和可维护性具有重要意义。
Mybatis-Spring连接mysql 8.0配置步骤出错的解决方法
Mybatis-Spring连接mysql 8.0配置步骤出错的解决方法在本文中,我们将详细介绍Mybatis-Spring连接mysql 8.0配置步骤出错的解决方法,并提供了一定的参考价值。
Spring 数据源的灵活配置巧应用
这种方式不仅繁琐,而且容易出错。而Spring框架提供了对数据源的支持,使得开发者可以更加专注于业务逻辑的编写,而非底层的连接管理和事务处理。


