【发布时间】:2018-05-29 20:25:11
【问题描述】:
基本上我的问题是我正在尝试将连接池合并到我的应用程序中。在我的数据库连接类中,我们为池属性设置了所有不同的属性。
public static Connection getConnection() {
try {
PoolProperties poolProperties = new PoolProperties();
String url = prop.getUrl();
String drivername = prop.getDriverClassName();
String username = prop.getUsername();
String password = prop.getPassword();
conn = DriverManager.getConnection(url, username, password);
poolProperties.setUrl(url);
poolProperties.setDriverClassName(drivername);
poolProperties.setUsername(username);
poolProperties.setPassword(password);
poolProperties.setMaxActive(MAX_ACTIVE);
poolProperties.setMaxIdle(MAX_IDLE);
poolProperties.setMinIdle(MIN_IDLE);
poolProperties.setInitialSize(MIN_POOL_SIZE);
poolProperties.setMaxWait(MAX_WAIT);
poolProperties.setRemoveAbandonedTimeout(REMOVE_ABANDONED_TIMEOUT);
poolProperties.setMinEvictableIdleTimeMillis(MIN_EVICTABLE_IDLE_TIMEMILLIS);
poolProperties.setValidationQuery(Validation_Query);
poolProperties.setValidationInterval(VALIDATION_INTERVAL);
poolProperties.setTimeBetweenEvictionRunsMillis(TIME_BETWEEN_EVICTION_RUNS_MILLTS);
DataSource datasource = new org.apache.tomcat.jdbc.pool.DataSource();
((org.apache.tomcat.jdbc.pool.DataSource) datasource).setPoolProperties(poolProperties);
datasource.createPool();
logger.info("The connection is from" + prop.getDriverClassName());
当我们在 SOAP UI 上运行它时,它仍然会从我们的数据库中返回我们想要的信息。但是我仍然收到如下错误控制台
java.sql.SQLException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:254)
at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:702)
at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:634)
at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:488)
at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:144)
at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116)
at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103)
我不太确定问题到底出在哪里。我认为连接池与驱动连接不成功
【问题讨论】:
-
您的应用程序是否在 tomcat 中运行?
标签: java database spring connection connection-pooling