- 浏览: 460427 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (538)
- C/C++ Primer (69)
- Objective-C Primer (102)
- Python Primer (19)
- JavaScript Primer (1)
- Java Primer (37)
- PHP Primer (17)
- 泛 Linux (37)
- Shell Script (21)
- APUE (21)
- UNP__1&2 (19)
- NetWork (7)
- Oracle周边 (38)
- Mysql里边 (6)
- Windows技 (9)
- 简单算法 & 数据结构 (14)
- 设计模式 (6)
- GTK历程 (12)
- 工具使用 (25)
- 杂事 (23)
- 一些概念 (17)
- Web方面 (10)
- myCodeTools (9)
- ^未 竟$ (13)
- 硬件通信 (2)
- Games (1)
最新评论
private java.sql.Connection connectLoadBalanced(String url, Properties info) throws SQLException { Properties parsedProps = parseURL(url, info); // People tend to drop this in, it doesn't make sense parsedProps.remove("roundRobinLoadBalance"); if (parsedProps == null) { return null; } int numHosts = Integer.parseInt(parsedProps .getProperty(NUM_HOSTS_PROPERTY_KEY)); List hostList = new ArrayList(); for (int i = 0; i < numHosts; i++) { int index = i + 1; hostList.add(parsedProps.getProperty(HOST_PROPERTY_KEY + "." + index) + ":" + parsedProps.getProperty(PORT_PROPERTY_KEY + "." + index)); } LoadBalancingConnectionProxy proxyBal = new LoadBalancingConnectionProxy( hostList, parsedProps); return (java.sql.Connection) java.lang.reflect.Proxy.newProxyInstance( this.getClass().getClassLoader(), new Class[] { com.mysql.jdbc.Connection.class }, proxyBal); }
protected java.sql.Connection connectReplicationConnection(String url, Properties info) throws SQLException { Properties parsedProps = parseURL(url, info); if (parsedProps == null) { return null; } Properties masterProps = (Properties) parsedProps.clone(); Properties slavesProps = (Properties) parsedProps.clone(); // Marker used for further testing later on, also when // debugging slavesProps.setProperty("com.mysql.jdbc.ReplicationConnection.isSlave", "true"); int numHosts = Integer.parseInt(parsedProps .getProperty(NUM_HOSTS_PROPERTY_KEY)); if (numHosts < 2) { throw SQLError .createSQLException( "Must specify at least one slave host to connect to for master/slave replication load-balancing functionality", SQLError.SQL_STATE_INVALID_CONNECTION_ATTRIBUTE, null); } for (int i = 1; i < numHosts; i++) { int index = i + 1; masterProps.remove(HOST_PROPERTY_KEY + "." + index); masterProps.remove(PORT_PROPERTY_KEY + "." + index); slavesProps.setProperty(HOST_PROPERTY_KEY + "." + i, parsedProps .getProperty(HOST_PROPERTY_KEY + "." + index)); slavesProps.setProperty(PORT_PROPERTY_KEY + "." + i, parsedProps .getProperty(PORT_PROPERTY_KEY + "." + index)); } masterProps.setProperty(NUM_HOSTS_PROPERTY_KEY, "1"); slavesProps.remove(HOST_PROPERTY_KEY + "." + numHosts); slavesProps.remove(PORT_PROPERTY_KEY + "." + numHosts); slavesProps.setProperty(NUM_HOSTS_PROPERTY_KEY, String .valueOf(numHosts - 1)); slavesProps.setProperty(HOST_PROPERTY_KEY, slavesProps .getProperty(HOST_PROPERTY_KEY + ".1")); slavesProps.setProperty(PORT_PROPERTY_KEY, slavesProps .getProperty(PORT_PROPERTY_KEY + ".1")); return new ReplicationConnection(masterProps, slavesProps); }
发表评论
-
有空玩玩
2011-05-19 15:01 7491、有一个size1000的ector<int>, ... -
Java__ResourceBundle
2011-03-11 09:05 575http://blog.csdn.net/haiyan0106 ... -
日志类
2010-07-22 09:20 49log4c log4cpp log4j 都有源码,要学习学习 ... -
五子棋
2010-07-20 16:48 878copy:http://www.iteye.com/topic ... -
epoll精髓
2010-07-16 17:19 910copy:http://www.cnblogs.com/O ... -
Sed命令-正规则表达
2010-07-08 19:56 458原文地址:http://hi.baid ... -
linux下一个线程占用多少内存
2010-07-08 19:52 2418原文地址:http://blogger.org.cn/blog ... -
Linux__指令SYSCTL
2010-07-08 19:50 904原文地址:http://hi.baidu. ... -
Oracle redo undo commit rollback
2010-07-06 11:39 1105原文地址:http://blog.csdn.net/wh625 ... -
C++的const多种情况
2010-06-30 12:19 18http://blog.gisforum.net/u/2847 ... -
Oracle的优化器的RBO和CBO方式
2010-06-21 17:17 787原文地址:http://www.blogjava.net/wx ... -
C++ 用new 动态创建多维数组
2010-06-20 19:14 44http://blog.csdn.net/gabby1985/ ... -
Oracle__trunc函数
2010-06-13 18:46 662http://topic.csdn.net/t/2003010 ... -
C++ Virtual
2010-06-09 13:07 29稍后学习。。。 -
jetty
2010-05-31 14:37 42Web Server的东西 -
Class类
2010-05-29 09:00 15未竟未学习呢 -
Field类
2010-05-29 08:46 644java.lang.reflect.Field -
Linux代码自动排版
2010-05-25 15:41 85自动排版还是用vim 好输入ggvG==就行了 ... -
Linux文件传送命令scp
2010-05-25 15:38 1220Linux文件传送命令 SCP(Secure Copy) ... -
Linux内存映射: mmap
2010-05-19 10:51 725http://blog.csdn.net/dai_weitao ...
相关推荐
java.lang.reflect.Proxy 学习资料 讲解 例子 源码 java.lang.reflect.Proxy 学习资料 讲解 例子 源码 java.lang.reflect.Proxy 学习资料 讲解 例子 源码
在Java编程语言中,`java.lang.reflect`包是核心库的一部分,它提供了运行时访问类、接口、字段和方法的能力。这个包对于理解和操作对象的动态特性至关重要,尤其是在实现反射机制时。反射允许我们在程序运行期间...
3. **Java动态代理**:基于`java.lang.reflect.Proxy`和`java.lang.reflect.InvocationHandler`,实现对目标对象的代理,用于拦截方法调用。 综上所述,`NoSuchMethodException`是Java编程中需要关注的一个重要异常...
主要由java.lang.reflect.Proxy和java.lang.reflect.InvocationHandler接口组成。 1. **Proxy类**:Proxy类的newProxyInstance()方法用于创建动态代理对象,它需要一个ClassLoader、一个接口数组和一个...
1. 动态代理:使用`java.lang.reflect.Proxy`和`java.lang.reflect.InvocationHandler`可以创建动态代理对象,实现AOP(面向切面编程)。 2. 数据库操作框架:如MyBatis,通过反射动态生成SQL语句并执行。 3. XML...
4. 动态代理:Java的`java.lang.reflect.Proxy`类可以创建动态代理,用于在方法调用前后添加自定义逻辑,比如AOP(面向切面编程)。 5. 框架开发:Spring框架的依赖注入、Hibernate的数据持久化等都大量使用反射技术...
return (T) Proxy.newProxyInstance( target.getClass().getClassLoader(), target.getClass().getInterfaces(), new CheckParamsInvocationHandler(target) ); } } ``` 现在,我们可以在任何实现了接口的类...
在Java中,我们可以使用`java.lang.reflect.Proxy`类和`java.lang.reflect.InvocationHandler`接口来实现。`Proxy`类用于创建代理对象,`InvocationHandler`接口定义了代理对象方法调用的处理逻辑。在"DynamicProxy...
- 生成动态代理:通过`java.lang.reflect.Proxy`类,可以创建动态代理,实现代理模式。 3. **相关包和类** - `java.lang.Class`:表示运行时的类信息,通过类名获取`Class`对象的方法有`forName()`、`getClass()`...
14. **JNI本地接口**:`java.lang.reflect`包中的`java.lang.reflect.InvocationHandler`和`java.lang.reflect.Proxy`,允许Java代码调用本地(C/C++)代码。 通过阅读Java 1.6 API中文版的CHM文件,开发者可以深入...
在Java中,`java.lang.reflect.Proxy`类和`java.lang.reflect.InvocationHandler`接口是实现这一功能的核心。 2. **Proxy类**: - `Proxy`类是Java的内置类,它提供了一种创建代理对象的方法。代理对象不仅实现了...
7. **Java.lang.reflect.Proxy**: 支持动态代理,使得我们可以创建一个类的代理对象,该代理对象可以在调用方法时执行额外的操作。这在AOP(面向切面编程)中非常有用。 8. **Java.lang.reflect.InvocationHandler**:...
import static java.lang.reflect.Proxy.newProxyInstance; import static org.apache.ibatis.reflection.ExceptionUtil.unwrapThrowable; import static org.mybatis.spring.SqlSessionUtils.closeSqlSession; ...
4. **动态代理**:Java的动态代理机制(`java.lang.reflect.Proxy`)允许在运行时创建代理类来拦截方法调用。 5. **测试工具**:如JUnit,通过反射调用私有方法进行测试。 6. **日志和监控**:分析和记录程序运行...
本文将深入探讨Java中的动态代理,特别是基于`java.lang.reflect.Proxy`类的使用。 首先,`java.lang.reflect.Proxy`是Java标准库中用于生成动态代理类的关键类。它允许我们创建一个新的接口实现类,而无需手动编写...
我们需要提供一个实现了`java.lang.reflect.InvocationHandler`接口的类,然后使用`Proxy.newProxyInstance(ClassLoader loader, Class[] interfaces, InvocationHandler h)`方法创建代理对象。代理对象在调用方法时...
JDK 动态代理主要依赖于 `java.lang.reflect.Proxy` 类和 `java.lang.reflect.InvocationHandler` 接口。使用 JDK 动态代理时,需要实现 `InvocationHandler` 接口,并通过 `Proxy.newProxyInstance()` 方法创建代理...
5. 创建动态代理,通过`java.lang.reflect.Proxy`类,可以在运行时生成代理对象来实现特定接口。 在实际开发中,反射机制常用于: - 框架设计:Spring框架中的依赖注入、AOP切面编程等都大量使用了反射。 - 动态...
Java中的动态代理主要通过`java.lang.reflect.Proxy`类和`java.lang.reflect.InvocationHandler`接口来实现。Proxy类用于创建一个实现了特定接口的代理对象,而InvocationHandler接口则定义了代理对象处理方法调用的...