jsp で接続プール操作を実行しています。MCE_Server.javaという特定のクラスに静的関数を作成し、以下を含めました。
public static void makeConnectionPool()
{
try
{
cpds = new ComboPooledDataSource();
cpds.setDriverClass("com.mysql.jdbc.Driver");
cpds.setJdbcUrl("jdbc:mysql://localhost:3306/mce_db");
cpds.setUser("root");
cpds.setPassword("xxxxxx");
cpds.setMaxPoolSize(100);
cpds.setMinPoolSize(10);
cpds.setAcquireIncrement(20);
}
catch (PropertyVetoException ex)
{
Logger.getLogger(MCE_Server.class.getName()).log(Level.SEVERE, null, ex);
}
}
次の静的関数はjspページから呼び出されます
http://................/dbActivatePage.jsp
関数を含めた場所
<%@page import="xxxxx.MCE_Server"%>
<html>
.
.
.
<body>
<%
MCE_Server.makeConnectionPool();
%>
.
.
.
</body>
</html>
次のように、 MCE_Server.javaに含まれる静的関数に従って、必要な接続を取得する予定です。
public static Connection getConnectionfromPool() throws SQLException
{
return cpds.getConnection();
}
つまり、接続を取得する必要があるときはいつでも。含めますMCE_Server.getConnectionfromPool()
。
今、私が抱えている問題は、エラーを受け取ることです
java.sql.SQLException: Connections could not be acquired from the underlying database!
なぜ私はこれを手に入れているのですか......???
さらに試行錯誤の方法で....コードの下のステートメント
cpds = new ComboPooledDataSource();
が実行されていることがわかりました。
では、ここで何が問題になるのでしょうか。私のアプローチは正しいですか?