我正在使用Hibernate
和Java
网络应用程序,我想将限制设置为SQL Server 2005
连接池大小。据我所知,我必须使用连接字符串。
我可以在hibernate.properties
或hibernate.cfg.xml
中指定吗?
是否有必填字段,或者我可以指定Max Pool Size
?
修改 我想重现一个来自生产机器的错误:
2011-02-07 17:52:00,282 ERROR [STDERR] [WARN] JDBCExceptionReporter - SQL Error: 0, SQLState: 08S01
2011-02-07 17:52:00,282 ERROR [STDERR] [ERROR] JDBCExceptionReporter - I/O Error: Connection reset by peer: socket write error
2011-02-07 17:52:00,282 ERROR [STDERR] [ERROR] JDBCTransaction - JDBC rollback failed <java.sql.SQLException: Invalid state, the Connection object is closed.>java.sql.SQLException: Invalid state, the Connection object is closed.
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.checkOpen(ConnectionJDBC2.java:1634)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.rollback(ConnectionJDBC2.java:2027)
at org.hibernate.transaction.JDBCTransaction.rollbackAndResetAutoCommit(JDBCTransaction.java:183)
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:162)
答案 0 :(得分:1)
如果您使用例如c3p0,则可以按maxPoolSize
属性配置池大小,例如:
<bean id="datasource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="...." />
<property name="jdbcUrl" value="..."/>
<property name="maxPoolSize" value="..." />
</bean>