Commit ddf9a088 authored by 赵建伟's avatar 赵建伟

update jdbc pool

parent e04d3559
...@@ -10,7 +10,7 @@ public class SparkSqlOperator { ...@@ -10,7 +10,7 @@ public class SparkSqlOperator {
public static void main(String[] args) { public static void main(String[] args) {
try { try {
Connection conn = JdbcConnectPool.getConnect(); Connection conn = JdbcConnectPool.getConnection();
PreparedStatement ps = conn.prepareStatement("select count(*) count from online.test"); PreparedStatement ps = conn.prepareStatement("select count(*) count from online.test");
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
while (rs.next()) { while (rs.next()) {
......
...@@ -26,30 +26,18 @@ public class JdbcConnectPool { ...@@ -26,30 +26,18 @@ public class JdbcConnectPool {
} catch (ClassNotFoundException e) { } catch (ClassNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} }
for (int i = 0; i < Integer.valueOf(prop.getProperty("initSize")); i++) {
Connection connection = createConnect();
connList.add(connection);
}
} }
/** public static Connection getConnection() {
* 获取连接
*
* @return
*/
public static Connection getConnect() {
Connection connection = null; Connection connection = null;
if (connList.size() > 0) { if (connList.size() > 0) {
connection = connList.getFirst(); connection = connList.getFirst();
connList.removeFirst(); connList.removeFirst();
} else{ } else{
while(connList.size() < Integer.valueOf(prop.getProperty("maxSize"))){ connList.addLast(createConnect());
connList.addLast(createConnect()); connection = getConnection();
}
connection = getConnect();
} }
requestCount ++; logger.info("requestCount : {}",++requestCount);
logger.info("requestCount : {}",requestCount);
logger.info("connList size : {}",connList.size()); logger.info("connList size : {}",connList.size());
return connection; return connection;
} }
......
package com.gmei.data.dqmp.pool;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.Properties;
public class JdbcConnectPoolBak {
private static final Logger logger = LoggerFactory.getLogger(JdbcConnectPoolBak.class);
private static Properties prop;
private static int requestCount = 0;
private static LinkedList<Connection> connList = new LinkedList<Connection>();
static {
prop = getProperties("jdbc.properties");
try {
Class.forName(prop.getProperty("driverClassName"));
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
for (int i = 0; i < Integer.valueOf(prop.getProperty("initSize")); i++) {
Connection connection = createConnect();
connList.add(connection);
}
}
/**
* 获取连接
*
* @return
*/
public static Connection getConnect00() {
Connection connection = null;
if (connList.size() > 0) {
connection = connList.getFirst();
connList.removeFirst();
} else{
while(connList.size() < Integer.valueOf(prop.getProperty("maxSize"))){
connList.addLast(createConnect());
}
connection = getConnect00();
}
requestCount ++;
logger.info("requestCount : {}",requestCount);
logger.info("connList size : {}",connList.size());
return connection;
}
public static Connection getConnection() {
Connection connection = null;
if (connList.size() > 0) {
connection = connList.getFirst();
connList.removeFirst();
} else{
connList.addLast(createConnect());
connection = getConnection();
}
logger.info("requestCount : {}",++requestCount);
logger.info("connList size : {}",connList.size());
return connection;
}
/**
* 创建连接
*
* @return
*/
private static Connection createConnect() {
Connection conn = null;
try {
conn = DriverManager.getConnection(
prop.getProperty("url"),
prop.getProperty("username"),
prop.getProperty("password"));
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
/**
* 释放连接
*
* @param connection
*/
public static void releaseConnection(Connection connection) {
connList.addLast(connection);
}
/**
* 获取属性文件对象
*
* @param path
* @return
*/
private static Properties getProperties(String path) {
Properties properties = new Properties();
try {
InputStream inputStream = JdbcConnectPoolBak.class.getClassLoader().getResourceAsStream(path);
properties.load(inputStream);
inputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return properties;
}
}
...@@ -184,7 +184,7 @@ public class CheckServiceImpl implements CheckService { ...@@ -184,7 +184,7 @@ public class CheckServiceImpl implements CheckService {
return tblResultCheckUnique; return tblResultCheckUnique;
} }
try { try {
Connection conn = JdbcConnectPool.getConnect(); Connection conn = JdbcConnectPool.getConnection();
PreparedStatement ps = conn.prepareStatement(sql); PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
while (rs.next()) { while (rs.next()) {
...@@ -221,7 +221,7 @@ public class CheckServiceImpl implements CheckService { ...@@ -221,7 +221,7 @@ public class CheckServiceImpl implements CheckService {
return tblResultCheckUnblank; return tblResultCheckUnblank;
} }
try { try {
Connection conn = JdbcConnectPool.getConnect(); Connection conn = JdbcConnectPool.getConnection();
PreparedStatement ps = conn.prepareStatement(sql); PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
while (rs.next()) { while (rs.next()) {
...@@ -258,7 +258,7 @@ public class CheckServiceImpl implements CheckService { ...@@ -258,7 +258,7 @@ public class CheckServiceImpl implements CheckService {
return tblResultCheckRefer; return tblResultCheckRefer;
} }
try { try {
Connection conn = JdbcConnectPool.getConnect(); Connection conn = JdbcConnectPool.getConnection();
PreparedStatement ps = conn.prepareStatement(sql); PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
while (rs.next()) { while (rs.next()) {
......
...@@ -147,7 +147,7 @@ public class MonitorServiceImpl implements MonitorService { ...@@ -147,7 +147,7 @@ public class MonitorServiceImpl implements MonitorService {
return tblResultMonitorVolatility; return tblResultMonitorVolatility;
} }
try { try {
Connection conn = JdbcConnectPool.getConnect(); Connection conn = JdbcConnectPool.getConnection();
PreparedStatement ps = conn.prepareStatement(sql); PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
while (rs.next()) { while (rs.next()) {
...@@ -186,7 +186,7 @@ public class MonitorServiceImpl implements MonitorService { ...@@ -186,7 +186,7 @@ public class MonitorServiceImpl implements MonitorService {
return tblResultMonitorSpecial; return tblResultMonitorSpecial;
} }
try { try {
Connection conn = JdbcConnectPool.getConnect(); Connection conn = JdbcConnectPool.getConnection();
PreparedStatement ps = conn.prepareStatement(sql); PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
while (rs.next()) { while (rs.next()) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment