`
jinyanhui2008
  • 浏览: 318497 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

proxool 多数据源动态切换,刚刚一网友问我,顺便写的一个demo

    博客分类:
  • Java
阅读更多
package aa;

import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

import org.apache.log4j.PropertyConfigurator;
import org.logicalcobwebs.proxool.ProxoolException;
import org.logicalcobwebs.proxool.ProxoolFacade;
import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;

import bsh.This;


public class Test {

	/**
	 * <xmp>
	 * 
	 * </xmp>
	 * 
	 * @param args
	 * @author 金鑫 2010-9-27 下午04:45:29
	 * @throws SQLException 
	 * @throws ProxoolException 
	 * @throws InterruptedException 
	 */
	public static void main(String[] args) throws SQLException, ProxoolException, InterruptedException {
		// TODO Auto-generated method stub
		readXmlFile("aa/aa.xml");
		readXmlFile("aa/bb.xml");
		Connection conn1 = getConnection("aa");
		Statement sta1 = conn1.createStatement();
		System.out.println(conn1);
		sta1.executeQuery("select * from wcmuser");
		Connection conn2 = getConnection("bb");
		System.out.println(conn2);
		Statement sta2 = conn2.createStatement();
		sta2.executeQuery("select * from idsuser");
		
		int k =0 ;
		while(k<2){
			Thread.sleep(10000);
			k++;
		}
		
		conn1.close();
		conn2.close();
		
		while(k<4){
			Thread.sleep(10000);
			k++;
		}
		ProxoolFacade.removeConnectionPool("aa");//动态删除
	}

	public static Connection getConnection(String sessionID) {
		try {
			Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
			return DriverManager.getConnection("proxool."+sessionID);
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return null;
	}

	public static void readXmlFile(String xmlurl) {
		String appDir = Thread.currentThread().getContextClassLoader()
				.getResource("").toString();
		appDir = appDir.substring(6, appDir.length());
		Properties properties = new Properties();
		File file;
		try {
			file = new File(xmlurl);
			if (file.isAbsolute())
				JAXPConfigurator.configure(xmlurl, false);
			else
				JAXPConfigurator.configure(appDir + File.separator + xmlurl,
						false);
		} catch (ProxoolException e) {
			e.printStackTrace();
		}

		if (properties.size() > 0) {
			PropertyConfigurator.configure(properties);
		}
		
		 
	}
}

 代码如上,可以执行的

分享到:
评论

相关推荐

    Proxool-数据源配置详解

    **Proxool 数据源配置详解** Proxool是一款开源的Java数据库连接池,它提供了一种灵活、高效的方式来管理数据库连接。在Java应用程序中,数据源(DataSource)是用于管理和控制数据库连接的关键组件,它能有效地...

    JavaEE源代码 proxool-0.8.3

    JavaEE源代码 proxool-0.8.3JavaEE源代码 proxool-0.8.3JavaEE源代码 proxool-0.8.3JavaEE源代码 proxool-0.8.3JavaEE源代码 proxool-0.8.3JavaEE源代码 proxool-0.8.3JavaEE源代码 proxool-0.8.3JavaEE源代码 ...

    spring proxool配置资料

    2. **配置Proxool属性**:在Spring的配置文件(如`applicationContext.xml`)中,我们需要定义一个`org.springframework.jndi.JndiObjectFactoryBean`,该工厂bean会创建一个Proxool的数据源。以下是一个基本的配置...

    Spring3中配置DBCP,C3P0,Proxool,Bonecp数据源

    在Spring3中配置数据源,包括DBCP,C3P0,Proxool,Bonecp主要的数据源,里面包含这些数据源的jar文件和依赖文件及配置文件。。 如Bonecp目前听说是最快的数据源,速度是传统的c3p0的25倍, bonecp.properties文件: ...

    proxool 的使用 配置

    标题 "proxool 的使用配置" 暗示我们将探讨一个名为 Proxool 的数据库连接池的配置和使用方法。Proxool 是一个轻量级、高效的开源 Java 数据库连接池,它提供了一种灵活的方式来管理和控制数据库连接。在这个主题中...

    proxool-0.9.1.jar,proxool-cglib.jar

    对于"proxool-cglib.jar",这个文件可能包含了CGLIB(Code Generation Library)的依赖,CGLIB是一个强大的高性能的代码生成库,常用于动态代理和AOP(面向切面编程)框架中,如Spring AOP。CGLIB能够在运行时动态...

    spring+proxool整合配置

    而Proxool是Apache的一个开源项目,它是一个轻量级的数据库连接池,能够有效地管理和优化数据库连接,提高应用的性能和可伸缩性。当我们需要在Spring框架中集成Proxool作为数据连接池时,需要进行一系列的配置工作。...

    proxool

    proxool数据库连接池

    spring+proxool配置spring+proxool配置

    我们需要在`beans.xml`中定义一个数据源bean,如下所示: ```xml ``` 不过,为了使用Proxool,我们需要将数据源bean替换为Proxool的实现,即`orgproxool.sqltool.PoolManager`。在`beans.xml`中,修改...

    oracle proxool jar jdbc jar包 proxool源码包 Java oracle proxool 实例

    描述中的"Java实现oracle proxool 单态的例子"是指使用Java编程语言实现Oracle Proxool的一个单例设计模式示例。单例模式是一种常用的软件设计模式,它确保一个类只有一个实例,并提供一个全局访问点。在连接池的...

    proxool与mybatis整合例子

    Proxool是基于Apache 2.0协议的一个轻量级数据库连接池,它提供了一个简单易用且高效的解决方案,用于管理数据库连接。Proxool通过创建连接池来缓存数据库连接,当应用程序需要时可以快速获取,用完后立即归还,从而...

    一个简单的SSI+proxool框架实现

    这可能是一个简单的票务系统,利用SSI动态包含显示数据库中的票务信息,而数据库连接则通过Proxool管理。通过分析和学习这个示例,你可以更好地理解如何在实际项目中结合使用SSI和Proxool,提高Web应用的效率和可...

    proxool-0.9.1.jar proxool_cglib-0.9.1.jar

    Proxool是基于Proxy的概念,它在数据库连接上创建了一个代理层,使得多个客户端可以共享同一个物理连接,从而减少了创建和销毁数据库连接的开销。这个代理层能够跟踪和监控每个连接的使用情况,包括连接的生命周期、...

    proxool-0.9.1.zip

    标题中的"proxool-0.9.1.zip"是一个压缩包文件,其中包含了与Proxool相关的组件。Proxool是Java的一个开源数据库连接池,它允许开发者在应用程序中更有效地管理和控制数据库连接。这个0.9.1版本可能是Proxool的一个...

    spring3+hibernate3+proxool+mysql 超级企业J2EE DEMO(jar在下一个文件中,jar太大了)

    这个工程demo,是本人在企业应用中的项目缩影,绝对实用于企业的应用。 适合朋友: 1.一直用单独的servlet和jsp做J2EE,想使用框架做J2EE的朋友。尤其是对于那些想找工作又不会框架的朋友,会了这个后,你可以很...

    proxool_0.9.1

    标题“proxool_0.9.1”提及的是一个名为Proxool的数据库连接池管理工具的特定版本,即0.9.1。Proxool是Apache软件基金会的一个开源项目,它提供了一种轻量级的数据库连接池解决方案,允许开发者更有效地管理和控制...

    Spring下mybatis多数据源配置

    下面是一个具体的多数据源配置示例: 1. **定义数据源**:为每个数据库定义一个数据源对象。 ```xml &lt;bean id="dataSource1" class="org.logicalcobwebs.proxool.ProxoolDataSource"&gt; &lt;!-- 配置属性 --&gt; ...

    proxool-0.9.1.jar

    `proxool-0.9.1.jar` 是一个Java库,它提供了名为Proxool的数据库连接池服务。数据库连接池在多用户、高并发的Web应用中扮演着重要角色,因为它有效地管理了数据库连接,避免了频繁创建和关闭连接带来的性能开销。...

    java项目使用 proxool

    Proxool通过在数据库连接之间创建一个代理层,实现了对数据库连接的动态管理和监控,包括连接创建、复用、回收以及性能统计等功能。 2. **安装与引入** 要在Java项目中使用Proxool,首先需要下载Proxool的JAR包,...

Global site tag (gtag.js) - Google Analytics