[英]JDBC Connection issue on embedded tomcat
在我的Spring Boot应用程序中,我正在使用org.apache.tomcat.jdbc.pool.DataSource创建一个数据源。 我正在使用嵌入式tomcat。 以下是我设置的一些属性
myDS.setDriverClassName(driverClassName);
myDS.setUrl(databaseURL);
myDS.setUsername(databaseUserId);
myDS.setTestWhileIdle(false);
myDS.setTestOnBorrow(true);
myDS.setValidationQuery("SELECT 1");
myDS.setTestOnReturn(false);
myDS.setValidationInterval(30000);
myDS.setTimeBetweenEvictionRunsMillis(30000);
myDS.setMaxActive(100);
myDS.setInitialSize(10);
myDS.setMaxWait(10000);
myDS.setRemoveAbandonedTimeout(60);
myDS.setMinEvictableIdleTimeMillis(30000);
myDS.setMinIdle(10);
myDS.setLogAbandoned(true);
myDS.setRemoveAbandoned(true);
我在两个以范围为原型的spring bean中使用此ds对象。 当我使用第一个使用第一个Spring bean应用程序的功能时,效果很好。 然后我打第二个功能,使用相同的ds对象,然后我得到以下错误
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Failed to validate a newly established connection.
在我的代码内部,我正在使用jdbcTemplate进行数据库操作。 我尝试使用销毁方法,但是没有用
@Bean(destroyMethod =“”)公共数据源appDS(){
请建议
由于我使用的是DB2数据库,因此我如下更改了验证查询,并且它开始工作
从sysibm.sysdummy1选择当前日期
注-对于相同的配置,嵌入式Tomcat和独立tomcat行为是不同的。 在独立的tomcat上,您不会因无效的验证查询而获得异常。 外部tomcat版本7
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.