lis分析之一一批处理(任务)如何连接数据库的
public class ZFBCheckAccountTask extends TaskThread {
}
这个类运行时候自动加载了数据库连接,不明白是如何提前加载的,开始用static { } 去全局搜索,未果(现在觉得思路就不对,因为只加载了自己的类,所以只可能加载自己这个类的static{}方法;用提示语全局搜索未果,因为连接方法在依赖的jar包中;接着想到了他的父类TaskThread ,对父类进行断点跟踪, 在构造方法中
public TaskThread() {
LDTaskParamDB tLDTaskParamDB = new LDTaskParamDB();
tLDTaskParamDB.setTaskCode("000000");
tLDTaskParamDB.setTaskPlanCode("000000");
tLDTaskParamDB.setParamName("ServerType");
if (tLDTaskParamDB.getInfo()) {

接着进入
tLDTaskParamDB.getInfo()
public boolean getInfo() {
PreparedStatement pstmt = null;
ResultSet rs = null;
if (!this.mflag) {
this.con = DBConnPool.getConnection();
}
在DBConnPool类中有静态方法
static {
for(int nIndex = 0; nIndex < 63; ++nIndex) {
dbConns[nIndex] = new DBConn();
}
}
接着进入DBConn类中,构造方法
protected DBConn() {
this.m_pw = new PrintWriter(this.m_buf, true);
this.mGlobalPools = GlobalPools.getInstance();
this.JUrl = new JdbcUrl();
this.bNotInUse = true;
}
在进入jdbcURl类中
static {
InputStream stream = JdbcUrl.class.getClassLoader().getResourceAsStream("jdbc.properties");
Properties properties = new Properties();
try {
logger.info("【数据连接】开始加载数据库连接配置");
properties.load(stream);
JDBC_DB_TYPE = (String)properties.get("jdbc.DBType");
JDBC_DB_NAME = (String)properties.get("jdbc.DBName");
logger.info("【数据连接】对转码的数据库信息进行进行解码");
JDBC_IP = ConfigSecret.decode((String)properties.get("jdbc.IP"));
JDBC_PORT = ConfigSecret.decode((String)properties.get("jdbc.Port"));
JDBC_USERNAME = ConfigSecret.decode((String)properties.get("jdbc.UserName"));
JDBC_PASSWORD = ConfigSecret.decode((String)properties.get("jdbc.PassWord"));
JDBC_DEFAULT_CONN = (String)properties.get("jdbc.DefaultConn");
String fileConfigFlagStr = (String)properties.get("jdbc.fileConfigFlag");
fileConfigFlag = Boolean.getBoolean(fileConfigFlagStr);
logger.info("【数据连接】读取数据库连接完成,数据库连接地址" + JDBC_IP + ",数据库用户名:" + JDBC_USERNAME);
logger.info("【数据连接】开始初始化数据库连接");
initMultPool();
logger.info("【数据连接】初始化数据库连接完成");
} catch (Exception var11) {
这里就是的static 代码块读取了jdbc.prperties的属性

一文理解class.getClassLoader().getResourceAsStream(file)和ass.getResourceAsStream(file)区别

lis分析之一一批处理(任务)如何连接数据库的的更多相关文章
- POJ 3903 Stock Exchange (E - LIS 最长上升子序列)
POJ 3903 Stock Exchange (E - LIS 最长上升子序列) 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action ...
- HDU - 3564 Another LIS(LIS+线段树)
http://acm.hdu.edu.cn/showproblem.php?pid=3564 题意 给出1~n的插入顺序,要求每次插入之后的LIS 分析 首先用线段树还原出最终序列.因为插入的顺序是按 ...
- LIS(变形) HDOJ 5489 Removed Interval
题目传送门 题意:求删掉连续L长度后的LIS 分析:记rdp[i]表示以a[i]为开始的LIS长度,用nlogn的办法,二分查找-a[i].dp[i]表示以a[i]为结尾并且删去[i-L-1, i-1 ...
- Lock wait timeout分析
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction分析 1.4个用户连接数据库(A和D是本地回环登陆, ...
- 关于goneaway及499
关于上面现象的分析如下 问题描述: 接口偶发性出现接口耗时过长的情况 根源: “sockets的快速回收”机制被启动 简单代码+数据分析: 1. 经简单分析,耗时主要出现在连接数据库的方法: ...
- JavaEE JDBC 怎么加载驱动
JDBC怎么加载驱动 @author ixenos 分析 1.JDBC是一套连接数据库的接口(放在java.util.sql.Driver类中),不同的数据库依此接口各自实现Java连接到数据库的操作 ...
- 8月清北学堂培训 Day1
今天是赵和旭老师的讲授~ 动态规划 动态规划的基本思想 利用最优化原理把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解. 更具体的,假设我们可以计算出小问题的最优解,那么我们凭借此可 ...
- myBatis源码解析-日志篇(1)
上半年在进行知识储备,下半年争取写一点好的博客来记录自己源码之路.在学习源码的路上也掌握了一些设计模式,可所谓一举两得.本次打算写Mybatis的源码解读. 准备工作 1. 下载mybatis源码 下 ...
- R绘图(7): 把散点图的点换成扇形
前几天分析了一批单细胞TCR的数据,需要画这样一个图: 行是不同的样本,列是不同的T细胞类型,每一个位置点的大小表示T细胞的数目多少,并且还需要根据T细胞所属的克隆型类型涂色.这个图用来描述TCR是我 ...
随机推荐
- 「模拟8.29」chinese(性质)·physics·chemistry(概率期望)
T1 chinese 根据他的问题i*f[i]我们容易联想到,答案其实是每种方案中每个点的贡献为1的加和 我们可以转变问题,每个点在所有方案的贡献 进而其实询问就是1-k的取值,有多少中方案再取个和 ...
- ES6、ES7的一些新特性
1.常见的就是let 和 const 命令 let 只在命令所在的代码块内有效 const声明一个只读的常量 2.变量的赋值 let [a, b, c] = [1, 2, 3]; 这样输出的话a=1, ...
- .NET网页后台调用前台js方法时相同Key,调用不成功
ClientScript.RegisterStartupScript(GetType(), "key", "<script>Save()</script ...
- 955.WLB 不加班公司名单!再新增 5 家公司!
大家好!我是<Visual Studio Code 权威指南>的作者韩骏.相信不少童鞋都是因为 VS Code 认识到我:也许是用了我写的 20 多个 VS Code 插件(比如 Code ...
- k8s-生产环境部署django项目k8s-dashboard管理系统
1. k8s-生产环境部署django项目k8s-dashboard管理系统 gitee地址: https://gitee.com/scajy/django-k8s-dashboard.git 部署架 ...
- 单片机引脚扩展芯片74HC595手工分解实验
我们先来看下效果 74HC595是常用的串转并芯片,支持芯片级联实现少量IO口控制多个IO口输出功能 14脚:DS,串行数据输入引脚 13脚:OE, 输出使能控制脚,它是低电才使能输出,所以接GND ...
- layui table 使用table放输入框时控制每列的宽度
<table class="layui-table" lay-filter="demo"> <colgroup> <%--设置每列 ...
- hdu 3306 Another kind of Fibonacci 矩阵快速幂
参考了某大佬的 我们可以根据(s[n-2], a[n-1]^2, a[n-1]*a[n-2], a[n-2]^2) * A = (s[n-1], a[n]^2, a[n]*a[n-1], a[n-1] ...
- Burning Bridges 求tarjan求割边
Burning Bridges 给出含有n个顶点和m条边的连通无向图,求出所有割边的序号. 1 #include <cstdio> 2 #include <cstring> 3 ...
- Docker:docker安装部署jenkins
Docker安装步骤请转到:https://www.cnblogs.com/nhdlb/p/11262527.html 查看docker的jenkins镜像版本 #查看jenkins版本命令 dock ...