(Oracle功能篇) Oracle 数据库连接池

2023-11-06

使用:proxool-0.9.1.zip


相关代码:

package yerasel;  
  
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.ResultSet;  
import java.sql.ResultSetMetaData;  
  
import java.sql.Statement;  
  
import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;  
  
public class Test {  
  
    int beginIndex = 0; // 待取记录起始数  
    int endIndex = 10;  // 待取得记录终止跳  
    String MySQLdbTableName = "usrpsw";  
    String MySQLreq = "select * from " + MySQLdbTableName + " limit " + beginIndex + ", " + endIndex;  
      
    /** 
     * proxool方式测试 
     *  
     * @throws Exception 
     */  
    public void test2() throws Exception {  
        // Java应用中先要加载配置文件,否则谁知道你配置给谁用的  
        JAXPConfigurator  
                .configure("proxool.xml", false);  
          
          
          
        // 1:注册驱动类,这次这个驱动已经不是Oracle的驱动了,是Proxool专用的驱动  
        Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");  
        // 2:创建数据库连接,这个参数是一个字符串,是数据源的别名,在配置文件中配置的timalias,参数格式为:proxool.数据源的别名  
        Connection conn = DriverManager.getConnection("proxool.mysql");  
        for(int i = 0; i< 20; i++)  
             conn = DriverManager.getConnection("proxool.mysql");  
        // 3:创建执行SQL的对象  
        Statement stmt = conn.createStatement();  
        // 4:执行SQL,并获取返回结果  
        ResultSet res = stmt.executeQuery(MySQLreq);  
        // 5:处理返回结果,此处打印查询结果  
        ResultSetMetaData rsmd = res.getMetaData();  
        int columnCount = rsmd.getColumnCount();  
        int rowCount = 0;  
        while (res.next()) {  
            System.out.print(rowCount + " ");  
            rowCount++;  
            for (int j = 1; j <= columnCount; j++) {// 循环处理  
                String strRes = res.getString(j);  
                System.out.print(strRes + "|\t");  
            }  
            System.out.println();  
        }  
        // 6:关闭数据库连接  
        conn.close();  
    }  
  
    public static void main(String[] args) throws Exception {  
        Test obj = new Test();  
        obj.test2();  
    }  
  
}  


编写相关的配置文件:

<?xml version="1.0" encoding="UTF-8"?>   
<something-else-entirely>   
        <proxool>   
                <alias>mysql</alias>   
                <!--数据源的别名-->   
                <driver-url>jdbc:mysql://127.0.0.1:3306/mysqlconn</driver-url>   
                <!--url连接串-->   
                <driver-class>com.mysql.jdbc.Driver</driver-class>   
                <!--驱动类-->   
                <driver-properties>   
                        <property name="user" value="root"/>   
                        <!--用户名-->   
                        <property name="password" value="123456"/>   
                        <!--密码-->   
                </driver-properties>   
                <!--最大连接数(默认5个),超过了这个连接数,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定 -->   
                <maximum-connection-count>5</maximum-connection-count>   
                <!--最小连接数(默认2个)-->   
                <minimum-connection-count>1</minimum-connection-count>   
                <!--proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 默认30秒-->   
                <house-keeping-sleep-time>90000</house-keeping-sleep-time>   
                <!--没有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-->   
                <maximum-new-connections>6</maximum-new-connections>   
                <!--最少保持的空闲连接数(默认2个)-->   
                <prototype-count>5</prototype-count>   
                <!--在使用之前测试-->   
                <test-before-use>true</test-before-use>   
                <!--用于保持连接的测试语句 -->   
                <house-keeping-test-sql>show tables</house-keeping-test-sql>   
        </proxool>   
</something-else-entirely>  


注意,在程序中发起了过多线程,目的就是检验线程限制是否有效。

数据库内容如下:


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(Oracle功能篇) Oracle 数据库连接池 的相关文章

  • osgEarth的Rex引擎原理分析(五十八)osgEarth::ShaderFactory osgEarth::ShaderLoader关系

    目标 五十四 中的问题130 osgEarth ShaderFactory osgEarth ShaderLoader关系 ShaderFactory主要用来产生各个着色器阶段的main函数 一般用户不需要直接使用它 除非有特殊的定制需要
  • [CTF]抓住那只猫(XCTF 4th-WHCTF-2017)

    原作者 darkless 题目描述 抓住那只猫 思路 打开页面 有个输入框输入域名 输入baidu com进行测试 发现无任何回显 输入127 0 0 1进行测试 发现已经执行成功 执行的是一个ping命令 一开始想的应该是命令拼接执行 但
  • React18的useEffect会执行两次

    React18的useEffect会执行两次 一 执行两次的useEffect 二 React18 useEffect 新特性 如何应对 1 首先先了解一下 React 中 useEffect 执行的时机 2 怎么样才能让 Effect 执
  • 0101日志-运维-mysql

    1 错误日志 错误日志 Error Log 错误日志记录了MySQL引擎在运行过程中出现的错误和异常情况 这些错误可能包括启动和关闭问题 数据库崩溃 权限问题等 错误日志对于排查和解决MySQL引擎问题非常有帮助 改日志默认开启 默认存放目
  • 知识科普:什么是AGI?

    原文链接 最近ChatGPT大火 火到原来卖酒卖保险的人也都开始直播聊ChatGPT了 其中大家或多或少会提到一个词 AGI 看清楚不是GAI也不是AIGC 今天就和大家聊聊AGI是什么 AGI最近经常被提到 主要是因为ChatGPT的开发
  • 网络编程——TCP

    网络编程 TCP TCP编程 TCP是一种可靠的 基于连接的网络协议 它是面向字节流的 即从一个进程到另一个进程的二进制序列 一条TCP连接需要两个端点 这两个端点需要分别建立各自的套接字 通常一方用于发送请求和数据 称为客户端 另一方用于
  • Pickle 详解

    那么为什么需要序列化和反序列化这一操作呢 1 便于存储 序列化过程将文本信息转变为二进制数据流 这样就信息就容易存储在硬盘之中 当需要读取文件的时候 从硬盘中读取数据 然后再将其反序列化便可以得到原始的数据 在Python程序运行中得到了一
  • STM32开发(十九)STM32F103 数据手册 —— 低功耗模式解析

    上一篇 主目录 下一篇 文章目录 低功耗介绍 stm32 供电框图 低功耗模式 睡眠模式 停止模式 待机模式 低功耗模式汇总 低功耗介绍 系统复位或上电复位后 微控制器进入运行模式 在运行模式下 CPU通过HCLK提供时钟 并执行程序代码
  • Apollo学习笔记(21)图的深度优先遍历(DFS)和广度优先遍历(BFS)算法分析

    首先奉上大神链接 https www cnblogs com qzhc p 10291430 html 由于最近在看轨迹规划的资料 图遍历是基础 故拜读了大神的一些文章 在此记录 深度优先遍历 深度优先遍历 Depth First Sear
  • Vim常用操作快捷键记录

    经常忘记vim的一些操作快捷键 现在将其记录起来 方便以后查阅 这里定义以文本右方向为前 文本左方向为后 上下左右方向键 k j h l 以 字 为步长向前跳动 到达字首 w 以 字 为步长向后跳动 到达字首 b 以 字 为步长向前跳动 到
  • 共享计算机的网络凭证,win10设置共享文件夹时显示要网络凭证

    一 共享文件夹所在电脑设置 1 右键我的电脑 管理 系统工具 本地用户和组 用户 中间空白区域右键 新用户 2 输入自设的用户名和密码 如图勾选 创建 3 右键需要共享的文件见 安全 编辑 4 点击添加 5 输入新建的用户名 test 检查
  • 失业的程序员(九):正文篇:创业就是一场戏

    http www shenyisyn org 2013 04 23 tjp 2 htm 一 正文 跨入电商 说到我家人 我父母都是小学教师 对我从小管教无比严厉 他们希望我将来也能子承父业或者母业 并且更希望将来我的子女也能如此继承着 用句
  • 【1002】写出这个数

    题目链接 写出这个数 算法 include
  • 【数据集处理】WiderPerson介绍以及转YOLO格式(图片教程及代码----超详细)

    WiderPerson转YOLO格式 WiderPerson介绍 原论文中数据信息 下载后的文件样式 Annotations WiderPerson转YOLO 数据集下载地址 转格式以及选取类别 关于txt文件的处理 直接运行 生成yolo
  • 【网络安全】黑客自学笔记

    1 前言 作为一个合格的网络安全工程师 应该做到攻守兼备 毕竟知己知彼 才能百战百胜 计算机各领域的知识水平决定你渗透水平的上限 1 比如 你编程水平高 那你在代码审计的时候就会比别人强 写出的漏洞利用工具就会比别人的好用 2 比如 你数据

随机推荐

  • Feign远程调用注意事项

    Feign 远程查询失败 不需要回滚 CPU密集型和 IO密集型 CPU涉及的是计算能力 IO是文件读取类型的这种
  • 共识算法 --- PBFT、Raft和Paxos

    目录 一 Raft共识算法 1 什么是Raft 2 Raft的工作流程 3 Raft的相关应用 4 Raft的缺陷 5 Raft中三个子问题 5 1 Leader选举 Election 5 1 1 节点的三种角色 5 1 2 选举过程 5
  • 字节是真的难进,测开4面终上岸,压抑5个月,终于可以放声呐喊

    这次字节的面试 给我的感触很深 意识到基础的重要性 一共经历了五轮面试 技术4面 HR面 下面看正文 本人自动专业毕业 压抑了五个多月 终于鼓起勇气 去字节面试 下面是我的面试过程 很多面试题 都是靠记忆写的 希望能帮助到大家 致那些努力的
  • http各个版本的区别

    http进化史 http0 9 只有GET请求 也不支持请求头信息 请求信息只有下面一行 GET www baidu com http1 0 在请求中指定版本号 支持GET POST HEAD http1 1 http1 1新增了 OPTI
  • 进制压缩加密_token参数

    进制压缩加密 token参数 网址 https sh meituan com meishi c17 进入抓包 查看要获取的数据 可以在请求地址 找到 getPoiList 的请求链接 请求参数有多个 但是多次请求对比发现只有 token 参
  • LeetCode:118(Python)—— 杨辉三角(简单)

    杨辉三角 概述 给定一个非负整数 numRows 生成 杨辉三角 的前 numRows 行 在 杨辉三角 中 每个数是它左上方和右上方的数的和 输入 numRows 5 输出 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 输入
  • 超经典!分割任务数据集介绍。

    文章目录 前言 一 IRSTD 1k 二 Pascal VOC2012 1 数据简介 2 分割任务数据集介绍 三 iSAID 总结 前言 在探索网络的过程中 比较基础和重要的工作是了解数据 今天来总结下我目前使用过的分割任务数据集 本博文将
  • Linux进阶_DNS服务和BIND之实战案例篇

    成功不易 加倍努力 1 实战案例 实现DNS正向主服务器 2 实战案例 实现DNS从服务器 3 实战案例 实现DNS forward 缓存 服务器 4 实战案例 利用view实现智能DNS 5 实战案例 综合案例 实现Internet 的D
  • 【linux多线程(四)】——线程池的详细解析(含代码)

    目录 什么是线程池 线程池的应用场景 线程池的实现 线程池的代码 C linux线程 壹 初识线程 区分线程和进程 线程创建的基本操作 线程 二 互斥量的详细解析 线程 三 条件变量的详细解析 什么是线程池 线程池是一种线程使用模式 它是将
  • java 栅栏_Java并发基础-栅栏(CountDownLatch)与闭锁(CyclicBarrier)

    1 闭锁CountDownLatch 闭锁CountDownLatch用于线程间的同步 它可以使得一个或者多个线程等待其它线程中的某些操作完成 它有一个int类型的属性count 当某个线程调用CountDownLatch对象的await方
  • android获取各种系统路径的方法

    android获取各种系统路径的方法 整理了一些安卓开发中可能会用到的各种路径的获取方法 欢迎评论 通过Environment获取的Environment getDataDirectory getPath 获得根目录 data 内部存储路径
  • Spring Boot + 阿里OSS实现图片上传,返回预览的地址,实现图片预览

    阿里OSS实现图片上传 返回预览地址 注册阿里OSS 首先进入阿里云的官网 https www aliyun com 紧接着点击首页上的立即开通 点击这个创建一个bucket 其余的默认就可以 可以根据自己的实际需求去写 使用代码操作阿里O
  • Redis AOF和RDB

    Redis AOF和RDB Redis是内存型数据库 为了保证数据在断电后不会丢失 需要将内存中的数据持久化到硬盘上 RDB持久化 将某个时间点的所有数据都存放到硬盘上 可以将快照复制到其他服务器从而创建具有相同数据的服务器副本 如果系统发
  • vue不是内部或外部命令,也不是可运行的程序

    使用vue脚手架初始化vue项目时 总是报 vue不是内部或外部命令 也不是可运行的程序 这样的错误 检查基础环境是否具备 1 node v查看版本 已经安装 2 npm v查看版本 已经安装 3 node 系统环境变量已经设置 于是乎 查
  • Error: Cannot fit requested classes in a single dex file (# methods: 65948 > 65536) 解决方法

    Error Cannot fit requested classes in a single dex file methods 65948 gt 65536 解决方法 最近写项目 写着写着运行时突然就报错了 运行不起来了 报错如下 Erro
  • 【django】admin后台管理的坑

    自定义的主键 必须要在fields或者fieldsets里 但是默认添加的或者自主添加的autofield字段可以不在admin页面里添加 保存时会自动添加
  • A股投资日历

    A股投资日历 12月2日 国11月非农就业报告 21 30 中证AAA综合债指数系列 8条 发布 2022中国 博鳌 国际黄金市场年度大会举办 影响 宏观 债券 黄金 12月2 3日 第四届大宗商品金融服务创新锋会 影响 大宗商品 12月2
  • Linux下嵌入式程序仿真调试(GDB)(二)

    目录 目录 前言 Ubuntu下Qt的GDB环境搭建未成功 Qt5的设置 命令行调试问题记录 总结 链接地址 前言 Linux下嵌入式程序仿真调试 GDB 一 主要介绍了GDB交叉调试环境的搭建过程 本想把交叉编译好的gdb程序放置到Qt中
  • SpringBean的自动装配运行原理

    SpringBean的自动装配运行原理 引言 在现代的软件开发领域中 快速且灵活地处理依赖关系是至关重要的 Spring框架以其强大的依赖注入功能 使得开发者能够轻松管理各种对象之间的依赖关系 其中 自动装配是Spring框架中一项重要的功
  • (Oracle功能篇) Oracle 数据库连接池

    使用 proxool 0 9 1 zip http ncu dl sourceforge net project proxool proxool 0 9 1 proxool 0 9 1 zip 相关代码 package yerasel im