Как установить размер пула соединений SQL Server - PullRequest
0 голосов
/ 09 февраля 2011

Я использую Hibernate с веб-приложением Java и хочу установить ограничение на размер пула соединений SQL Server 2005. Насколько я прочитал, я должен использовать строку подключения. Могу ли я указать его в hibernate.properties или в hibernate.cfg.xml? Есть ли обязательные поля или я могу просто указать Max Pool Size?

EDIT: Я хотел бы воспроизвести ошибку, пришедшую с рабочей машины:

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)

1 Ответ

1 голос
/ 09 февраля 2011

Если вы используете, например, 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>
...