이전에 여러 개의 연결 풀링 API를 사용했지만 그 자체로 뭔가를 할 시간이 있다고 생각했습니다. Iam은 현재 내가 구축 할 수있는 매우 기본적인 MySQL 연결 풀링 기능을 찾고 있습니다. 너희들이 내게 정직한 의견을 줄 수 있다면 정말로 감사하겠다! 사전에경량 자체 제작 Java MySQL 연결 풀링 - 작동합니까?
package temp.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class MySQL {
private static final String driver = "com.mysql.jdbc.Driver";
private static final String url = "jdbc:mysql://localhost:3306/beta";
private static final String username = "root";
private static final String password = "mypassword";
private static List<Connection> pool = new ArrayList<Connection>();
public static void setup() {
try {
for(int i = 0; i < 5; i++) {
Class.forName(driver);
Connection connection = DriverManager.getConnection(url, username, password);
pool.add(connection);
}
}
catch (ClassNotFoundException e) { e.printStackTrace(); }
catch (SQLException e) { e.printStackTrace(); }
}
public static void addConnection(Connection connection) {
pool.add(connection);
}
public static Connection getConnection() {
Connection connection = null;
if(pool.size() <= 0) return connection;
connection = pool.get(0); pool.remove(0);
return connection;
}
}
감사 :
여기에 코드입니다!
감사 Gemaken
연결 풀의 구현 몇 가지 중요한 문제가있다
연결 풀은 최소한 javax.sql.DataSource 인터페이스를 구현해야합니다 (풀을 사용하는 코드는 풀을 사용한다는 것을 모름). 실제로 직접 구현하지 않아야합니다. 정말로 그렇게한다면 C3P0 - http://sourceforge.net/projects/c3p0를보십시오 - 어느 것이 맞습니까? –
빠른 답장을 보내 주셔서 감사합니다! 그 점에 대해 살펴 보겠다.하지만 먼저, 사람들이 왜 그렇게 확신하는지, 사람들이 기존의 연결 풀링 API를 사용해야하는지, 제발 말해 줄 수 있습니까? – Gemaken
대다수의 경우 압연 - 자신의 일은 잘못된 행동입니다. C3P0와 같은 API는 1000 명의 사람들에 의해 사용되어 매우 잘 입증 된 강력한 구현입니다. –