有时,我需要在forEach中调用一个存储过程n次。这可以很好地工作,但有时当n太大时,我在连接池方面会遇到问题。特别的是,我得到了这个异常:
10:34:18,965 ERROR [it.eurobet.easy.service.admin.GroupServiceImpl] (default task-8) Could not get JDBC Connection; nested exception is java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/OracleDS: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/OracleDS如果我增加连接池的数量,我会解决这个问题,但我不认为这是更好的方法。我想(对于这种类型的操作)我需要一个连接池来执行所有存储过程。
有人能帮我吗?
谢谢
发布于 2018-04-04 17:49:07
您可以使用Spring jdbctemplate execute方法来调用存储过程。
代码实例:
getJdbcTemplate().execute(new ConnectionCallback() {
public Object doInConnection(Connection con) throws JMSException {
DataSource ds = new SingleConnectionDataSource(con);
MyStoredProcedure sp = new MyStoredProcedure(ds);
return null;
}
});Refer
另请检查here
https://stackoverflow.com/questions/49647245
复制相似问题