- 浏览: 76140 次
- 性别:
- 来自: 广州
文章分类
最新评论
import java.sql.Connection; import java.sql.DriverManager; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Properties; import oracle.jdbc.OracleDriver; import oracle.jdbc.pool.OracleOCIConnectionPool; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import com.logging.LogUtil; import com.common.Constants; import com.common.Util; import com.ui.AbstractPlugin; /** * PooledConnectionManager * */ public class PooledConnectionManager { /** * String decryptFileName */ private String decryptFileName = "OCIFileName"; /** * PooledConnectionManager instance */ private static PooledConnectionManager instance = null; /** * Map poolMap */ private static Map poolMap = null; /** * String defaultPoolName */ private static String defaultPoolName = null; /** * String debugInfoFlag */ private static String debugInfoFlag = "false"; /** * PooledConnectionManager * @return instance * @throws Exception */ public static PooledConnectionManager getInstance() throws Exception { if(instance == null) { instance = new PooledConnectionManager(); } return instance; } /** * PooledConnectionManager * @throws Exception */ protected PooledConnectionManager() throws Exception { if (poolMap == null) { poolMap = new HashMap(); SAXReader reader = new SAXReader(); Document document = reader.read(AbstractPlugin.class.getResourceAsStream(Constants.CONFIG_COMMON_PATH)); Element ociPoolsEle = (Element) document.getRootElement().element(Constants.OCIPOOLS); if("true".equals(ociPoolsEle.attributeValue("debugInfo"))) { debugInfoFlag = "true"; } //Get the name of decryptConsole String decryptConsole = ociPoolsEle.elementTextTrim(Constants.OCIPOOL_DECRYPT_CONSOLE); Iterator iter = ociPoolsEle.elementIterator("OCIPool"); DriverManager.registerDriver(new OracleDriver()); while (iter.hasNext()) { Element recordEle = (Element) iter.next(); if("true".equals(recordEle.attributeValue("default"))) { defaultPoolName = recordEle.attributeValue("name"); } Properties poolPro = new Properties(); poolPro.put(OracleOCIConnectionPool.CONNPOOL_MIN_LIMIT, recordEle.elementTextTrim(Constants.OCIPOOL_MINLIMIT_PRO)); poolPro.put(OracleOCIConnectionPool.CONNPOOL_MAX_LIMIT, recordEle.elementTextTrim(Constants.OCIPOOL_MAXLIMIT_PRO)); poolPro.put(OracleOCIConnectionPool.CONNPOOL_INCREMENT, recordEle.elementTextTrim(Constants.OCIPOOL_INCREMENT_PRO)); poolPro.put(OracleOCIConnectionPool.CONNPOOL_TIMEOUT, recordEle.elementTextTrim(Constants.OCIPOOL_CONIDLETIME_PRO)); //Decoding the password String password = Util.decrypt(recordEle.elementTextTrim(Constants.OCIPOOL_PASSWORD_PRO), decryptFileName, decryptConsole); OracleOCIConnectionPool cpool = new OracleOCIConnectionPool(recordEle.elementTextTrim(Constants.OCIPOOL_USERNAME_PRO), password, recordEle.elementTextTrim(Constants.OCIPOOL_URL_PRO), poolPro); poolMap.put(recordEle.attributeValue("name"), cpool); } } } /** * OracleOCIConnectionPool * @param poolName * @return cpool * @throws Exception */ public OracleOCIConnectionPool getConnectionPool(String poolName) throws Exception { OracleOCIConnectionPool cpool = (OracleOCIConnectionPool)poolMap.get(poolName); if(cpool == null) { throw new NoSuchPoolException("There is no OCI pool named \"" + poolName + "\"."); } if(debugInfoFlag.equals("true")) { this.printPoolInfo(poolName); } return cpool; } /** * OracleOCIConnectionPool * @return cpool * @throws Exception */ public OracleOCIConnectionPool getConnectionPool() throws Exception { OracleOCIConnectionPool cpool = null; if(defaultPoolName != null) { //Get the default pool which is assigned. cpool = (OracleOCIConnectionPool)poolMap.get(defaultPoolName); if(debugInfoFlag.equals("true")) { this.printPoolInfo(defaultPoolName); } } else { //If there is no default pool to be assigned,get the first pool. if(poolMap.keySet() != null) { cpool = (OracleOCIConnectionPool)poolMap.get(poolMap.keySet().toArray()[0]); if(debugInfoFlag.equals("true")) { this.printPoolInfo((String)poolMap.keySet().toArray()[0]); } } } return cpool; } /** * getConnection * @param poolName * @return conn * @throws Exception */ public Connection getConnection(String poolName) throws Exception { return this.getConnectionPool(poolName).getConnection(); } /** * getConnection * @return conn * @throws Exception */ public Connection getConnection() throws Exception { OracleOCIConnectionPool cpool = this.getConnectionPool(); if(cpool != null) { return cpool.getConnection(); } return null; } /** * printPoolInfo * @param poolName * @throws Exception */ private void printPoolInfo(String poolName) throws Exception { OracleOCIConnectionPool cpool = (OracleOCIConnectionPool)poolMap.get(poolName); LogUtil.info(this.getClass(), "Current OCI connection pool is: " + poolName + "."); LogUtil.info(this.getClass(), "Pool size is: " + cpool.getPoolSize() + "."); LogUtil.info(this.getClass(), "Active size is: " + cpool.getActiveSize() + "."); LogUtil.info(this.getClass(), "Min pool size limit is: " + cpool.getMinLimit() + "."); LogUtil.info(this.getClass(), "Max pool size limit is: " + cpool.getMaxLimit() + "."); } }
发表评论
-
HTTPClient
2012-12-21 21:11 0public class RenRen { // The ... -
Export To Excel - Testing
2012-12-18 13:15 0MainTest ..... Map configM ... -
Export To Excel - ExcelUtils.java [Version 0.2]
2012-12-18 13:11 9import java.io.BufferedReader; ... -
Export To Excel - Action Oupt Excel
2012-11-23 13:49 10public String doAction(Work ... -
Export To Excel - ExcelUtils.java
2012-12-17 16:31 3import java.io.BufferedReader; ... -
Export To Excel - ExcelDAO.java
2012-12-18 12:55 5import java.sql.CallableStateme ... -
Export To Excel - commonExcelStyle.css
2012-12-18 12:55 6body { FONT-FAMILY: "Ari ... -
Export To Excel - ExcelConstants.java
2012-12-18 12:55 5/** * <p><b> * ... -
Export To Excel - ExcelRowList.java
2012-12-18 09:55 5import java.util.ArrayList; im ... -
Export To Excel - ExcelRowItem.java
2012-12-17 16:32 7import java.util.ArrayList; im ... -
Export To Excel - ExcelInfo.java
2012-11-23 13:50 8/** * <p><b> * ... -
Export To Excel - ExcelColList.java
2012-11-23 13:50 6import java.util.ArrayList; im ... -
Export To Excel - ExcelColItem.java
2012-11-23 13:50 11Version 0.1 import java.uti ... -
Export To Excel - ExcelCellItem.java
2012-11-23 13:49 7public class ExcelCellItem { ... -
Util
2012-12-17 16:32 644import java.io.BufferedReader; ... -
DMSUtil
2012-12-17 16:31 668import java.io.ByteArrayInputSt ... -
FloatValidator
2012-10-05 13:42 732public class FloatValidator ext ... -
XmlHelper
2012-08-31 09:33 1223import java.io.ByteArrayInputSt ... -
XMLEncode
2012-08-30 18:43 1021public class XMLEncode implemen ... -
tagUtil
2012-08-30 18:42 848import java.util.Map; public ...
相关推荐
mysql安装配置教程
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
onlyoffice搭建及与alist使用的view.html
1.Project Structure中添加依赖时,容易添加不进去,所以使用本地添加,将android-support-v7-recyclerview放在对应项目的lib文件中,并add as library。如果在build.gradle中出现implementation files('libs\\android-support-v7-recyclerview.jar')就算是添加成功。 2.在布局文件中使用 androidx 的布局控件,在逻辑代码文件中导入androidx相关包。(取代android.support.v7) 3.在gradle.properties文件中,注释android.enableJetifier=true。(# android.enableJetifier=true) 最新way2:
3款正射影像DOM导入CASS插件(测试通过),带坐标导入,超实用!
c语言
基于java+MapReduce实现基于物品协同过滤算法,即电影推荐系统+源码+开发文档+算法解析,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介: 互联网某电影点评网站,主要产品包括 电影介绍 电影排行 网友对电影打分 网友影评 影讯&购票 用户在看|想看|看过的电影 猜你喜欢(推荐) 利用用户对电影的打分表来给用户推荐电影,用户打分表包括以下字段 userID--用户ID号 itemID--电影ID号 score--评分 ###基于物品的协同过滤算法 建立物品的同现矩阵 建立用户对物品的评分矩阵 矩阵计算推荐结果 ###MapReduce实现 程序流程图 .........
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
javaee/javaweb常用jar包,亲测可用,导入到java工程中即可使用
javaEE javaweb常用jar包 , 亲测可用,下载后导入到java工程中使用。
Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
单例模式(Singleton Pattern)作为创建型模式中的一种,旨在确保一个类在系统中只有一个实例,并提供全局访问点。
基于matlab实现 powell算法 用matlab实现,使用方法内附详细说明.rar
javaee/javaweb常用jar包,亲测可用,导入到java工程中即可使用
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
附件是Linux系统中常用权限管理命令,文件格式是markdown,文件绿色安全,请大家放心下载,仅供交流学习使用,无任何商业目的! 这些命令是Linux系统中管理文件和目录权限的基础工具。使用这些命令时,需要对权限的表示方法和命令的参数有一定的了解。在执行权限更改操作时,务必谨慎,以避免不必要的安全问题或权限问题。
javaEE javaweb常用jar包 , 亲测可用,下载后导入到java工程中使用。
telnet出口路由器
Java_android OpenGL的例子
AIR-AP1815-K9-ME-8-5-182-0.zip For 1815 1830 1840 1850 2700 3700 加入 AIR-AP1815 的 Mobility Express 管理。