Hibernate将空连接传递给doReturningWork

时间:2017-05-15 13:31:49

标签: java hibernate tomcat

在这个执行方法

中,间歇性的hibernate传递了一个空连接
return session.doReturningWork(new ReturningWork<MyIterator<MyVO>>() {

@Override
MyIterator<MyVO> execute(Connection connection) throws SQLException {
    PreparedStatement ps = null;
    String preparedSql = "EXEC MyDB.dbo.MySP ?, ?"; 
    ps = connection.prepareStatement(preparedSql); // <-- NPE !

该应用程序在tomcat中运行,并通过防火墙与打开到SQL Server的端口连接。

知道为什么会这样 - 这是我的连接池配置

<Resource name="xxx"
auth="Container"
type="javax.sql.DataSource"
username="username"
password="password"                        
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
maxActive="200"
maxIdle="0"
maxWait="1000"
initialSize="1"
minIdle="0"
minEvictableIdleTimeMillis="300000"
url="jdbc:sqlserver://IP\INST\databasename"
SelectMethod="cursor"
validationQuery="select 1"
testOnBorrow="true"
logAbandoned="true"
removeAbandoned="true"
removeAbandonedTimeout="600"/>

0 个答案:

没有答案