繁体   English   中英

嵌入式tomcat上的JDBC连接问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM