समस्या सत्रों में नहीं बल्कि कनेक्शन पूल में थी, सत्र जहां सही ढंग से प्रबंधित किया जा रहा था, लेकिन जेडीबीसी परत में कनेक्शन पूल कनेक्शन बंद नहीं कर रहा था।
ये वो चीज़ें हैं जो मैंने उन्हें ठीक करने के लिए कीं।
JDBC प्रसंग कॉन्फ़िगरेशन
1.- जेडीबीसी कनेक्शन फैक्ट्री को टॉमकैट की पुरानी बेसिकडाटासोर्स फैक्ट्री से टॉमकैट की नई डेटासोर्स फैक्ट्री में बदल दिया गया है
2.- इस लेख के आधार पर JDBC सेटिंग्स को ट्यून किया गया:https://www.tomcatexpert.com/blog/2010/04/01/configuring-jdbc-pool-high-concurrency
सत्र फ़ैक्टरी xml कॉन्फ़िगरेशन
3.- इस लाइन को सेशन फ़ैक्टरी कॉन्फ़िगरेशन से हटा दिया गया:
<prop key="hibernate.max_fetch_depth">1</prop>
मेरा कॉन्फ़िगरेशन इस प्रकार समाप्त हुआ:
JDBC प्रसंग कॉन्फ़िगरेशन
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/" override="true" reloadable="false" swallowOutput="false">
<Resource name="jdbc/catWDB" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
url="@example@sqldat.com"
username="@example@sqldat.com"
password="@example@sqldat.com"
maxActive="200"
maxIdle="50"
minIdle="10"
suspectTimeout="60"
timeBetweenEvictionRunsMillis="30000"
minEvictableIdleTimeMillis="60000"
validationQuery="select 1"
validationInterval="30000"
testOnBorrow="true"
removeAbandoned="true"
removeAbandonedTimeout="60"
abandonWhenPercentageFull="10"
maxWait="10000"
jdbcInterceptors="ResetAbandonedTimer;StatementFinalizer"
/>
</Context>
सत्र फ़ैक्टरी xml कॉन्फ़िगरेशन
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="configLocation" value="classpath:hibernate.cfg.xml" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.max_fetch_depth">3</prop>
</props>
</property>
</bean>