0
좋은 아침,C3P0 하나 개의 서버에 여러 데이터베이스
제목이 내가 같은 MySQL 서버에 서로 다른 데이터베이스에 연결하는 연결 풀을 사용하는 솔루션을 만들려는 말처럼. 나는 다음 포스트에 표시된 단계를 따라했습니다 :
https://stackoverflow.com/questions/26785842/multiple-data-sources-for-c3p0
내 솔루션은 이것이다 :
public class DatabaseUtility
{
public static ComboPooledDataSource getDataSource(String db, String user, String pass) throws PropertyVetoException
{
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setJdbcUrl("jdbc:mysql://X.X.X.X:3306/"+db);
cpds.setUser(user);
cpds.setPassword(pass);
// Optional Settings
cpds.setInitialPoolSize(5);
cpds.setMinPoolSize(5);
cpds.setAcquireIncrement(5);
cpds.setMaxPoolSize(20);
cpds.setMaxStatements(100);
return cpds;
}
public static void main(String[] args) throws SQLException
{
Connection connection = null;
PreparedStatement pstmt = null;
ResultSet resultSet = null;
try
{
//QUERY to DATABASE 1
ComboPooledDataSource dataSource = DatabaseUtility.getDataSource("bd1", "user1", "pass1");
connection = dataSource.getConnection();
pstmt = connection.prepareStatement("SELECT * FROM municipio");
System.out.println("The Connection Object is of Class: " + connection.getClass());
resultSet = pstmt.executeQuery();
while (resultSet.next())
{
System.out.println(resultSet.getString(1) + "," + resultSet.getString(2) + "," + resultSet.getString(3));
}
//QUERY to DATABASE 2
dataSource = DatabaseUtility.getDataSource("bd2", "user2", "pass2");
connection = dataSource.getConnection();
pstmt = connection.prepareStatement("SELECT * FROM alojamiento");
System.out.println("The Connection Object is of Class: " + connection.getClass());
resultSet = pstmt.executeQuery();
while (resultSet.next())
{
System.out.println(resultSet.getString(1) + "," + resultSet.getString(2) + "," + resultSet.getString(3));
}
}
catch (Exception e)
{
connection.rollback();
e.printStackTrace();
}
}
}
나는 데이터베이스에 연결할 때마다, 나는 특정 연결 문자열을 가진 생성자를 호출합니다. 이 효율적인 솔루션의 경우
는 그러나, 나는 의심을 가지고, 아니면 ...
P.S.을 뭔가 잘못하고있는 중이 야 Spring없이 프로젝트를 사용하고 있습니다.
나는 사전에
인사를 감사하여 조언을 부탁드립니다.
내가 필요한 것입니다. 정말 고마워요! 나는 그것을 시도하고 완벽하게 작동합니다! –