MySql读写分离的配置(AOP)
来源:互联网 发布:绿色便携软件网站 编辑:程序博客网 时间:2024/05/06 05:21
MyBaties.xml配置
#db driver master option-------
master.jdbc.driver=com.mysql.jdbc.Driver
#db url
master.jdbc.url=jdbc:mysql://127.0.0.1:3307/p2p?useUnicode=true&characterEncoding=utf-8
#db username
master.jdbc.username=root
#db password
master.jdbc.password=
#db maxActive
master.jdbc.maxActive=2
#db minIdle
master.jdbc.minIdle=5
#db maxIdle
master.jdbc.maxIdle=5
#db driver slave option-------
slave.jdbc.driver=com.mysql.jdbc.Driver
#db url
slave.jdbc.url=jdbc:mysql://127.0.0.1:3308/p2p?useUnicode=true&characterEncoding=utf-8
#db username
slave.jdbc.username=root
#db password
slave.jdbc.password=
#db maxActive
slave.jdbc.maxActive=2
#db minIdle
slave.jdbc.minIdle=5
#db maxIdle
<!-- ███读写分离 --><!-- 配置主数据源 获取数据源 --><bean id="parentDataSource" class="org.apache.commons.dbcp.BasicDataSource"></bean><bean id="masterdataSource" parent="parentDataSource"><property name="driverClassName" value="${master.jdbc.driver}" /><property name="url" value="${master.jdbc.url}" /><property name="username" value="${master.jdbc.username}" /><property name="password" value="${master.jdbc.password}" /><!--maxActive: 最大连接数量 --><property name="maxActive" value="${master.jdbc.maxActive}" /><!--minIdle: 最小空闲连接 --><property name="minIdle" value="${master.jdbc.minIdle}" /><!--maxIdle: 最大空闲连接 --><property name="maxIdle" value="${master.jdbc.maxIdle}" /></bean><!-- 配置从数据源 获取数据源 --><bean id="slavedataSource" parent="parentDataSource"><property name="driverClassName" value="${slave.jdbc.driver}" /><property name="url" value="${slave.jdbc.url}" /><property name="username" value="${slave.jdbc.username}" /><property name="password" value="${slave.jdbc.password}" /><!--maxActive: 最大连接数量 --><property name="maxActive" value="${slave.jdbc.maxActive}" /><!--minIdle: 最小空闲连接 --><property name="minIdle" value="${slave.jdbc.minIdle}" /><!--maxIdle: 最大空闲连接 --><property name="maxIdle" value="${slave.jdbc.maxIdle}" /></bean> <!-- 配置数据源主从关系以及实现类 --><bean id="dataSource" class="com.jk.provide.aop.DynamicDataSource"><property name="targetDataSources"><map key-type="java.lang.String"> <entry key="slave" value-ref="slavedataSource"/></map></property><property name="defaultTargetDataSource" ref="masterdataSource"></property></bean> <!-- 配置数据源切换 --><bean id="dataSourceAdvice" class="com.jk.provide.aop.DataSourceAdvice"/><aop:config><aop:advisor pointcut="execution(* com.jk.provide.service..*Impl.*(..))" advice-ref="dataSourceAdvice"/></aop:config><!-- ███读写分离 -->
JDBC配置
#db driver master option-------master.jdbc.driver=com.mysql.jdbc.Driver#db urlmaster.jdbc.url=jdbc:mysql://127.0.0.1:3307/p2p?useUnicode=true&characterEncoding=utf-8#db usernamemaster.jdbc.username=root#db passwordmaster.jdbc.password=#db maxActivemaster.jdbc.maxActive=2#db minIdlemaster.jdbc.minIdle=5#db maxIdlemaster.jdbc.maxIdle=5#db driver slave option-------slave.jdbc.driver=com.mysql.jdbc.Driver#db urlslave.jdbc.url=jdbc:mysql://127.0.0.1:3308/p2p?useUnicode=true&characterEncoding=utf-8#db usernameslave.jdbc.username=root#db passwordslave.jdbc.password=#db maxActiveslave.jdbc.maxActive=2#db minIdleslave.jdbc.minIdle=5#db maxIdle
Mybaties中切面类的具体写法
package com.jk.provide.aop;import java.lang.reflect.Method;import org.springframework.aop.AfterReturningAdvice;import org.springframework.aop.MethodBeforeAdvice;import org.springframework.aop.ThrowsAdvice;/** * @author 作者 lxx: * @version 创建时间:2017年11月19日 下午12:17:19 * 类说明 */public class DataSourceAdvice implements MethodBeforeAdvice,AfterReturningAdvice,ThrowsAdvice {@Overridepublic void before(Method method, Object[] args, Object target) throws Throwable {System.out.println("切入点:"+target.getClass().getName()+"类中 "+method.getName()+"方法");//指定xx开头名,走主库if(method.getName().startsWith("add")||method.getName().startsWith("save")){System.out.println("切换到主数据源");DataSourceSwitcher.setMater();}else {//指定xx开头名,走从库if(method.getName().startsWith("get")||method.getName().startsWith("query")){System.out.println("切换到:slave");DataSourceSwitcher.setSlave();}}}@Overridepublic void afterReturning(Object arg0, Method arg1, Object[] arg2, Object arg3) throws Throwable {}public void afterThrowing(Method method, Object[] args, Object target,Exception ex) throws Throwable{DataSourceSwitcher.setSlave();System.out.println("出现异常切换到slave");}}
阅读全文
0 0
- MySql读写分离的配置(AOP)
- springmvc配置mysql数据库读写分离(基于注解aop)加上(搭建mysql主从同步)
- Mysql读写分离配置
- mysql读写分离配置
- mysql读写分离配置
- Mysql读写分离配置
- 配置mysql读写分离
- 基于MySQL-Proxy的读写分离配置
- mysql读写分离的完整配置
- mycat配置mysql简单的读写分离
- mysql数据库的主从配置读写分离
- AOP的动态数据源配置,实现读写分离
- Spring AOP 实现读写分离(MySQL实现主从复制)
- CentOS7,MySQL主从配置和读写分离(MySQL主从、MySQL读写分离、MySQL分布式、数据库读写分离、主从配置)
- mysql配置读写分离配置
- 【spring】spring AOP实现mysql读写分离
- Mysql的读写分离
- mysql的读写分离
- js获取input file的扩展名和文件名(支持IE8)
- 【Scikit-Learn 中文文档】无监督学习: 寻求数据表示
- java集合家族
- 小白也能彻底理解js中this的指向问题
- ActiveMQ——3.可靠消息的发送与持久化
- MySql读写分离的配置(AOP)
- 定时器中断彩灯控制程序
- Ubuntu vi 上下左右变ABCD及 apt-get install报错问题解决方法
- springmvc dubbo 整合 cms 内容发布平台 ios android
- Oracle修改字段类型方法总结
- 【C语言】 C 语言 关键字分析 ( 属性关键字 | 常量关键字 | 结构体关键字 | 联合体关键字 | 枚举关键字 | 命名关键字 | 杂项关键字)
- Log4j 的详细介绍
- 项目里程碑
- 异常的运用